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 不会产生任何结果、但流到文件在 imx219上工作

Guru**** 2482225 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1451012/sk-am62a-lp-udpsink-does-not-produce-anything-but-stream-to-file-works-on-imx219

器件型号:SK-AM62A-LP

工具与软件:

尊敬的 TI 支持部门:

我们正在尝试 在 edgeai 映像(SDK 10)上流式传输 IMX219、但它似乎无法通过 UDP 接收器工作。

以下是我们尝试过的方法以及有效的方法:

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             :

录制到文件(工作)、可通过 VLC、ffplay 等播放

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 正在运行(如下所示)、但它不能在任何播放器(如 VLC、ffplay、gstreamer)中播放。 VLC 对于 gstreamer 而言不会呈现任何内容、也不会显示相同内容。 Wireshark 显示一些数据正在流动。 我已尝试使用/dev/video3和/dev/video-imx219-cam0、结果相同。

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 !!!

您能帮助我们吗?

谢谢!

RO

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ro、

    我们已在 AM62A EVM 和 Linux 主机 PC 上测试了以下功能。

    1.在 Linux PC 上运行此文件:

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

    2.在 EVM 上运行此示例、这个示例与您的示例非常接近、但有一些细微的差异:

    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>
    

    使用 video3和 video-imx219-cam0 是相同的。

    此致、

    建中