Frame size mismatch: got 43200 bytes from pipe, expected 38528
-
Hi, I want to record tof_depth/hires_large_color data simultaneously without using ROS.
When I try to record tof_depth data in this way::
First, I launch voxl-stream for tof_depth:
voxl-camera-server voxl-streamer -i tof_depth -p 8901
Then I use ffmpeg to write the stream
ffmpeg -i rtsp://192.168.1.16:8901/live \ -f rawvideo -pix_fmt gray \ -s 224x172 -r 10 \ output.raw
I run into error in two terminals:
$ voxl-streamer -i tof_depth -p 8901 Waiting for pipe tof_depth to appear Found Pipe detected following stats from pipe: w: 224 h: 172 fps: 10 format: RAW8 Stream available at rtsp://127.0.0.1:8901/live A new client rtsp://192.168.1.2:55293(null) has connected, total clients: 1 Camera server Connected ERROR: Frame size mismatch: got 43200 bytes from pipe, expected 38528 ERROR: Most Likely the publisher of the camera data made a mistake ERROR: Shutting down voxl-streamer Trying to quit g main loop due to program shutdown cleaning up gstreamer Exited Cleanly
[in#0 @ 0x6000014d0000] Error opening input: Invalid data found when processing input Error opening input file rtsp://192.168.1.16:8901/live. Error opening input files: Invalid data found when processing input
Any idea? Is there a better way to record tof_depth/hires_large_color stream simultaneously? Thank you!
-
@黄充 , I think you found a small bug. We have two versions of TOF sensors:
- TOF V1 (which is EOL) with resolution 224x172 = 38528
- TOF V2 (which is what you probably have) with resolution 240x180 = 43200
As you can see in the source code, the json metadata for the pipe is initialized with w=224 and h=172, and it is never updated for the new TOF sensor.
voxl-streamer reads the information from pipe metadata and thinks the image size will be 224x172 and when receives the actual data, detects a mismatch.
If you are able to re-build the camera server with changing the resolution in
UpdatePipeJson
, i think this will work for you. We will fix this as well.Thank you
Alex
-
I just made a fix on a branch, but did not test it:
If you are able to test the fix, please give it a try and let me know if it works!
Thanks!
Alex