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.

[参考译文] Linux/DRA746:运放;无法播放视频

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/668140/linux-dra746-waylandsink-not-able-to-play-video

器件型号:DRA746

工具/软件:Linux

大家好、

我尝试使用以下命令播放视频、但它未播放、并给出以下错误。 已在此附上完整日志。 当我能够正确播放其他视频时、此错误随特定视频一起提供。 您能不能就可能发生的问题向我们提出建议?

我尝试使用以下命令。 您可以从 www.dropbox.com/.../Exquisite.mp4下载视频

 

GS-launch-1.0 playbin UI=文件:///usb/MMT2020/mmt_videos/Exquisite.mp4 video-sink="waylandsink sync-false window-resolution =800x480"

gst-launch-1.0文件 rc location=/usb/MMT2020/mmt_videos/Exquisite.mp4! qtdemux! h264parse! ducatih264dec! landlandsink 窗口分辨率=800x480

0:00:04.192914682 1578  0x191c30 debug           waylandsink gstwaylandsink.c:477:gst_wayland_sink_get_cap: 显示电容:VIDOO/x-RAW、FORMAT=(STRING){BGRA、BGRx、RGB16、YUV9、 Y41B、I420、Y42B、v308、NV12、 NV16、YUY2}、width=(int)[ 1、2147483647]、height=(int)[ 1、 2147483647]、帧速率=(小数)[0/1、2147483647/1]
0:00:04.217039502 1578 b5bb9e00调试           路运接收器 gstwaylandsink.c:634:gst_wayland_sink_preroll: 预发布缓冲器0x190f00
0:00:04.217416346 1578 b5bb9e00调试           路运接收器 wlshmallocator.c:170:gst_wl_shm_mem_memory_struct_wl_buffer: 创建大小为4 (1 x 1、跨度4)的 WL_buffer、格式 BGRx
0:00:04.217564779 1578 bb5bb9e00调试           路运接收器 wlshmallocator.c:170:gst_wl_shm_mem_memory_construct_wl_buffer: 创建大小为5529600 (2560 x 1440、STRIDE 2560)的 WL_buffer、格式为 I420
[已销毁的对象]:错误0:无效格式0x32315559
曲面               :90已生成
WL_DISPLAY@1:错误0:无效对象3
与航迹通信时出错:参数无效
与航迹通信时出错:参数无效
管道是 PREROLLED...
正在将管道设置为正在播放...

此致、

