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.
在尝试捕捉视频并将其编码为 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 ... 正在释放管道...
如果有任何建议,将不胜感激。
谢谢
您好!
编码支持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
玛格丽塔