This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SK-AM62A-LP: udpsink does not produce anything, but stream to file works on imx219

Part Number: SK-AM62A-LP

Tool/software:

Dear TI support,

we are trying to stream IMX219 on edgeai image (sdk 10), but it does not seem to work over udp sink.

Here's what we have tried and what is working:

o@o-MPB ~ % ssh root@192.168.68.194
IMX219 Camera 0 detected
    device = /dev/video-imx219-cam0
    name = imx219
    format = [fmt:SRGGB8_1X8/1920x1080]
    subdev_id = /dev/v4l-imx219-subdev0
    isp_required = yes
root@am62axx-evm:/opt/edgeai-gst-apps# v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=RGGB -d /dev/video3
root@am62axx-evm:/opt/edgeai-gst-apps# v4l2-ctl --get-fmt-video -d /dev/video3
Format Video Capture:
  Width/Height      : 1920/1080
  Pixel Format      : 'RGGB' (8-bit Bayer RGRG/GBGB)
  Field             : None
  Bytes per Line    : 1920
  Size Image        : 2073600
  Colorspace        : Default
  Transfer Function : Default (maps to Rec. 709)
  YCbCr/HSV Encoding: Default (maps to ITU-R 601)
  Quantization      : Default (maps to Full Range)
  Flags             :

Recording to file (working), is possible to play via VLC, ffplay, etc.

root@am62axx-evm:/opt/edgeai-gst-apps#  gst-launch-1.0 v4l2src device=/dev/video3 io-mode=dmabuf-import ! video/x-bayer,width=1920,height=1080,format=rggb  ! tiovxisp sink_0::device=/dev/v4l-subdev2 sensor-name="SENSOR_SONY_IMX219_RPI" dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_1920x1080.bin sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_1920x1080.bin ! video/x-raw,format=NV12 ! v4l2h264enc ! filesink location=test.h264 sync=true
APP: Init ... !!!
 10373.022162 s: MEM: Init ... !!!
 10373.022212 s: MEM: Initialized DMA HEAP (fd=8) !!!
 10373.022340 s: MEM: Init ... Done !!!
 10373.022354 s: IPC: Init ... !!!
 10373.039780 s: IPC: Init ... Done !!!
REMOTE_SERVICE: Init ... !!!
REMOTE_SERVICE: Init ... Done !!!
 10373.043856 s: GTC Frequency = 200 MHz
APP: Init ... Done !!!
 10373.043972 s:  VX_ZONE_INIT:Enabled
 10373.043996 s:  VX_ZONE_ERROR:Enabled
 10373.044004 s:  VX_ZONE_WARNING:Enabled
 10373.044832 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target MPU-0
 10373.045129 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target MPU-1
 10373.045399 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target MPU-2
 10373.045677 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target MPU-3
 10373.045705 s:  VX_ZONE_INIT:[tivxInitLocal:136] Initialization Done !!!
 10373.046216 s:  VX_ZONE_INIT:[tivxHostInitLocal:106] Initialization Done for HOST !!!
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
Redistribute latency...
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:01.897860318
Setting pipeline to NULL ...
Freeing pipeline ...
 10375.045274 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:120] De-Initialization Done for HOST !!!
 10375.049752 s:  VX_ZONE_INIT:[tivxDeInitLocal:206] De-Initialization Done !!!
APP: Deinit ... !!!
REMOTE_SERVICE: Deinit ... !!!
REMOTE_SERVICE: Deinit ... Done !!!
 10375.050219 s: IPC: Deinit ... !!!
 10375.050694 s: IPC: DeInit ... Done !!!
 10375.050736 s: MEM: Deinit ... !!!
 10375.050828 s: DDR_SHARED_MEM: Alloc's: 25 alloc's of 24308555 bytes
 10375.050851 s: DDR_SHARED_MEM: Free's : 25 free's  of 24308555 bytes
 10375.050869 s: DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes
 10375.050882 s: MEM: Deinit ... Done !!!
APP: Deinit ... Done !!!

