再生のためのコマンドラインは次のようになります。 まずはビデオデータを

再生のためのコマンドラインは次のようになります。 まずはビデオデータをコンテナか
ら取り出し、続いて取り出したビデオデータを再生します。
$ 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