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.

[参考译文] TMS320DM8168:用于8168的 GStreamer 流水线、具有 EZ SDK 5_02_00

Guru**** 2553260 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/592503/tms320dm8168-gstreamer-pipeline-for-8168-with-ez-sdk-5_5_02_00

器件型号:TMS320DM8168

大家好、

我正在尝试使用 gstreamer 播放 H264内容并通过 LCD 显示。

我确实按照 "="">http:/processors.wiki.ti.com/index.php/DM81xx_Gstreamer_Plugin#Download">processors.wiki.ti.com/.../DM81xx_Gstreamer_Plugin 上概述的步骤 来编译 gstreamer 并在器件上安装。 我使用 了 svn 中的 tag tag_DM81XX_release_0_03。

当我尝试回放 h264基本流时,我得到以下错误:

#gst-launch-0.10 -vv 文件 rc location=sample.h264 ! 'video/x-h264'! h264parse access-unit=true! OMX_h264dec! OMX_标量器! OMX_CTRL DISPLAY-DEVICE_=LCD! OMX_videosink 显示设备= LCD 同步=错误

**(GST-LAUNCH-0.10:1327):严重**:G_OMX_CORE_INIT:断言`CORE->OMX_Handle'失败

**(GST-LAUNCH-0.10:1327):严重**:G_OMX_CORE_INIT:断言`CORE->OMX_Handle'失败
警告:错误管道:无法将 omxbasectrl0链接到 omxvideosink0

我尝试使用解码显示示例播放同一个文件、但它工作正常。

#./decode_display_a8host_debug.xv5T -I sample.h264 -w 1920 -h 1080 -f 30 -g 0 -d 1 -c h264

我缺少什么吗? 我是否使用了正确的 gstreamer 标记? 我还尝试从 ezsdk 中替换 libgstomx.so、但仍然出现相同的错误。

感谢在这方面的任何帮助。

谢谢、

