2

gstreamer パイプラインについて学ぼうとしていました。ここで、h264 でエンコードされたビデオ フレームと aac でエンコードされたオーディオ サンプルを含む mp4 ビデオを再生したいと考えています。ビデオサンプルを再生するために、次のパイプラインを使用しました

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

しかし、それは機能していませんでした。オーディオとビデオを一緒に再生するにはどうすればよいですか?

4

1 に答える 1

3

まず、何かがうまくいかないと言うときは、何が起こったのか教えてください。パイプラインが停止した場合、デコーダー用の新しいスレッドを作成するキュー要素を忘れているだけです。

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 を使用して作成したドット ファイルをレンダリングします (dot -Tsvg xxx.dot -o xxx.svg)。

于 2013-03-11T18:44:48.690 に答える