UDPSink is running (below), but it cannot be played in any player such as VLC, ffplay, gstreamer. VLC does not render anything, nor ffplay, the same for gstreamer. Wireshark shows some data are flowing. I tried using both /dev/video3 and /dev/video-imx219-cam0, same results.

root@am62axx-evm:/opt/edgeai-gst-apps# gst-launch-1.0 v4l2src device=/dev/video3 io-mode=dmabuf-import ! video/x-bayer,width=1920,height=1080,format=rggb ! tiovxisp sink_0::device=/dev/v4l-subdev2 sensor-name="SENSOR_SONY_IMX219_RPI" dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_1920x1080.bin sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_1920x1080.bin ! video/x-raw,format=NV12 ! v4l2h264enc ! rtph264pay config-interval=1 pt=96 ! udpsink port=5005 host=192.168.68.133
APP: Init ... !!!
 10450.166249 s: MEM: Init ... !!!
 10450.166300 s: MEM: Initialized DMA HEAP (fd=8) !!!
 10450.166569 s: MEM: Init ... Done !!!
 10450.166588 s: IPC: Init ... !!!
 10450.183693 s: IPC: Init ... Done !!!
REMOTE_SERVICE: Init ... !!!
REMOTE_SERVICE: Init ... Done !!!
 10450.187528 s: GTC Frequency = 200 MHz
APP: Init ... Done !!!
 10450.187661 s:  VX_ZONE_INIT:Enabled
 10450.187687 s:  VX_ZONE_ERROR:Enabled
 10450.187695 s:  VX_ZONE_WARNING:Enabled
 10450.188503 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target MPU-0
 10450.188760 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target MPU-1
 10450.188982 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target MPU-2
 10450.189238 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target MPU-3
 10450.189268 s:  VX_ZONE_INIT:[tivxInitLocal:136] Initialization Done !!!
 10450.190106 s:  VX_ZONE_INIT:[tivxHostInitLocal:106] Initialization Done for HOST !!!
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
Redistribute latency...
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:07.109077119
Setting pipeline to NULL ...
Freeing pipeline ...
 10457.397348 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:120] De-Initialization Done for HOST !!!
 10457.401838 s:  VX_ZONE_INIT:[tivxDeInitLocal:206] De-Initialization Done !!!
APP: Deinit ... !!!
REMOTE_SERVICE: Deinit ... !!!
REMOTE_SERVICE: Deinit ... Done !!!
 10457.402325 s: IPC: Deinit ... !!!
 10457.402774 s: IPC: DeInit ... Done !!!
 10457.402806 s: MEM: Deinit ... !!!
 10457.402900 s: DDR_SHARED_MEM: Alloc's: 25 alloc's of 24308555 bytes
 10457.402917 s: DDR_SHARED_MEM: Free's : 25 free's  of 24308555 bytes
 10457.402929 s: DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes
 10457.402943 s: MEM: Deinit ... Done !!!
APP: Deinit ... Done !!!

Can you please help us?

Thank you,

Ro

  • Hello Ro,

    We have tested the following on AM62A EVM and a Linux host PC.

    1. running this on Linux PC:

    gst-launch-1.0 -v udpsrc port=5000 ! 'application/x-rtp, encoding-name=H264, payload=96' ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink

    2. running this on EVM, which is pretty close to yours with some minor differences:

    gst-launch-1.0 v4l2src device=/dev/video3 io-mode=dmabuf-import ! \
    video/x-bayer,width=1920,height=1080,format=rggb ! \
    tiovxisp sink_0::device=/dev/v4l-subdev2 sensor-name="SENSOR_SONY_IMX219_RPI" \
    dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_1920x1080.bin \
    sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_1920x1080.bin format-msb=7 ! \
    video/x-raw,format=NV12, width=1920, height=1080 ! \
    v4l2h264enc ! rtph264pay ! udpsink port=5000 host=<Linux host PC IP address>
    

    Using video3 and video-imx219-cam0 are the same.

    Regards,

    Jianzhong