I use this package on my ARM device with usb video device. And ros version is kinetic on Ubuntu 16.04.
$ roslaunch video_stream_opencv camera.launch
... logging to /home/ros/.ros/log/ed042e50-65dc-11e7-b818-0242ac110002/roslaunch-4649243396b5-128.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://10.40.0.0:36986/
SUMMARY
========
PARAMETERS
* /camera/camera_stream/camera_info_url:
* /camera/camera_stream/camera_name: camera
* /camera/camera_stream/flip_horizontal: False
* /camera/camera_stream/flip_vertical: False
* /camera/camera_stream/fps: 30
* /camera/camera_stream/frame_id: camera
* /camera/camera_stream/height: 0
* /camera/camera_stream/video_stream_provider: 0
* /camera/camera_stream/width: 0
* /rosdistro: kinetic
* /rosversion: 1.12.7
NODES
/camera/
camera_stream (video_stream_opencv/video_stream)
ROS_MASTER_URI=http://10.32.0.1:11311
core service [/rosout] found
process[camera/camera_stream-1]: started with pid [137]
[ INFO] [1499741272.912546362]: Resource video_stream_provider: 0
[ INFO] [1499741272.922700947]: Getting video from provider: /dev/video0
[ INFO] [1499741273.120671036]: Camera name: camera
[ INFO] [1499741273.138510526]: Throttling to fps: 30
[ INFO] [1499741273.156993540]: Publishing with frame_id: camera
[ INFO] [1499741273.179787055]: Provided camera_info_url: ''
[ INFO] [1499741273.197188141]: Flip horizontal image is: false
[ INFO] [1499741273.217054989]: Flip vertical image is: false
[ INFO] [1499741273.243228908]: Opened the stream, starting to publish.
[ INFO] [1499741273.262241239]: using default calibration URL
[ INFO] [1499741273.270453463]: camera calibration URL: file:///home/ros/.ros/camera_info/camera.yaml
[ INFO] [1499741273.278792891]: Unable to open camera calibration file [/home/ros/.ros/camera_info/camera.yaml]
[ WARN] [1499741273.286748455]: Camera calibration file /home/ros/.ros/camera_info/camera.yaml not found.
select timeout
select timeout
OpenCV Error: Assertion failed (total() == 0 || data != NULL) in Mat, file /tmp/binarydeb/ros-kinetic-opencv3-3.2.0/modules/core/include/opencv2/core/mat.inl.hpp, line 431
terminate called after throwing an instance of 'cv::Exception'
what(): /tmp/binarydeb/ros-kinetic-opencv3-3.2.0/modules/core/include/opencv2/core/mat.inl.hpp:431: error: (-215) total() == 0 || data != NULL in function Mat
[camera/camera_stream-1] process has died [pid 137, exit code -6, cmd /opt/ros/kinetic/lib/video_stream_opencv/video_stream camera:=image_raw __name:=camera_stream __log:=/home/ros/.ros/log/ed042e50-65dc-11e7-b818-0242ac110002/camera-camera_stream-1.log].
log file: /home/ros/.ros/log/ed042e50-65dc-11e7-b818-0242ac110002/camera-camera_stream-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
Unhandled exception in thread started by
sys.excepthook is missing
lost sys.stderr
The following is the log.
[roslaunch][INFO] 2017-07-11 02:47:49,270: Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
[roslaunch][INFO] 2017-07-11 02:47:49,310: Done checking log file disk usage. Usage is <1GB.
[roslaunch][INFO] 2017-07-11 02:47:49,321: roslaunch starting with args ['/opt/ros/kinetic/bin/roslaunch', 'video_stream_opencv', 'camera.launch']
[roslaunch][INFO] 2017-07-11 02:47:49,323: roslaunch env is {'ROS_DISTRO': 'kinetic', 'ROSLISP_PACKAGE_DIRECTORIES': '', 'HOME': '/home/ros', 'PATH': '/opt/ros/kinetic/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'CMAKE_PREFIX_PATH': '/opt/ros/kinetic', 'LD_LIBRARY_PATH': '/opt/ros/kinetic/lib', 'LANG': 'en_US.UTF-8', 'TERM': 'xterm', 'SHLVL': '1', 'ROS_LOG_FILENAME': '/home/ros/.ros/log/ed042e50-65dc-11e7-b818-0242ac110002/roslaunch-4649243396b5-128.log', 'DEBIAN_FRONTEND': 'noninteractive', 'ROS_MASTER_URI': 'http://10.32.0.1:11311', 'PYTHONPATH': '/opt/ros/kinetic/lib/python2.7/dist-packages', 'ROS_ROOT': '/opt/ros/kinetic/share/ros', 'PKG_CONFIG_PATH': '/opt/ros/kinetic/lib/pkgconfig', 'ROS_PACKAGE_PATH': '/opt/ros/kinetic/share', '_': '/opt/ros/kinetic/bin/roslaunch', 'OLDPWD': '/home/ros/.ros', 'HOSTNAME': '4649243396b5', 'ROS_IP': '10.40.0.0', 'PWD': '/home/ros', 'ROS_ETC_DIR': '/opt/ros/kinetic/etc/ros', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:'}
[roslaunch][INFO] 2017-07-11 02:47:49,325: starting in server mode
[roslaunch.parent][INFO] 2017-07-11 02:47:49,333: starting roslaunch parent run
[roslaunch][INFO] 2017-07-11 02:47:49,337: loading roscore config file /opt/ros/kinetic/etc/ros/roscore.xml
[roslaunch][INFO] 2017-07-11 02:47:50,323: Added core node of type [rosout/rosout] in namespace [/]
[roslaunch.config][INFO] 2017-07-11 02:47:50,325: loading config file /opt/ros/kinetic/share/video_stream_opencv/launch/camera.launch
[roslaunch][INFO] 2017-07-11 02:47:50,367: Added node of type [video_stream_opencv/video_stream] in namespace [/camera/]
[roslaunch][INFO] 2017-07-11 02:47:50,370: ... selected machine [] for node of type [video_stream_opencv/video_stream]
[roslaunch.pmon][INFO] 2017-07-11 02:47:50,383: start_process_monitor: creating ProcessMonitor
[roslaunch.pmon][INFO] 2017-07-11 02:47:50,386: created process monitor <ProcessMonitor(ProcessMonitor-1, initial daemon)>
[roslaunch.pmon][INFO] 2017-07-11 02:47:50,389: start_process_monitor: ProcessMonitor started
[roslaunch.parent][INFO] 2017-07-11 02:47:50,390: starting parent XML-RPC server
[roslaunch.server][INFO] 2017-07-11 02:47:50,393: starting roslaunch XML-RPC server
[roslaunch.server][INFO] 2017-07-11 02:47:50,395: waiting for roslaunch XML-RPC server to initialize
[xmlrpc][INFO] 2017-07-11 02:47:50,398: XML-RPC server binding to 0.0.0.0:0
[xmlrpc][INFO] 2017-07-11 02:47:50,402: Started XML-RPC server [http://10.40.0.0:36986/]
[xmlrpc][INFO] 2017-07-11 02:47:50,405: xml rpc node: starting XML-RPC server
[roslaunch][INFO] 2017-07-11 02:47:50,423: started roslaunch server http://10.40.0.0:36986/
[roslaunch.parent][INFO] 2017-07-11 02:47:50,433: ... parent XML-RPC server started
[roslaunch][INFO] 2017-07-11 02:47:50,443: master.is_running[http://10.32.0.1:11311]
[roslaunch][INFO] 2017-07-11 02:47:50,462: master.is_running[http://10.32.0.1:11311]
[roslaunch][INFO] 2017-07-11 02:47:50,475: ROS_MASTER_URI=http://10.32.0.1:11311
[roslaunch][INFO] 2017-07-11 02:47:50,507: setting /roslaunch/uris/host_10_40_0_0__36986' to http://10.40.0.0:36986/
[roslaunch][INFO] 2017-07-11 02:47:50,536: load_parameters starting ...
[roslaunch][INFO] 2017-07-11 02:47:50,578: ... load_parameters complete
[roslaunch][INFO] 2017-07-11 02:47:50,580: launch_nodes: launching local nodes ...
[roslaunch][INFO] 2017-07-11 02:47:50,582: ... preparing to launch node of type [video_stream_opencv/video_stream]
[roslaunch][INFO] 2017-07-11 02:47:50,584: create_node_process: package[video_stream_opencv] type[video_stream] machine[Machine(name[] env_loader[None] address[localhost] ssh_port[22] user[None] assignable[True] timeout[10.0])] master_uri[http://10.32.0.1:11311]
[roslaunch][INFO] 2017-07-11 02:47:50,586: process[camera/camera_stream-1]: env[{'ROS_DISTRO': 'kinetic', 'ROS_IP': '10.40.0.0', 'HOME': '/home/ros', 'PATH': '/opt/ros/kinetic/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'CMAKE_PREFIX_PATH': '/opt/ros/kinetic', 'ROS_LOG_FILENAME': '/home/ros/.ros/log/ed042e50-65dc-11e7-b818-0242ac110002/roslaunch-4649243396b5-128.log', 'LANG': 'en_US.UTF-8', 'TERM': 'xterm', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/kinetic/lib', 'DEBIAN_FRONTEND': 'noninteractive', 'ROS_MASTER_URI': 'http://10.32.0.1:11311', 'PYTHONPATH': '/opt/ros/kinetic/lib/python2.7/dist-packages', 'ROS_ROOT': '/opt/ros/kinetic/share/ros', 'PKG_CONFIG_PATH': '/opt/ros/kinetic/lib/pkgconfig', 'ROS_PACKAGE_PATH': '/opt/ros/kinetic/share', 'ROS_NAMESPACE': u'/camera', '_': '/opt/ros/kinetic/bin/roslaunch', 'OLDPWD': '/home/ros/.ros', 'HOSTNAME': '4649243396b5', 'ROSLISP_PACKAGE_DIRECTORIES': '', 'PWD': '/home/ros', 'ROS_ETC_DIR': '/opt/ros/kinetic/etc/ros', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:'}]
[roslaunch][INFO] 2017-07-11 02:47:50,783: process[camera/camera_stream-1]: args[[u'/opt/ros/kinetic/lib/video_stream_opencv/video_stream', u'camera:=image_raw', u'__name:=camera_stream']]
[roslaunch][INFO] 2017-07-11 02:47:50,786: ... created process [camera/camera_stream-1]
[roslaunch.pmon][INFO] 2017-07-11 02:47:50,789: ProcessMonitor.register[camera/camera_stream-1]
[roslaunch.pmon][INFO] 2017-07-11 02:47:50,791: ProcessMonitor.register[camera/camera_stream-1] complete
[roslaunch][INFO] 2017-07-11 02:47:50,793: ... registered process [camera/camera_stream-1]
[roslaunch][INFO] 2017-07-11 02:47:50,794: process[camera/camera_stream-1]: starting os process
[roslaunch][INFO] 2017-07-11 02:47:50,797: process[camera/camera_stream-1]: start w/ args [[u'/opt/ros/kinetic/lib/video_stream_opencv/video_stream', u'camera:=image_raw', u'__name:=camera_stream', u'__log:=/home/ros/.ros/log/ed042e50-65dc-11e7-b818-0242ac110002/camera-camera_stream-1.log']]
[roslaunch][INFO] 2017-07-11 02:47:50,799: process[camera/camera_stream-1]: cwd will be [/home/ros/.ros]
[roslaunch][INFO] 2017-07-11 02:47:51,631: process[camera/camera_stream-1]: started with pid [137]
[roslaunch][INFO] 2017-07-11 02:47:51,655: ... successfully launched [camera/camera_stream-1]
[roslaunch][INFO] 2017-07-11 02:47:51,658: ... launch_nodes complete
[roslaunch.pmon][INFO] 2017-07-11 02:47:51,667: registrations completed <ProcessMonitor(ProcessMonitor-1, started daemon -1238371216)>
[roslaunch.parent][INFO] 2017-07-11 02:47:51,672: ... roslaunch parent running, waiting for process exit
[roslaunch][INFO] 2017-07-11 02:47:51,681: spin
[roslaunch][ERROR] 2017-07-11 02:48:13,707: [camera/camera_stream-1] process has died [pid 137, exit code -6, cmd /opt/ros/kinetic/lib/video_stream_opencv/video_stream camera:=image_raw __name:=camera_stream __log:=/home/ros/.ros/log/ed042e50-65dc-11e7-b818-0242ac110002/camera-camera_stream-1.log].
log file: /home/ros/.ros/log/ed042e50-65dc-11e7-b818-0242ac110002/camera-camera_stream-1*.log
[roslaunch.pmon][INFO] 2017-07-11 02:48:13,717: ProcessMonitor.unregister[camera/camera_stream-1] starting
[roslaunch.pmon][INFO] 2017-07-11 02:48:13,719: ProcessMonitor.unregister[camera/camera_stream-1] complete
[roslaunch][INFO] 2017-07-11 02:48:13,727: all processes on machine have died, roslaunch will exit
[roslaunch.pmon][INFO] 2017-07-11 02:48:13,836: ProcessMonitor._post_run <ProcessMonitor(ProcessMonitor-1, started daemon -1238371216)>
[roslaunch.pmon][INFO] 2017-07-11 02:48:13,839: ProcessMonitor._post_run <ProcessMonitor(ProcessMonitor-1, started daemon -1238371216)>: remaining procs are []
[roslaunch.pmon][INFO] 2017-07-11 02:48:13,858: ProcessMonitor exit: cleaning up data structures and signals
[roslaunch.pmon][INFO] 2017-07-11 02:48:13,860: ProcessMonitor exit: pmon has shutdown
[roslaunch][INFO] 2017-07-11 02:48:13,864: process monitor is done spinning, initiating full shutdown
[roslaunch][INFO] 2017-07-11 02:48:13,866: runner.stop()
[roslaunch][INFO] 2017-07-11 02:48:13,868: shutting down processing monitor...
[roslaunch][INFO] 2017-07-11 02:48:13,878: shutting down processing monitor <ProcessMonitor(ProcessMonitor-1, stopped daemon -1238371216)>
[roslaunch.pmon][INFO] 2017-07-11 02:48:13,882: ProcessMonitor.shutdown <ProcessMonitor(ProcessMonitor-1, stopped daemon -1238371216)>
[roslaunch][INFO] 2017-07-11 02:48:13,885: ... shutting down processing monitor complete
[roslaunch][INFO] 2017-07-11 02:48:13,893: done
[roslaunch.pmon][INFO] 2017-07-11 02:48:13,899: ProcessMonitor.shutdown <ProcessMonitor(ProcessMonitor-1, stopped daemon -1238371216)>
[rospy.core][INFO] 2017-07-11 02:48:13,905: signal_shutdown [atexit]
And I also tried this following command.
$ rosrun video_stream_opencv test_video_resource.py 0
Trying to open resource: /dev/video0
Correctly opened resource, starting to show feed.
select timeout
select timeout
OpenCV Error: Assertion failed (total() == 0 || data != NULL) in Mat, file /tmp/binarydeb/ros-kinetic-opencv3-3.2.0/modules/core/include/opencv2/core/mat.inl.hpp, line 431
Traceback (most recent call last):
File "/opt/ros/kinetic/lib/video_stream_opencv/test_video_resource.py", line 43, in <module>
rval, frame = cap.read()
cv2.error: /tmp/binarydeb/ros-kinetic-opencv3-3.2.0/modules/core/include/opencv2/core/mat.inl.hpp:431: error: (-215) total() == 0 || data != NULL in function Mat