audio - 嵌入式Linux上的Gstreamer音频问题

标签 audio embedded-linux gstreamer hardware-acceleration mpeg

我在嵌入式Linux上工作。我想以最少的CPU播放视频。因此,完成编译后,我尝试使用mplayer和gstreamer播放视频。 Mplayer使用CPU平均%10-20。我想在gstreamer上执行此操作。所以我尝试了以下命令:

1- gst-launch filesrc location=video_path.mpeg ! mpegdemux ! mpeg2dec ! autovideosink
2- gst-launch-0.10 filesrc location=video_path.mpeg ! dvddemux ! mpegvideoparse ! mpeg2dec ! xvimagesink
这些命令使用平均%10-20 CPU。我要这个号码。但是这些命令无法使用音频。我尝试添加音频元素,但无法实现。

我也尝试过gst-launch-1.0 playbin uri=file:///video_path.mpeg。音频可以使用此命令,但是CPU使用率很高,我不喜欢此命令。

如何使用1个或2个命令处理音频?

最佳答案

1- gst-launch filesrc location=video_path.mpeg ! mpegdemux ! mpeg2dec ! autovideosink

2-gst-launch-0.10 filesrc location=video_path.mpeg ! dvddemux ! mpegvideoparse ! mpeg2dec ! xvimagesink



通过上述两个管道,您要求gtreamer仅播放视频,结果您没有得到任何音频。

gst-launch filesrc location=video_path.mpeg ! mpegdemux name=demuxer demuxer. ! queue ! mpeg2dec ! autovideosink demuxer. ! queue ! mad ! audioconvert ! audioresample ! autoaudiosink



上面的管道应同时播放音频和视频。

注意:如果您支持硬件解码,这将减少进一步的CPU使用率。

关于audio - 嵌入式Linux上的Gstreamer音频问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56832730/

相关文章:

audio - wasapi:检测到没有播放任何内容(设备未在使用中)

java - 如何在Java中捕获声音?

c - 替代 Windows 主机的 mman.h

c - gstreamer 如何播放 PCM 文件,编程(C 更喜欢),而不是 gst-launch

gstreamer - Linux 设备上的 WebRTC 和 gstreamer

java - Java 上的多种声音

audio - 找不到适合 'libmp3lame' 和 'flv' 的输出格式

linux - 无法使用 Udoo neo 登录 u-boot 模式

regex - U-Boot版本提取对比

jQuery 限制之后的数字数量