再生のためのコマンドラインは次のようになります。 まずはビデオデータをコンテナか ら取り出し、続いて取り出したビデオデータを再生します。 $ gst-launch filesrc location=sample.avi ! avidemux ! xviddec ! xvimagesink aivdemuxer エレメントは AVI demuxer、xviddec エレメントは MPEG4 デコーダです。 それでは、ビデオとオーディオを両方同時に扱うことに挑戦しましょう。ここからは少し 複雑になっていきます。まずはオーディオを含むビデオクリップを作成します。ビデオに は MPEG4、オーディオには MP3 のコーデックを使い、AVI コンテナに格納することにし ます。 $ gst-launch audiotestsrc samplebuffer=4410 num-buffers=100 ! audioconvert ! lame ! queue ! mux.audio_0 videotestsrc num-buffers=300 ! xvidenc ! queue ! mux.video_0 avimux name=mux ! filesink location=sample.avi audiotestsrc エレメントから発生したオーディオストリームと videotestsrc エレメント から発生したビデオストリームを結合して avimuxer エレメントで AVI コンテナに格納し ています。gst-launch でもっともわかりにくいのがパイプラインが分岐や結合を持つと きの表現方法です。Gstreamer のパイプラインはエレメントのシンクパッドとソースパッ ドを介してつながっているのでした。上記の gst-launch のパイプライン表現では mux.audio_0 と mux.video_0 はエレメントではなく pad の名前を示しています。 ... lame queue sinkpad audio_0 avimux ... xvidenc queue sinkpad video_0 図 4.2 avimux 含むパイプラインのパッド構成 52 filesink
© Copyright 2024 Paperzz