I've been using video_stream_opencv for retrieving video on a NVIDIA AGX Xavier Jetson from an IP camera, it works just perfectly.
Now I'm trying to set up a global clock for message syncronization on multiple machines using the timestamps on the messages. After some research, I found that you can set the use_sim_time parameter for nodes to listen to the /clock topic (more about this here). This way, all nodes should use the same time.
However, when using this method, the video_stream_opencv node doesn't publish anything. This is what the nodes outputs when running it:
process[hallway_cam/hallway_cam_stream-1]: started with pid [2892]
[ INFO] [1621502184.390573120]: Initializing nodelet with 8 worker threads.
[ INFO] [1621502184.761711424]: Camera name: hallway_cam
[ INFO] [1621502184.761863072]: Provided camera_info_url: ''
[ INFO] [1621502184.761924032]: Publishing with frame_id: hallway_cam
[ INFO] [1621502184.761973952]: Setting camera FPS to: 30
[ INFO] [1621502184.762024608]: Throttling to fps: 30
[ INFO] [1621502184.762195072]: Setting buffer size for capturing frames to: 100
[ INFO] [1621502184.762302464]: Flip horizontal image is: false
[ INFO] [1621502184.762405152]: Flip vertical image is: false
[ INFO] [1621502184.762487808]: Video start frame is: 0
[ INFO] [1621502184.762531744]: Video stop frame is: -1
[ INFO] [1621502185.304085152]: using default calibration URL
[ INFO] [1621502185.304503360]: camera calibration URL: file:///root/.ros/camera_info/hallway_cam.yaml
[ INFO] [1621502185.304866560]: Unable to open camera calibration file [/root/.ros/camera_info/hallway_cam.yaml]
[ WARN] [1621502185.305000832]: Camera calibration file /root/.ros/camera_info/hallway_cam.yaml not found.
[ INFO] [1621502185.305481248]: Opening VideoCapture with provider:
[ INFO] [1621502186.699953376]: Video stream provider type detected: rtsp_stream
[ INFO] [1621502186.700295424]: Camera reports FPS: 180000
Note that the output lines with the image dimensions are missing.
The node is launched with almost default params. This is my launch file:
The system is unaffected if the other nodes use simulation time, it's only this node's problem.
Please tell me if you need more information, and thank you very much.
Hello and thank you all beforehand,
I've been using
video_stream_opencv
for retrieving video on a NVIDIA AGX Xavier Jetson from an IP camera, it works just perfectly.Now I'm trying to set up a global clock for message syncronization on multiple machines using the timestamps on the messages. After some research, I found that you can set the
use_sim_time
parameter for nodes to listen to the/clock
topic (more about this here). This way, all nodes should use the same time.However, when using this method, the
video_stream_opencv
node doesn't publish anything. This is what the nodes outputs when running it:Note that the output lines with the image dimensions are missing.
The node is launched with almost default params. This is my launch file:
The system is unaffected if the other nodes use simulation time, it's only this node's problem.
Please tell me if you need more information, and thank you very much.