2013-03-10 247 views
0

我想了解gstreamer管道。現在我想播放包含h264編碼視頻幀和aac編碼音頻樣本的mp4視頻。 播放視頻樣本我用下面的管道Gstreamer一起播放音頻和視頻

gst-launch-0.10 filesrc location=~/samples/step_up_dance_1080p.mp4 ! qtdemux name=dmux dmux.video_00 ! h264parse ! ffdec_h264 ! autovideosink 

我用下面管道用於播放音頻單獨

gst-launch-0.10 filesrc location=~/samples/step_up_dance_1080p.mp4 ! qtdemux name=dmux dmux.audio_00 ! aacparse ! faad ! autoaudiosink 

兩者都工作正常,但我想音頻和視頻結合起來。我該怎麼做 ? 我試過

gst-launch-0.10 filesrc location=~/samples/step_up_dance_1080p.mp4 ! qtdemux name=dmux dmux.video_00 ! h264parse ! ffdec_h264 ! autovideosink dmux.audio_00 ! aacparse ! faad ! autoaudiosink 

但它不工作。 如何一起播放音頻和視頻?

回答

3

首先,在說somethng不起作用時,請告訴發生了什麼。考慮到流水線的停頓,你只是忘記了爲解碼器創建新線程的隊列元素。

gst-launch-0.10 filesrc location=~/samples/step_up_dance_1080p.mp4 ! qtdemux name=dmux dmux.video_00 ! queue ! h264parse ! ffdec_h264 ! autovideosink dmux.audio_00 ! queue ! aacparse ! faad ! autoaudiosink 

只是使用playbin更簡單。看看管道佈局。

GST_DEBUG_DUMP_DOT_DIR=$PWD gst-launch-0.10 playbin2 uri=file://$HOME/samples/step_up_dance_1080p.mp4 

,並使其使用的graphviz創建點文件(點-Tsvg xxx.dot -o xxx.svg)。

+0

這將工作肯定...我試圖瞭解管道..我正在尋找如何可以做到這些並行。 – jithin 2013-03-12 04:04:11