Vikash

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

    您好 Vikash、

    Waylandsink 正在尝试从共享存储器分配缓冲区。

    将此属性添加到航点并尝试。 use-drm=true

    RAM

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

    使用"use-drm=true"播放视频后、它正在播放、但我看到以下警告、视频播放速度非常慢。

    没有"use-drm=true"、其他视频播放效果如何? 我们何时需要使用"use-drm=true"?

    警告:从元素/GstPlayBin:playbin0/GstPlaySlink:playsink/GstBin:vbin/GstWaylandSink:waylandsink0:大量缓冲区正在丢弃。
    其他调试信息:
    /data/work/fcardoz/elina-mmt2020-gclient/elina-distro/build-mmt/tmp/work/cortexa15hf-vfp-neon-elina-linux-gnueabi/gstreamer1.0/1.6.3-r0/gstreamer-1.6.3/libs/gst/base/gstbasesink.c (2846):gst_base_sink_is toe_elate ():/GstPlayBin:playbin0/GstPlaySlink:playSINK/GstBin:vbin/GstWaylandSink:waylandsink:waysink0:
    可能存在时间戳问题,或者此计算机速度太慢。
    警告:从元素/GstPlayBin:playbin0/GstPlaySlink:playsink/GstBin:vbin/GstWaylandSink:waylandsink0:大量缓冲区正在丢弃。
    其他调试信息:
    /data/work/fcardoz/elina-mmt2020-gclient/elina-distro/build-mmt/tmp/work/cortexa15hf-vfp-neon-elina-linux-gnueabi/gstreamer1.0/1.6.3-r0/gstreamer-1.6.3/libs/gst/base/gstbasesink.c (2846):gst_base_sink_is toe_elate ():/GstPlayBin:playbin0/GstPlaySlink:playSINK/GstBin:vbin/GstWaylandSink:waylandsink:waysink0:
    可能存在时间戳问题,或者此计算机速度太慢。
    警告:从元素/GstPlayBin:playbin0/GstPlaySlink:playsink/GstBin:vbin/GstWaylandSink:waylandsink0:大量缓冲区正在丢弃。
    其他调试信息:
    /data/work/fcardoz/elina-mmt2020-gclient/elina-distro/build-mmt/tmp/work/cortexa15hf-vfp-neon-elina-linux-gnueabi/gstreamer1.0/1.6.3-r0/gstreamer-1.6.3/libs/gst/base/gstbasesink.c (2846):gst_base_sink_is toe_elate ():/GstPlayBin:playbin0/GstPlaySlink:playSINK/GstBin:vbin/GstWaylandSink:waylandsink:waysink0:
    可能存在时间戳问题,或者此计算机速度太慢。
    警告:从元素/GstPlayBin:playbin0/GstPlaySlink:playsink/GstBin:vbin/GstWaylandSink:waylandsink0:大量缓冲区正在丢弃。
    其他调试信息:

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

    您好 Vikash、

    此处无法访问流。

     我在日志中看到了一些问题。

    创建大小为4 (1 x 1、跨度4)的 WL_buffer、格式 BGRx。 检测到的流的宽度和高度为1x1

    如果上游元素是 Ducati,则 waylandsink 应该已使用 DRM 存储器,但它选择 shm 的原因不会清除。

    流的分辨率是多少?

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

    您可以从 transfer.harman.com/.../6AnqFLbaxgxurxicXF1pva 下载视频

    从 VLC 播放器编解码器信息:

    分辨率为2560 x 1442
    显示分辨率:2560 x 1440


    此致、
    Vikash
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Vikash、
    我正在下载流。 2560x1440看起来是高分辨率(>1920x1080)。
    use-DRM 属性告诉 landwaysink、来自上游元素的缓冲区是从 DRM 分配器分配的。 如果上游元素是 Ducati,它将始终在其大写中发送此信息,并且不需要显式提及 use-drm=true。

    如果航迹接收器用作上游元件的缓冲分配器、则需要使用-dram=true。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Vikash、
    对于此流、playbin 选择软件解码器 avdec _h264而不是 ducatih264dec、因此 use-DRM 未设置。
    通过设置 use-DRM、您现在可以回放、但由于它是软件解码器、因此会出现时间戳问题。
    需要了解为什么 playbin 没有选择 ducatih264dec。 我想解决该流的问题可能是原因。

    我可以使用显式流水线。 qtdemux 元素正在抛出错误并退出。

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

    感谢您的快速信息。 您能否检查此问题、因为我们的发行版似乎很紧迫? 如果您需要更多信息、请告诉我。

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

    您好 Vikash、

    TI 尚未测试超过1920x1080的流。 GST-Inspect -1.0 ducatih264dec 还显示支持的最大分辨率为2048x2048。

    在 IPUMM 固件中、我们保留用于2 1920x1080解码+ 1 1920x1080编码的内存。

    请参阅有关存储器要求的编解码器数据表。

    根据您的要求、请进行以下更改、它将与 playbin 一起使用。

    -- src/gstducatih264dec

    ++ b/src/gstducatih264dec

    @@-84、12 +84、12 @@静态 GstStaticPadTemplate sink_factory = GST_static_pad_template ("接收器"、

      GST_STATIC_CAPS ("视频/x-h264、"

        "stream-format = byte-stream、" /*仅为 byte-stream *

        "对齐= au、"      /*仅整个帧*/

    -"width    =(int)[16、2048]、"

    +"width    =(int)[16、2560]、"

        "高度=(int)[16、2048];"

        "视频/x-h264、"

        "stream-format = byte-stream、" /*仅为 byte-stream *

        "对齐= au、"      /*仅整个帧*/

    -"width    =(int)[16、2048]、"

    +"width    =(int)[16、2560]、"

        "高度=(int)[16、2048],"

        "配置文件=(字符串){HIGH、HIGH -10 INTRAT、HIGH -10、HIGH -4:2:2 INTRAT、"

        "high-4:2:2、high-4:4:4–Intra、high-4:4:4、cavlc-4:4:4-Intra}、"

    请注意、TI 不会推送此补丁。 应用此补丁后、您可能无法回放双解码用例、原因是

    内存要求可能超过 IPUMM 的保留空间。

    如果需要、对 MPEG4dec 等进行类似的更改。

    将此主题标记为"已回答"、仅当您验证更改时。

    谢谢

    RAM

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

    谢谢你。 它发挥了作用。

    此致、
    Vikash