我在嵌入式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/