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.

[参考译文] AM62A7:v4l2h264enc0:失败"可能是由于内存不足或驱动程序失败"

Guru**** 2535150 points
Other Parts Discussed in Thread: AM62A7

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1565689/am62a7-v4l2h264enc0-failing-with-maybe-be-due-to-not-enough-memory-or-failing-driver

器件型号:AM62A7


工具/软件:

我们有机会进行 AM62A7 设计、它涉及在 imx462 摄像头上执行编码(与 imx290 非常相似)。

我们在边缘 AI SDK 10.0 上运行了一项设置、其中包含 imx290.c 补丁、可支持 imx462。

我能够使用以下流水线将传感器数据流式传输到连接的 HDMI 显示器:

gst-launch-1.0 -v v4l2src device=/dev/video3 io-mode=dmabuf-import ! \
  video/x-bayer, width=1920, height=1080, framerate=60/1, format=rggb10 ! \
  tiovxisp sink_0::device=/dev/v4l-subdev2 sensor-name="SENSOR_SONY_IMX219_RPI" \
  dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_10b.bin sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_10b.bin format-msb=9 ! \
  video/x-raw, format=NV12, width=1920, height=1080, framerate=60/1 ! fpsdisplaysink name=fpssink text-overlay=false video-sink="kmssink driver-name=tidss"

现在我们正在尝试运行编码以远程流式传输(或传输到文件)、但我们使用的基于 SDK 文档的命令(如下所示)失败:

root@mitysom-am62ax:~# gst-launch-1.0 v4l2src device=/dev/video3 io-mode=dmabuf-import ! \
  video/x-bayer,width=1920,height=1080, framerate=30/1, format=rggb10 ! \
  tiovxisp sensor-name=SENSOR_SONY_IMX219_RPI \
     dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss.bin \
     sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a.bin \
     sink_0::device=/dev/v4l-subdev2 format-msb=9 ! \
  video/x-raw,format=NV12 ! \
  v4l2h264enc output-io-mode=dmabuf-import ! \
  udpsink port=8081 host=10.0.103.185
APP: Init ... !!!
256986.587068 s: MEM: Init ... !!!
256986.587142 s: MEM: Initialized DMA HEAP (fd=9) !!!
256986.587316 s: MEM: Init ... Done !!!
256986.587331 s: IPC: Init ... !!!
256986.607655 s: IPC: Init ... Done !!!
REMOTE_SERVICE: Init ... !!!
REMOTE_SERVICE: Init ... Done !!!
256986.613127 s: GTC Frequency = 200 MHz
APP: Init ... Done !!!
256986.613277 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_ERROR
256986.613293 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_WARNING
256986.613305 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_INFO
256986.614699 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-0
256986.615101 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-1
256986.615452 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-2
256986.615800 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-3
256986.615852 s:  VX_ZONE_INFO: [tivxInitLocal:126] Initialization Done !!!
256986.615866 s:  VX_ZONE_INFO: Globally Disabled VX_ZONE_INFO
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipelin[ 5630.968268] imx290 1-001a: imx290_start_streaming
e is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
[ 5631.117923] imx290 1-001a: imx290_start_streaming : 0
Redistribute latency...
ERROR: from element /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0: Failed to process frame.
Additional debug info:
/usr/src/debug/gstreamer1.0-plugins-good/1.22.12/sys/v4l2/gstv4l2videoenc.c(901): gst_v4l2_video_enc_handle_frame (): /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0:
Maybe be due to not enough memory or failing driver
Execution ended after 0:00:00.238726669
Setting pipeline to NULL ...
Freeing pipeline ...
256986.998696 s:  VX_ZONE_WARNING: [vxReleaseContext:1275] Found a reference 0xffff800ce340 of type 0000080f at external count 1, internal count 0, releasing it
256986.998751 s:  VX_ZONE_WARNING: [vxReleaseContext:1277] Releasing reference (name=image_104) now as a part of garbage collection
256986.998777 s:  VX_ZONE_WARNING: [vxReleaseContext:1275] Found a reference 0xffff8014bcf0 of type 00000813 at external count 1, internal count 0, releasing it
256986.998792 s:  VX_ZONE_WARNING: [vxReleaseContext:1277] Releasing reference (name=object_array_106) now as a part of garbage collection
256986.999170 s:  VX_ZONE_WARNING: [vxReleaseContext:1275] Found a reference 0xffff8014bea0 of type 00000813 at external count 1, internal count 0, releasing it
256986.999187 s:  VX_ZONE_WARNING: [vxReleaseContext:1277] Releasing reference (name=object_array_108) now as a part of garbage collection
APP: Deinit ... !!!
REMOTE_SERVICE: Deinit ... !!!
REMOTE_SERVICE: Deinit ... Done !!!
256987.004787 s: IPC: Deinit ... !!!
256987.005464 s: IPC: DeInit ... Done !!!
256987.005521 s: MEM: Deinit ... !!!
256987.005786 s: DDR_SHARED_MEM: Alloc's: 25 alloc's of 38823759 bytes
256987.005836 s: DDR_SHARED_MEM: Free's : 25 free's  of 38823759 bytes
256987.005848 s: DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes
256987.005868 s: MEM: Deinit ... Done !!!
APP: Deinit ... Done !!!

