We have upgraded the community system as part of the upgrade a password reset is required for all users before login in.

mjpg_streamer would like to capture stills on SD card



  • I have a streaming webcam using an old logitec webcam and mjpg_streamer -i "input_uvc.so -d /dev/video0 -y" -o "output_http.so -p 8080 -w /www/webcam/". Works fine. I'd like to capture stills to my SD card. Researching the mjpg_streamer parameters, it appeared that mjpg_streamer -i "input_uvc.so -d /dev/video0 -y" -o "output_file.so -f /tmp/mounts/SD-P1/pics -d 5000" would capture a file for me every 5 seconds. However, the opkg build installation did not include (or else I can not file) output_file.so. Anyone know how to build this plug in for mjpg_streamer on the onion?



  • @Brad-Hontz I compiled mjpg_streamer with most of the stuff enabled, grab it at https://dl.dropboxusercontent.com/u/11811685/omega2-stuff/mjpg-streamer_r182-8_mipsel_24kc.ipk and try, if it works for you.



  • @WereCatf said in mjpg_streamer would like to capture stills on SD card:

    https://dl.dropboxusercontent.com/u/11811685/omega2-stuff/mjpg-streamer_r182-8_mipsel_24kc.ipk

    Thanks for the quick reply. I rsync the ipkg to my onion and attempted opkg install:
    root@Omega-0000:/www/webcam# opkg install mjpg-streamer_r182-8_mipsel_24kc.ipk
    Installing mjpg-streamer (r182-8) to root...
    Collected errors:

    • opkg_install_pkg: Package mjpg-streamer sha256sum mismatch. Either the opkg or the package index are corrupt. Try 'opkg update'.
    • opkg_install_cmd: Cannot install package mjpg-streamer.

    I tried opkg update and then repeated but received the same. Could likely be doing something wrong here (grommet level) so happy to take on the help. Thanks in advance.



  • I was wanting to do the same thing, but then FTP the file to my webserver online for a weathercam link.

    Getting the same error as well.



  • May also want to try the LEDE version of the mjpg streamer doing a forced install over the onion version.



  • @Brad-Hontz @Brad-Buskey @WereCatf

    Has anyone found the output_file.so?

    I wish to capture a images based on a hardware trigger and ftp/email/scp/curl/wsend to a remote server.

    I notice that the streamer, once launched, does not return you to the ssh prompt. Does that mean that, if you called it in a script (or python or ruby or..) it would simply get stuck there? I know I can connect using a second ssh connection and from there do a wget http://xxx.xxx.xxx.xxx:8080/?action=snapshot -o logFile and then examine the log file to find the image name (typically seems to be called index.html?action=snapshot), rename it to a more useful name (e.g. myImage.jpg) and email that. I suppose a second script could be written, and launched via a second ssh session, to do the action=snapshot based on the hardware trigger but this seems rather clunky.

    Have you guys come up with something yet?



  • @Jo-Kritzinger The package I gave above includes output_file.so:

    opkg remove mjpg-streamer
    cd /tmp
    wget https://dl.dropboxusercontent.com/u/11811685/omega2-stuff/mjpg-streamer_r182-8_mipsel_24kc.ipk
    opkg install mjpg-streamer_r182-8_mipsel_24kc.ipk --force-checksum
    

    Just ignore the complaint about checksum-error, it won't match any of the packages you have in the repos, since it comes from my own repo.

    Also, you can fork mjpeg_streamer into background by adding -b to the list of parameters you give to it. Just for future reference, it's sometimes helpful to check what parameters an app supports by calling it with --help...



  • @WereCatf Thanks for the response, however, I get an error:

    opkg install mjpg-streamer_r182-8_mipsel_24kc.ipk --force-checksum
    Installing mjpg-streamer (r182-8) to root...
    Ignored mjpg-streamer sha256sum mismatch.
    Collected errors:

    • satisfy_dependencies_for: Cannot satisfy the following dependencies for mjpg-streamer:
    • libv4l *
    • opkg_install_cmd: Cannot install package jpg-streamer.


  • @Jo-Kritzinger libv4l is available from the LEDE-repos.



  • @WereCatf thanks. Did not see it in opkg. New to this world. I believe it is retrievable using rsync? Would appreciate a pointer in the right direction.



  • @Jo-Kritzinger Add src/gz reboot_packages http://downloads.lede-project.org/snapshots/packages/mips_24kc/packages to /etc/opkg/distfeeds.conf and do opkg update



  • @WereCatf awesome, thanks. Will try.



  • @WereCatf Tried and I get 100's of lines similar to this:

    Package zope-interface version 4.3.2-1 has no valid architecture, ignoring.
    Package zsh version 5.2-1 has no valid architecture, ignoring.

    Then it ends with:
    Trace/breakpoint trap



  • @Jo-Kritzinger You must have done something wrong, it definitely shouldn't spit out such things. Are you sure you didn't typo anything?



  • @WereCatf
    Modified distfieeds:
    root@Omega-xxxx:~# cat /etc/opkg/distfeeds.conf
    RESULT

    #src/gz reboot_base http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/base
    #src/gz reboot_onion http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/onion
    # src/gz reboot_luci http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/luci
    # src/gz reboot_packages http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/packages
    # src/gz reboot_routing http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/routing
    # src/gz reboot_telephony http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/telephony
    src/gz omega2_core http://repo.onion.io/omega2/packages/core
    src/gz omega2_base http://repo.onion.io/omega2/packages/base
    src/gz omega2_packages http://repo.onion.io/omega2/packages/packages
    src/gz omega2_onion http://repo.onion.io/omega2/packages/onion
    src/gz reboot_packages http://downloads.lede-project.org/snapshots/packages/mips_24kc/packages
    

    Then I rand the update:::
    /etc/opkg# opkg update
    RESULT:

    Updated list of available packages in /var/opkg-lists/omega2_core
    Downloading http://repo.onion.io/omega2/packages/core/Packages.sig
    Signature check passed.
    Downloading http://repo.onion.io/omega2/packages/base/Packages.gz
    Updated list of available packages in /var/opkg-lists/omega2_base
    Downloading http://repo.onion.io/omega2/packages/base/Packages.sig
    Signature check passed.
    Downloading http://repo.onion.io/omega2/packages/packages/Packages.gz
    Updated list of available packages in /var/opkg-lists/omega2_packages
    Downloading http://repo.onion.io/omega2/packages/packages/Packages.sig
    Signature check passed.
    Downloading http://repo.onion.io/omega2/packages/onion/Packages.gz
    Updated list of available packages in /var/opkg-lists/omega2_onion
    Downloading http://repo.onion.io/omega2/packages/onion/Packages.sig
    Signature check passed.
    Downloading http://downloads.lede-project.org/snapshots/packages/mips_24kc/packages/Packages.gz
    Updated list of available packages in /var/opkg-lists/reboot_packages
    Downloading http://downloads.lede-project.org/snapshots/packages/mips_24kc/packages/Packages.sig
    Signature check passed.
    

    This is how I installed:
    opkg install mjpg-streamer_r182-8_mipsel_24kc.ipk --force-checksum
    That gave all the weird results



  • @Jo-Kritzinger Oh, right, it was my own mistake. It should be src/gz reboot_packages http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/packages not src/gz reboot_packages http://downloads.lede-project.org/snapshots/packages/mips_24kc/packages -- just change mips to mipsel.



  • @WereCatf OK, tried. Still an issue. I modified the line added to disftfeeds to reflect mipsel and ran the opkg update. Still got 100's of these type of messages

    Package zoneinfo-southamerica version 2016j-1 has no valid architecture, ignoring.
    Package zope-interface version 4.3.2-1 has no valid architecture, ignoring.
    Package zsh version 5.2-1 has no valid architecture, ignoring.
    

    but it ended with

    Updated list of available packages in /var/opkg-lists/omega2_core
    Downloading http://repo.onion.io/omega2/packages/core/Packages.sig
    Signature check passed.
    Downloading http://repo.onion.io/omega2/packages/base/Packages.gz
    Updated list of available packages in /var/opkg-lists/omega2_base
    Downloading http://repo.onion.io/omega2/packages/base/Packages.sig
    Signature check passed.
    Downloading http://repo.onion.io/omega2/packages/packages/Packages.gz
    Updated list of available packages in /var/opkg-lists/omega2_packages
    Downloading http://repo.onion.io/omega2/packages/packages/Packages.sig
    Signature check passed.
    Downloading http://repo.onion.io/omega2/packages/onion/Packages.gz
    Updated list of available packages in /var/opkg-lists/omega2_onion
    Downloading http://repo.onion.io/omega2/packages/onion/Packages.sig
    Signature check passed.
    Downloading http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/packages/Packages.gz
    Updated list of available packages in /var/opkg-lists/reboot_packages
    Downloading http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/packages/Packages.sig
    Signature check passed.
    

    Then
    opkg install mjpg-streamer_r182-8_mipsel_24kc.ipk --force-checksum
    That resulted in
    Illegal instruction

    Time for a factory reset?



  • @WereCatf OK! Downloaded and installed following a reboot of the Omega. Seems the Omega was in an odd state.



  • This post is deleted!


  • @Jo-Kritzinger By the by, once you have launched mjpg_stream, is there a neat way of stopping it or is it just Ctrl-C that results in

    setting signal to stop
     i: cleaning up ressources allocated by input thread
    force cancellation of threads and cleanup resources
    Segmentation fault
    


Looks like your connection to Community was lost, please wait while we try to reconnect.