2017-08-21 50 views
1

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 

答えて

0

:alsasrcですと同じやっていることはAVIファイルは、ビデオなしでオーディオデータのみを保存することができhttp://trac.gateworks.com/wiki/Yocto/gstreamer/audio#Encoding avilableのすべてのエンコーダをリストします。

avimuxを再度チェックすると、オーディオ/ x-alaw形式のデータを受信できることがわかりました。 この場合、lamemp3encの代わりにgst-plugins-goodに属するalawencを使用できます。

ので、私の最後のパイプがあるように:

gst-launch-1.0 alsasrc name=pulsesrc1 ! audioconvert name=audioconvert1 ! alawenc name=alawenc1 ! queue name=aud1 ! mux. appsrc name=appsrc1 ! deinterlace name=deinterlace1 ! mfxh264enc name=mfxh264enc1 ! mux. avimux name=mux ! filesink name=filesink1 location=HDTest1.avi 
関連する問題