具体而言、我们看到:

错误:来自元素/GstPipeline:pipaine0/v4l2h264enc:v4l2h264enc0:无法处理帧。
其他调试信息:
/usr/debug/debug/gstreamer1.0-plugins-good/1.22.12/sys/v4l2/gstv4l2videoenc.c src (901):gst_v4l2_video_enc_handle_frame ():/GstPipeline0/v4l2h264enc:v4l2h264enc0:
可能是由于存储器不足或驱动程序故障造成的
执行在 0:00:00.238726669 之后结束

如果我更改流水线以从 v4l2h264enc 中删除“output-io-mode"字“字段、则流水线会运行、但不生成输出(不使用 udpsink 发送网络数据包、仅使用 fileink 生成标头)。

您能帮我们进行调试吗?

谢谢。

Mike

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

    尊敬的 Mike:

    为了通过 udpsink 路由编码流、您需要使用 rtph264pay 元素将其打包。 您能否在 udpsink 之前尝试在流水线中添加此元素并尝试一下?

    此致、

    Suren

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

    您好、Suren、

    感谢您捕获流水线错误。  但我仍然得到同样的行为。

    root@mitysom-am62ax:~# gst-launch-1.0 v4l2src device=/dev/video3 io-mode=dmabuf-import ! \
    >   video/x-bayer,width=1920,height=1080, framerate=30/1, format=rggb10 ! \
    >   tiovxisp sensor-name=SENSOR_SONY_IMX219_RPI \
    >      dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss.bin \
    >      sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a.bin \
    >      sink_0::device=/dev/v4l-subdev2 format-msb=9 ! \
    >   video/x-raw,format=NV12 ! \
    >   v4l2h264enc output-io-mode=dmabuf-import ! \
    >   rtph264pay ! \
    >   udpsink port=8081 host=10.0.103.185
    APP: Init ... !!!
     67111.732423 s: MEM: Init ... !!!
     67111.732492 s: MEM: Initialized DMA HEAP (fd=8) !!!
     67111.732666 s: MEM: Init ... Done !!!
     67111.732681 s: IPC: Init ... !!!
     67111.753465 s: IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
     67111.758857 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
     67111.759009 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_ERROR
     67111.759024 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_WARNING
     67111.759036 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_INFO
     67111.760481 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-0
     67111.760924 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-1
     67111.761314 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-2
     67111.761637 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-3
     67111.761682 s:  VX_ZONE_INFO: [tivxInitLocal:126] Initialization Done !!!
     67111.761761 s:  VX_ZONE_INFO: Globally Disabled VX_ZONE_INFO
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: [67102.656315] imx290 1-001a: imx290_start_streaming
    GstSystemClock
    [67102.806344] imx290 1-001a: imx290_start_streaming : 0
    Redistribute latency...
    ERROR: from element /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0: Failed to process frame.
    Additional debug info:
    /usr/src/debug/gstreamer1.0-plugins-good/1.22.12/sys/v4l2/gstv4l2videoenc.c(901): gst_v4l2_video_enc_handle_frame (): /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0:
    Maybe be due to not enough memory or failing driver
    Execution ended after 0:00:00.235766241
    Setting pipeline to NULL ...
    Freeing pipeline ...
     67112.146393 s:  VX_ZONE_WARNING: [vxReleaseContext:1275] Found a reference 0xffff8951e340 of type 0000080f at external count 1, internal count 0, releasing it
     67112.146443 s:  VX_ZONE_WARNING: [vxReleaseContext:1277] Releasing reference (name=image_104) now as a part of garbage collection
     67112.146469 s:  VX_ZONE_WARNING: [vxReleaseContext:1275] Found a reference 0xffff8959bcf0 of type 00000813 at external count 1, internal count 0, releasing it
     67112.146484 s:  VX_ZONE_WARNING: [vxReleaseContext:1277] Releasing reference (name=object_array_106) now as a part of garbage collection
     67112.146890 s:  VX_ZONE_WARNING: [vxReleaseContext:1275] Found a reference 0xffff8959bea0 of type 00000813 at external count 1, internal count 0, releasing it
     67112.146908 s:  VX_ZONE_WARNING: [vxReleaseContext:1277] Releasing reference (name=object_array_108) now as a part of garbage collection
    APP: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... Done !!!
     67112.152413 s: IPC: Deinit ... !!!
     67112.153052 s: IPC: DeInit ... Done !!!
     67112.153103 s: MEM: Deinit ... !!!
     67112.153213 s: DDR_SHARED_MEM: Alloc's: 25 alloc's of 38823759 bytes
     67112.153233 s: DDR_SHARED_MEM: Free's : 25 free's  of 38823759 bytes
     67112.153245 s: DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes
     67112.153262 s: MEM: Deinit ... Done !!!
    APP: Deinit ... Done !!!
    

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

    您好、Michael:  

    我看到您仍在使用 IMX219 ISP 相关文件。 您是否正在尝试使用 IMX219?  

    您可以共享 media-ctl -p /dev/media0 的输出吗

    此外、您能否分享在不使用编码的情况下、通过流式传输摄像头捕捉内容以显示的流水线?

    以下流水线是否正常工作:

    gst-launch-1.0 -v v4l2src device=/dev/video3 io-mode=dmabuf-import ! \
      video/x-bayer, width=1920, height=1080, framerate=60/1, format=rggb10 ! \
      tiovxisp sink_0::device=/dev/v4l-subdev2 sensor-name="SENSOR_SONY_IMX219_RPI" \
      dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_10b.bin sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_10b.bin format-msb=9 ! \
      video/x-raw, format=NV12, width=1920, height=1080, framerate=60/1 ! queue ! \
      v4l2h264enc ! rtph264pay ! udpsink host=10.0.103.185 port=5000

    此致、

    Suren

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

    您好、Suren、

    我正在使用 IMX219 ISP 作为起点。  IMX462 使用相同的帧大小和颜色格式 (rggb10)、并且在我使用 IMX219 ISP 将其提供给连接的显示器时会正确取消标记。   目前、客户只希望看到编码性能、而不是 ISP 性能、而不是基本的去抖。  如果我们赢得机会、我们将调整。

    这是 media-ctl -p /dev/media0 的输出:

    Media controller API version 6.6.58
    
    Media device information
    ------------------------
    driver          j721e-csi2rx
    model           TI-CSI2RX
    serial
    bus info        platform:30102000.ticsi2rx
    hw revision     0x1
    driver version  6.6.58
    
    Device topology
    - entity 1: 30102000.ticsi2rx (7 pads, 7 links, 1 route)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev0
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:SRGGB10_1X10/1920x1080 field:none]
                    <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:SRGGB10_1X10/1920x1080 field:none]
                    -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
            pad2: Source
                    -> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
            pad3: Source
                    -> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
            pad4: Source
                    -> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
            pad5: Source
                    -> "30102000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE]
            pad6: Source
                    -> "30102000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE]
    
    - entity 9: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links, 1 route)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev1
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:SRGGB10_1X10/1920x1080 field:none]
                    <- "imx462 1-001a":0 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:SRGGB10_1X10/1920x1080 field:none]
                    -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
            pad2: Source
            pad3: Source
            pad4: Source
    
    - entity 15: imx462 1-001a (1 pad, 1 link, 0 routes)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev2
            pad0: Source
                    [stream:0 fmt:SRGGB10_1X10/1920x1080 field:none colorspace:raw xfer:none ycbcr:601 quantization:full-range
                     crop.bounds:(0,0)/1945x1097
                     crop:(12,8)/1920x1080]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
    
    - entity 21: 30102000.ticsi2rx context 0 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video3
            pad0: Sink
                    <- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]
    
    - entity 27: 30102000.ticsi2rx context 1 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video4
           pad0: Sink
                    <- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]
    
    - entity 33: 30102000.ticsi2rx context 2 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video5
            pad0: Sink
                    <- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]
    
    - entity 39: 30102000.ticsi2rx context 3 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video6
            pad0: Sink
                    <- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]
    
    - entity 45: 30102000.ticsi2rx context 4 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video7
            pad0: Sink
                    <- "30102000.ticsi2rx":5 [ENABLED,IMMUTABLE]
    
    - entity 51: 30102000.ticsi2rx context 5 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video8
            pad0: Sink
                    <- "30102000.ticsi2rx":6 [ENABLED,IMMUTABLE]
    

    此流水线命令允许将图像流式传输到运行 1080p60 的连接显示器(使用 DPI 输出到 HDMI 转换器芯片):

    gst-launch-1.0 -v v4l2src device=/dev/video3 io-mode=dmabuf-import ! \
      video/x-bayer, width=1920, height=1080, framerate=60/1, format=rggb10 ! \
      tiovxisp sink_0::device=/dev/v4l-subdev2 sensor-name="SENSOR_SONY_IMX219_RPI" \
      dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_10b.bin sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_10b.bin format-msb=9 ! \
      video/x-raw, format=NV12, width=1920, height=1080, framerate=60/1 ! fpsdisplaysink name=fpssink text-overlay=false video-sink="kmssink driver-name=tidss"
    

    您提供的管道会运行、但远程媒体播放器上不会显示任何数据/图像。  

    我将接收器更改为一个文件同步并运行捕获 1 分钟,然后点击 CTLR-C 并得到一个 348 KB 的文件,该文件无法使用 Ubuntus 视频播放器 (“空文件“)或 VLC(无图像)播放。  我附上了文件。

    gst-launch-1.0 -v v4l2src device=/dev/video3 io-mode=dmabuf-import ! \
      video/x-bayer, width=1920, height=1080, framerate=60/1, format=rggb10 ! \
      tiovxisp sink_0::device=/dev/v4l-subdev2 sensor-name="SENSOR_SONY_IMX219_RPI" \
      dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_10b.bin sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_10b.bin format-msb=9 ! \
      video/x-raw, format=NV12, width=1920, height=1080, framerate=60/1 ! queue ! \
      v4l2h264enc ! rtph264pay ! filesink location=test.mp4
    

    e2e.ti.com/.../0652.test.mp4

    我想知道系统上的编码是否有根本损坏。 我还尝试了这种流水线、并将生成的文件复制到 Linux 和 Windows 计算机上。  也不会播放文件。

    gst-launch-1.0 videotestsrc num-buffers=200 ! \
      video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 ! \
      v4l2h264enc ! \
      rtph264pay ! \
      filesink location=/tmp/foo.mp4
    

    我们使用 SDK 10.1。  我注意到一些与 dmesg 中的视频编解码器相关的消息可能表明存在问题?

    root@mitysom-am62ax:~# dmesg | grep dec
    ...
    [ 1664.205264] vdec 30210000.video-codec: Runtime PM usage count underflow!
    [ 1664.301382] vdec 30210000.video-codec: error -ENXIO: IRQ index 0 not found
    [ 1664.308385] vdec 30210000.video-codec: failed to get irq resource, falling back to polling
    [ 1664.316982] vdec 30210000.video-codec: OPP table not found in device tree
    [ 1664.327788] vdec 30210000.video-codec: Added wave5 driver with caps: 'ENCODE' 'DECODE'
    [ 1664.335777] vdec 30210000.video-codec: Product Code:      0x521c
    [ 1664.341890] vdec 30210000.video-codec: Firmware Revision: 334314
    
    

    此致、

    Mike

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

    尊敬的 Mike:

    仅当使用 udpsink 在网络上流式传输编码流时、才使用 rtph264pay。  

    在上述 2 个管道中、您使用 rtph264pay 并转储到文件链接中。

    相反,你可以运行这样一个简单的流水线,看看你是否能够播放编码的文件。

    gst-launch-1.0 videotestsrc num-buffers=200! \
    video/x-raw、格式=NV12、宽度=1920、高度=1080、帧速率=30/1! \
    v4l2h264enc! filesink location=test-video.h264

    或  

    gst-launch-1.0 videotestsrc num-buffers=200! \
    video/x-raw、格式=NV12、宽度=1920、高度=1080、帧速率=30/1! \
    v4l2h264enc! mp4mux! filesink location=test.mp4

    如果可以正常工作、请将视频 testsrc 替换为 v4l2src、这个 v4l2src 基本上是您的摄像头 src、然后查看您是否能够编码。

    此致、

    Suren

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

    您好、Suren、

    感谢您指出这一点。 好的。  第一个管道编码,我可以用 VLC 播放器播放它。  第二个错误没有出现“警告:错误的流水线:无法将 v4l2h264enc0 链接到 mp4mux0 “错误。

    所以我运行了这个管道并得到了一个可播放的文件。

    gst-launch-1.0 v4l2src device=/dev/video3 io-mode=dmabuf-import num-buffers=200 ! \
      video/x-bayer,width=1920,height=1080, framerate=30/1, format=rggb10 ! \
      tiovxisp sensor-name=SENSOR_SONY_IMX219_RPI \
         dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss.bin \
         sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a.bin \
         sink_0::device=/dev/v4l-subdev2 format-msb=9 ! \
      video/x-raw,format=NV12 ! \
      v4l2h264enc ! \
      filesink location=test_cam.h264
    

    我需要弄清楚为什么流媒体不工作(唯一的区别是添加 rtph264pay 并发送到 udpsink)   。  也许我遇到了丢包或其他问题。

    如果有任何帧被丢弃进入编码阶段、是否有办法设置比特率并显示?  我们的客户希望有证据表明编码器可以跟上数据、不会在视频流中丢弃帧/存在孔。  如果此信息在 Acedemy 页面上的某个位置、我可以通读这些信息。

    再次感谢您、

    Mike

     

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

    Mike、

    要使用 mp4mux、可能必须先添加 h264parse 元素、然后执行如下所示的操作:

    v4l264enc! 排队! h264parse! mp4mux! filesink location=test.mp4

    此外、由于您能够验证摄像机源的编码是否正常工作、我假设您的 IP 地址未被您的 IT 安全或防火墙限制阻止。

    我们在各种应用程序上验证了视频流。  我们没有看到编码方面的任何性能下降。 请参阅我 在此处发布的应用手册

    此致、

    Suren