gstreamerを使用してh264ビデオとオーディオを1つの.aviファイルにエンコードしようとしています。 私はビデオのためにこれを使用してオーディオまたはビデオをエンコードすることができるよ:オーディオ用gstreamerでオーディオとビデオをaviファイルにエンコードする
gst-launch-1.0 appsrc name=appsrc ! deinterlace name=deinterlace ! mfxh264enc name=mfxh264enc ! avimux name=mux ! filesink name=filesink location=test.avi
と、この:
gst-launch-1.0 alsasrc ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink location=audioTestQueue.mp3
私はこのパイプでthis例によれば、それらを組み合わせることしようとしています:
gst-launch-1.0 appsrc name=appsrc ! deinterlace name=deinterlace ! mfxh264enc name=mfxh264enc ! queue name=queue1 ! mux. alsasrc name=alsasrc ! audioconvert name=audioconvert ! vorbisenc name=vorbisenc ! queue name=queue2 ! mux. avimux name=mux ! filesink name=filesink location=test.avi
「キュー2をマルチプレクサにリンクできませんでした」というエラーが返されます。
私は例をエンコードするためにラメを使用していることを知っているが、それはgstremerがdocumentation が言うとき醜いプラグインのソースであると私はむしろそれを使用していない:「があり、そのMP3が自由形式ではありません注意してくださいライセンス供与や特許の問題を考慮する必要があります。ロイヤルティフリーの(より高品質な)代替案については、Ogg/Vorbisを参照してください。
何が間違っていますか?
EDIT:
audiotestsrcにサウンドを設定し、無効にする場合、オーディオencodeingのgstreamerのは.AVIファイルを作成し、私はVLCで再生することができるよようだ:
gst-launch-1.0 appsrc name=appsrc1 ! deinterlace name=deinterlace1 ! mfxh264enc name=mfxh264enc1 ! queue name=queue11 ! mux. audiotestsrc name=alsasrc1 ! audioconvert name=audioconvert1 ! queue name=queue31 ! mux. avimux name=mux ! filesink name=filesink1 location=test.avi
だけにしよう私はこれを発見したのGStreamerのドキュメントに、より掘り後
gst-launch-1.0 appsrc name=appsrc1 ! deinterlace name=deinterlace1 ! mfxh264enc name=mfxh264enc1 ! queue name=queue11 ! mux. alsasrc name=alsasrc1 ! audioconvert name=audioconvert1 ! queue name=queue31 ! mux. avimux name=mux ! filesink name=filesink1 location=/home/user/Downloads/HDTest1.avi