工具/软件:Linux
尊敬的专家:
下面列出了4个问题、我希望有人能帮我解决。
我使用的是 AM437x GP EVM、它运行从 SD 卡引导的 ti-processor-sdk-linux-AM437X-EVM-03.02.00.05预构建映像。 我有一个 mp4 (h.264)文件、我想对该文件进行解码并测量帧速率和 CPU 负载方面的性能。 我正在解码的文件具有 VNC 报告的以下规格。
编解码器:H264 - MPEG-4 AVC (第10部分)(avc1)
分辨率:768x322
帧速率:24
我不熟悉 gstreamer、但我成功地使某项工作正常。 在 Weston 运行但矩阵被终止的情况下、我可以使用
root@AM437X-EVM:~# gst-play-1.0 /tmp/MyFile.mp4
我将文件放入 tmp 文件系统、我认为它基于 RAM、而不是从 SD 卡读取。 但它并没有真正带来性能差异。 它可以正确解码、我可以在 Weston 窗口中看到它。 我遇到的问题是、它只会显示大约5fps 的画面。 我本以为会期待更多。 Top 报告 gstreamer 的 CPU 负载约为75%、Weston 的 CPU 负载约为11%。
我尝试了其他 gstreamer 方法、例如:
gst-launch-1.0 -v playbin uri =文件:/tmp/MyFile.mp4
几乎可以获得相同的结果。 我的第一个问题是:
Q1)是否应该使用更好的流水线来获得更好的性能?
接下来、我开始检查矩阵 GUI 中"Multimedia (多媒体)"下的 h/264解码示例。 我在 TI wiki 页面上找到、这与矩阵屏幕上显示的所用 gstreamer 流水线相匹配。
gst-launch-0.10 filesrc loce=$filename ! h264parse ! ffdec h264 ! 超赞的色彩空间 ! fbdevsink 设备=/dev/fb0
但是、当我尝试它时、我得到了
root@AM437X-EVM:~# gst-launch-1.0文件 rc location=/tmp/MyFile.mp4! h264parse! ffdec h264! 超棒的色彩! fbdevsink 设备=/dev/fb0
警告:错误流水线:无元素"ffdec h264"
因此、我有几个与此相关的问题
Q2)这不是用于矩阵 GUI H.264解码示例的 gstreamer 命令?
Q3)矩阵 H.264解码演示的分辨率和帧速率是多少?
这是一个更通用的问题
Q4)是否有人知道在使用 gstreamer 时如何测量帧速率? 我用谷歌搜索了一段时间、但似乎没有什么对我有效的东西。
谢谢、