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 错误

Guru**** 2601965 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/649764/am5728-gstreamer-error

您好:

  卡:5728 SDK:Processor SDK 3.3


gst-launch-1.0   v4l2src device=/dev/video1 io-mode=4! 'video/x-raw、format=(string) YUY2、width=(int) 1920、height=(int) 1080、framerate=(fraction) 30/1'! VPE num-input-buffers=6! 'video/x-raw、format=(string) NV12、width=(int) 1920、height=(int) 1080、帧速率=(fraction) 30/1'! ducatih264enc bitrate = 4000! filesink location=test.h264    

2.    gst-launch-1.0 v4l2src device=/dev/video2 io-mode=4! 'video/x-raw、format=(string) YUY2、width=(int) 1920、height=(int) 1080、framerate=(fraction) 30/1'! VPE num-input-buffers=6! 'video/x-raw、format=(string) NV12、width=(int) 1920、height=(int) 1080、帧速率=(fraction) 20/1'! ducatih264enc bitrate = 4000! 文件链接位置=test_2.h264


    使用 gstreamer 保存 2路1080p60视频时、将出现以下错误:

  

我尝试减小 Ipu2_CMA_POOL 树器件5728、reg =<0x0 0x95800000 0x0 0x3800000>;修改 reg =<0x0 0x98000000 0x0 0x1000000>;


当我运行上述流水线时、会出现错误:

正在将管道设置为暂停...
管道处于活动状态,不需要 PREROLL...
错误:来自元素/GstPipeline:流水 线0/GstV4l2Src:v4l2src0:内部数据流错误。
其他调试信息:
./../../../gstreamer-1.6.3/libs/gst/base/gstbasesrc.c (2943):gst_base_src_loop ():/GstPipeline:流水线0/GstV4l2Src:v4l2src0:
流任务暂停、原因未协商(-4)
错误:管道不想进行预发布。
正在将管道设置为暂停...
正在将管道设置为就绪...
正在将管道设置为 NULL ...
正在释放管道...
正在将管道设置为暂停...
MmRpc_create:错误:打开失败、名称=/dev/rpmsg-dce
错误:管道不想暂停。
错误:从元素/GstPipeline:Pipeline0/GstDucatiJPEGEnc:ducatijpegenc0:无法初始化支持的库。
其他调试信息:
./../../../gst-plugins-base-1.6.3/gst-libs/gst/video/gstvideoencoder.c (1566):GST_VIDEO_ENCODER_CHANGE_STD ():/GstPipeline:Pipeline0/GstDualatiJPEGEnc:ducatijpegenc0:
无法启动编码器
./git/libdce.c:416:  DCI_IPC_init  错误:失败 eError == DC_Eok 错误 val -4../git/libdce.c:479:   engine_open   错误:失败的 DCI_IPC_init (coreIdx)== DC_eok 错误 val -4将流水线设置为 NULL ...
正在释放管道...  

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

    您好!

    我建议您转到最新的 PSDK 版本。  

    在上面的流水线中、您应该在编码器和文件链接之间添加 h264parse。

    [引用 user="user420557"]

    当我运行上述流水线时、会出现错误:

    错误:管道不想暂停。
    错误:从元素/GstPipeline:Pipeline0/GstDucatiJPEGEnc:ducatijpegenc0:无法初始化支持的库。
    其他调试信息:
    ./../../../gst-plugins-base-1.6.3/gst-libs/gst/video/gstvideoencoder.c (1566):GST_VIDEO_ENCODER_CHANGE_STD ():/GstPipeline:Pipeline0/GstDualatiJPEGEnc:ducatijpegenc0:
    无法启动编码器
    ./git/libdce.c:416:  DCI_IPC_init  错误:失败 eError == DC_Eok 错误 val -4../git/libdce.c:479:   engine_open   错误:失败的 DCI_IPC_init (coreIdx)== DC_eok 错误 val -4将流水线设置为 NULL ...
    正在释放管道...  

    [/报价]

    您正在执行的流水线是什么? 在上述管道中、我看到 ducatih264enc、但在该日志中、似乎 ducatilJPEGenc 正在失败。  

    同时可以运行的编码实例数量存在限制、您可能达到此限制、这就是您看到 ENGINE_OPEN 失败的原因。

    正如我说过的、我建议您使用最新的 PSDK、因为 gstreamer 版本是1.8、包含修复程序。  

    BR
    玛格丽塔

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

    您也可以检查此主题:
    e2e.ti.com/.../639531

    希望这对您有所帮助。

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

    您好:
    我参考以下经修订的 ipu2_CMA_pool:文档
    http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=sprac60&fileType=pdf&keyMatch=AM57x 处理器 SDK LinuxRegistered%3A 自定义多核应用程序以在新平台上运行&tisearch=Search-EN-Support


    修改 ipu2_CMA_pool 后、我运行以下流水线:
    gst-launch-1.0 -v v4l2src device=/dev/video1 io-mode=4! 'video/x-raw、format=(string) YUY2、width=(int) 1280、height=(int) 720、framerate=(fraction) 60/1'! VPE num-input-buffers=8! 'video/x-raw、format=(string) NV12、width=(int) 1280、height=(int) 720、framerate=(fraction) 60/1'! TEE NAME=t! 排队! 很棒的酒店! jpegparse! 文件链接位置=test.jpg t! 排队! 陆上接收机

    当我运行上述流水线时、会出现错误:

    错误:管道不想暂停。
    错误:从元素/GstPipeline:Pipeline0/GstDucatiJPEGEnc:ducatijpegenc0:无法初始化支持的库。
    其他调试信息:
    ./../../../gst-plugins-base-1.6.3/gst-libs/gst/video/gstvideoencoder.c (1566):GST_VIDEO_ENCODER_CHANGE_STD ():/GstPipeline:Pipeline0/GstDualatiJPEGEnc:ducatijpegenc0:
    无法启动编码器
    ./git/libdce.c:416:DCI_IPC_init 错误:失败 eError == DC_Eok 错误 val -4../git/libdce.c:479:engine_open 错误:失败的 DCI_IPC_init (coreIdx)== DC_eok 错误 val -4将流水线设置为 NULL ...
    正在释放管道...

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

    我在我的一侧测试了这些管道:

    gst-launch-1.0 -v videotestsrc! 'video/x-raw、format=(string) YUY2、width=(int) 1280、height=(int) 720、framerate=(fraction) 60/1'! VPE num-input-buffers=8! 'video/x-raw、format=(string) NV12、width=(int) 1280、height=(int) 720、framerate=(fraction) 60/1'! TEE NAME=t! 排队! 很棒的酒店! jpegparse! 文件链接位置=test.jpg t! 排队! 陆上接收机-e

    gst-launch-1.0 -v videotestsrc! 'video/x-raw、format=(string) YUY2、width=(int) 1280、height=(int) 720、framerate=(fraction) 60/1'! VPE num-input-buffers=8! 'video/x-raw、format=(string) NV12、width=(int) 800、height=(int) 480、framerate=(fraction) 60/1'! TEE NAME=t! 排队! 很棒的酒店! jpegparse! 文件链接位置=test.jpg t! 排队! 陆上接收机-e

    这两种方法都可以正常工作、我不会观察到编码器的错误。

    请尝试使用最新的 PSDK。

    另请检查此主题:
    e2e.ti.com/.../2331605

    "您可以在内核 bootargs 中将 CMA 池大小指定为 CMA=64M。 如果这不起作用、您可以尝试 CMA=128M。"

    BR
    玛格丽塔