Amit

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

    Gstreamer 包含在 EZSDK 中。

    您可以尝试:
    gst-launch -v 文件 rc location=/usr/share/ti/data/videos/dm816x_1080p_demo.264! 'video/x-h264'! h264parse access-unit=true! OMX_h264dec! OMX_标量器! OMX_CTRL DISPLAY_MODE=OMX_DC_MODE_1080p_60显示设备=LCD! 很棒! 'VIDEO/x-RAWE-YUV、width=(int) 800、height=(int) 480'! OMX_videosink SYNC=false 显示设备=LCD

    您还可以使用 v4l2sink 元素而不是 OMX_videosink。

    以下是示例流水线:


    gst-launch -v 文件 rc location=/usr/share/ti/data/videos/dm816x_1080p_demo.264! 'video/x-h264'! h264parse access-unit=true! OMX_h264dec! OMX_标量器! 'VIDEO/x-RAWE-YUV、width=(int) 800、height=(int) 480'! 很棒! v4l2sink userpointer=false device=/dev/video2最小排队的 bufs=2

    但在这种情况下、您必须加载 v4l2固件(load-HD-v4l2-firmware.sh)。


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

    感谢 Margarita 的回复。

    我现在使用随 EZSDK 提供的 gstreamer 二进制文件/库(ti-ezsdk_dm816x-evm_5_05_02_00_demo_binaries.tar.gz)。 我可以在 HDMI 上播放视频、但使用 gstreamer 时 LCD 上没有输出。 随函附上我正在使用的 load-hd-v4l2-firmware.sh 脚本。

    我怀疑我是以错误的方式配置显示屏。

    下面是我执行的步骤:

    1) 1)登录后引导 DM8168尝试使用 HDMI 上的 gstreamer 播放视频

    # gst-launch -v 文件 rc location=/usr/share/ti/data/videos/dm816x_1080p_demo.264! 'video/x-h264'! h264parse access-unit=true! OMX_h264dec! OMX_标量器! OMX_CTRL DISPLAY_MODE=OMX_DC_MODE_1080p_60! 很棒! 'VIDEO/x-RAWE-YUV、width=(int) 800、height=(int) 480'! OMX_videosink 同步=假

    此操作成功。 即使使用解码显示示例进行播放也可以:

    /decode_display_a8host_debug.xv5T -I sample.h264 -w 1920 -h 1080 -f 30 -g 0 -d 0 -c h264

    现在,我运行 setup_480x272_display.sh (运行该文件后不支持 HDMI 显示)并尝试按照您的建议执行 gstreamer 流水线:

    gst-launch -v 文件 rc location=/usr/share/ti/data/videos/dm816x_1080p_demo.264! 'video/x-h264'! h264parse access-unit=true! OMX_h264dec! OMX_标量器! OMX_CTRL DISPLAY_MODE=OMX_DC_MODE_1080p_60显示设备=LCD! 很棒! 'VIDEO/x-RAWE-YUV、width=(int) 800、height=(int) 480'! OMX_videosink SYNC=false 显示设备=LCD

    这不会在 LCD 上显示任何显示、但 gstreamer 上没有错误

    如果我使用 decode_display 播放视频、则视频会显示在 LCD 上:

    ./decode_display_a8host_debug.xv5T -I sample.h264 -w 1920 -h 1080 -f 30 -g 0 -d 1 -c h264  #在 LCD 上显示正确的视频

    我还附上了引导日志供您参考。 如果我缺少任何关键信息、请告诉我。 另请注意、这是为我们的客户设计的定制电路板、而不是参考单元。 但我想这不应产生任何影响、因为解码显示样本工作正常。

    e2e.ti.com/.../6136.logs.tar.gz

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

    您好!

    我无法尝试此用例、因为 DM8168 EVM 没有 LCD。  

    在这种情况下、您能否尝试此流水线:

    gst-launch -v 文件 rc location=/usr/share/ti/data/videos/dm816x_1080p_demo.264! 'video/x-h264'! h264parse access-unit=true! OMX_h264dec! OMX_标量器! OMX_CTRL DISPLAY_MODE=OMX_DC_MODE_1080p_60显示设备=LCD! 很棒! 'VIDEO/x-RAWE-YUV、width=(int) 480、height=(int) 272'! OMX_videosink SYNC=false 显示设备=LCD

    您能否将流水线执行时间的输出链接到我。

    您还可以查看本指南:

    您能否尝试以下步骤:

    /etc/init.d/matrix-gui-e 停止

    /etc/init.d/pvr-init 停止

    CD /usr/share/ti/ti-media-controller-utils

    load-hd-firmware.sh 停止

    load-hd-v4l2-firmware.sh 启动

    echo 1:dvo2 >/sys/devices/platform/vpss/graphics0/nodes

    echo 0 >/sys/devices/platform/vpss/display1/enabled

    Echo 9500、480/2/40/71、272/2/10、1 >/sys/devices/platform/vpss/display1/timings

    echo triplediscrete、rgb888 >/sys/devices/platform/vpss/display1/output

    Echo 1 >/sys/devices/platform/vpss/display1/enabled

    fbset -xres 480 -yres 272 -vxres 480 -vyres 272

    gst-launch -v 文件 rc location=/usr/share/ti/data/videos/dm816x_1080p_demo.264! 'video/x-h264'! h264parse access-unit=true! OMX_h264dec! OMX_标量器! 'VIDEO/x-RAWE-YUV、width=(int) 480、height=(int) 272'! 很棒! v4l2sink userpointer=false device=/dev/videoX 最小排队的 bufs=2

    其中/dev/videoX 是 LCD。

    您是否也可以链接此输出?

    BR

    玛格丽塔

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

    您好、Margarita、

    也不幸运。 请找到所需的日志。

    我没有运行矩阵 GUI、并且最初加载了 load-hd-v4l2-firmware.sh (我们不使用 load-HD-firmware.sh)

    谢谢、

    Amite2e.ti.com/.../0714.logs.txt

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

    您确定/dev/video1正确吗?
    在 EVM 上、/dev/video1是 HDMI。

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    也尝试使用/dev/video2、但结果相同。 未显示视频。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    由于 decode_display 演示、gstreamer 也应起作用。

    您是否使用了默认的 DE解码 显示演示、或者您对其进行了一些更改?
    您是在 EZSDK 中使用默认的 gstreamer 还是在编译的版本中使用?

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

    很抱歉耽误您的回答。

    它应该是默认值。 但我很快会与您确认。

    谢谢、

    Amit

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

    请告诉我。

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

    您的讨论会发生什么情况? )
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的。 我们对 decode_display 应用程序进行了一些与显示相关的更改。 在 gstreamer 中更改这些参数会使事情变得有效。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,感谢您的回复。
    我能问什么是更改吗? 请您解释一下
    谢谢:)