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.

[参考译文] AM5728:gstreamer VPE 的问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/575038/am5728-issues-with-gstreamer-vpe

器件型号:AM5728

在尝试捕捉视频并将其编码为 H.264格式时,AM5728板上的 gstreamer“VPE”元素出现问题。 我们可以使用“v4l2src”元素将 NV12格式的原始视频捕获到文件中,而不会出现任何问题,但是当我们尝试将其链接到 VPE 和 ducatih264enc 时,它将失败。

gstreamer 流水线如下所示:

gst-launch-1.0 -v -e --gst-debug=2 v4l2src device=/dev/video1 num-buffers=100 io-mode=4 \
! 'video/x-raw、format=(string) NV12、framerate=(fraction) 30/1、width=(int) 1920、height=(int) 1080/'\
! VPE num-input-buffers=8\
! 队列\
! ducatih264enc\!
filesink location=/test.h264 

在故障期间、以下行将输出到内核日志中、并可使用 dmesg 命令查看:

[52.994007] rpmsg_RPC rpmsg-DCE:rproc_pa_TO_da 错误、rproc = edb7bc00、pA = 0x00000000fd600000 ret =-22
[53.004219] rpmsg_rpmsg-DCE:将 UVA 解压到 RDA 转换! translation = 0
[53.014114] rpmsg_RPC rpmsg-DCE:无法转换远程内核的所有指针! 

gstreamer 的输出为:

正在将管道设置为暂停...
管道处于活动状态,不需要 PREROLL...
/GstPipeline0/GstV4l2Src:v4l2src0.GstPad:src:cap ="VIDEO/x-RAW\、\ format\\(string\) NV12\、\ width\=(int\) 1920\、\ height\=(int\) 1080/\、\、\(pixel-bace-1) baper=
(pixel) bace-diter=)、st-rapeadecess= 1 (pers/tradecess/tradecess=) 709 (st-tradecess\) bapy (pixer= 1) bapy (pers/tradecess/tecess\) bapy) bapy)
/GstPipeline0/GstCapsFilter:capsfilter0.GstPad:src:cap ="VIDEO/x-RAW\、\ format\=(string\) NV12\、\ width\=(int\) 1920\、\ height\=(int\) 1080/lipelt、gsproyt

1 (fring/) gstace=/frophertip (gstpixel 1)/gest/fram (gstepixel 1) x (tinesx)/frophertix、gestinesx (gestinesx)/fram (frecure-t1) x (gestinesx)/gestines=/fers/fram (frecuresx)/gestines=/fers/gestines=/fram (gestinesx、gestinesx)/fers/fers/fers/fram (frecures= 1)/fers/fers/fers/fers/fers/f


cap ="video/x-h264\、\ alignment\=(string\) au\、\ stream-format\=(string\) byte-stream\、\ width\=(int\) 1920\、\ height\=(int\) 1010101020\、\像素-lau-v-rand-ratio\=(frame\)/fraintranues\(
fers1) fers/fraintranues\(fers1) fers/fers/fraintranscoreperfecure-cap
= 1:1:/fiter1000) frink/frensorepertore1:/v/fiterfiter1:/fiterfiter1000 (frink\(frink\) frink\(gx 1) fiter1000) frink/frink/frink\(g/ torpher1000) fiter1000) fr/ fiter1000:/frink/fr

