ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Frame size mismatch: got 43200 bytes from pipe, expected 38528

    Ask your questions right here!
    2
    3
    472
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • 黄充黄
      黄充
      last edited by

      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!

      Alex KushleyevA 1 Reply Last reply Reply Quote 0
      • Alex KushleyevA
        Alex Kushleyev ModalAI Team @黄充
        last edited by

        @黄充 , 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.

        https://gitlab.com/voxl-public/voxl-sdk/services/voxl-camera-server/-/blob/dev/src/hal3_camera_mgr.cpp?ref_type=heads#L3576

        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

        Alex KushleyevA 1 Reply Last reply Reply Quote 0
        • Alex KushleyevA
          Alex Kushleyev ModalAI Team @Alex Kushleyev
          last edited by

          I just made a fix on a branch, but did not test it:

          https://gitlab.com/voxl-public/voxl-sdk/services/voxl-camera-server/-/commit/43aa51a43c339e008b86d637b87cb22d9c369588

          If you are able to test the fix, please give it a try and let me know if it works!

          Thanks!

          Alex

          1 Reply Last reply Reply Quote 0
          • Alex KushleyevA Alex Kushleyev referenced this topic on
          • First post
            Last post
          Powered by NodeBB | Contributors