cap ="VIDEO/x-RAW\、\ format\=(string\) NV12\、\ width\=\(int\) 1920\、\ height\=(int\) 1080\、\像素纵横比\=(frame\) 1/1\、\ interlace 模式\=(strap\)渐进\、\_ im-lect-lect-0001700m\(ras\) 106700m\(ras\) 106700m\
v4l2bufferpool gstv4l2bufferpool.c:749:gst_v4l2_buffer_pool_start: _[00m 不确定或不足的缓冲区、启用复制阈
值/GstPipeline0/GstVpe:vpe0.GstPad:src:cap ="VIDEO/x-RAW\、\ format\=(string\) NV12\、width\=(int\) 202020\、height\=(scorepertion1
)/fers/fraintrase-tegines1
:/fers/fr stq1 (torepertion1)/fr 1:gestinesx (toreperfr)/fr 1:gestintrase-fr 1)/fr 1:gestinesx (tority1)/fr 1:gestintrasepertion1:gestinesx (tority1)/fr 1:gestinesx (toreperfr)/fr 1:gestinesx (tority/fr)/fr 1:gestintrasepertinesx (tority1:gest

cap ="video/x-h264\、\ width\=(int\) 1920\、\ height\=(int\) 1080/\、\ framerate\=(rorde\) 30/1\、\像素宽高比\(int\) 1\(frame\)/probage=
/stink\(fring\)/fixelink=/fixelink=/f<x、/fixed<= 1、/fixelink\(fring\)/fixelink\(fring\)/fixpixpixpixpix-f<=/f<=/f<=/f<x、/fix-filtage= 1、/fix-filelink\/f<= 1、/fix-filtage=/f<=/f<=/fix-filtage=/fix-filelink\/f<x (x、/fix-filelink\/f<=/f<=/fix-filtage= 1、/fix-fil
ducati gstducatividenc.c:847:gst_ducati_videnc_handle_frame: _[00m 进程失败:ERR=-5、extendedError=00000000
0:00:00.224258772 _[334m 1017_[00m 0x142a90 _[33;01mWARN _[00m _[00m ducati gstducatividenc.c:856:gst_ducati_videnc_handle_frame: _[00m XDM_getStatus:ERR=0、扩展错误=00000000
0:00:00.255390244 _[334m 1017_[00m 0x157e90 _[33;01mWARN _[00m _[00m basesrc gstbasesrc.c:2943:gst_base_src_loop: _[00m 错误:内部数据流错误。
0:00:00.255441810 _[334m 1017_[00m 0x157e90 _[33;01mWARN _[00m _[00m basesrc gstbasesrc.c:2943:gst_base_src_loop: _[00m 错误:流任务暂停、原因错误(-5)
0:00:00.255610495 _[334m 1017_[00m 0x157e90 _[33;01mWARN _[00m _[00m 队列 gstqueue.c:968:GST_queue_handle_sink_event: _[00m 错误:内部数据流错误。
0:00:00.255652626 _[334m 1017_[00m 0x157e90 _[33;01mWARN _[00m _[00m 队列 gstqueue.c:968:GST_queue_handle_sink_event: _[00m 错误:流任务暂停、原因错误(-5)
错误:来自元素/GstPipeline:流水 线0/GstV4l2Src:v4l2src0:内部数据流错误。
其他调试信息:
./../../../gstreamer-1.6.3/libs/gst/base/gstbasesrc.c (2943):gst_base_src_loop ():/GstPipeline0/GstV4l2Src:v4l2src0:
流任务暂停、原因错误(-5)
MmRpc_call:错误:写入失败
。/git/libdce.c:965:进程 错误:失败 eError == DCE_Eok error val -5EOS on shutdown enabled -- Waiting for EOS after Error
waiting for EOS...
错误:来自元素/GstPipeline:流水 线0/GstQueue0:内部数据流错误。
其他调试信息:
./../../gstreamer-1.6.3/plugins/elements/gstqueue.c (968):GST_Queue_handle_sink_event ():/GstPipeline0/GstQueue:queue0:
流任务暂停、原因错误(-5)
处理中断。
中断:正在停止管道...
等待 EOS 时的中断-正在停止流水线...
0:00:12.068756108
将管道设置为暂停...后结束执行
正在将管道设置为就绪...
正在将管道设置为 NULL ...
正在释放管道... 

如果有任何建议,将不胜感激。

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    请查看本指南:
    processors.wiki.ti.com/.../Processor_Training:_Multimedia

    有用于捕获->编码的 gstreamer 管道。

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

    我们已升级到 SDK 版本03.02 (ti-processor-sdk-linux-am57xx-evm-03.02.00.05),但仍然从 rpmsg-DCE 处得到相同的错误。 我们还会看到 DMA 分配失败消息:

    VIP 48970000.VIP:大小为3112960的 dma_alloc_相干 故障

    发生故障的 DMA 分配似乎是 NV12格式的一个原始帧的大小。

    推荐使用什么 gstreamer 管道来捕获和编码来自 VIP 的1920x1080p30视频? 所有 gstreamer 示例流水线都使用720p 视频、此处理器是否支持1080p 捕捉和编码?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    编码支持1080p。
    您能否尝试相同的管道、但不使用 VPE、如指南中所示(更改分辨率)。
    gst-launch-1.0 -e v4l2src device=/dev/video1 num-buffers=1000 io-mode=5! '视频/x-raw、\
    format=(string) NV12、width=(int) 1280、height=(int) 720、framerate=(fraction) 30/1'! ducatimpeg4enc bitrate = 4000! \
    排队! 太棒了! 真棒! 文件链接位置= x.mp4

    请告诉我结果。

    BR
    玛格丽塔

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

    出于兴趣、您是否知道为什么 VPE 在这种情况下不起作用?

    谢谢
x 出现错误。请重试或与管理员联系。