簡體   English   中英

gstreamer將音頻和視頻編碼為avi文件

[英]gstreamer encoding audio and video to avi file

我正在嘗試使用gstreamer將h264視頻和音頻編碼為單個.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

我正在嘗試根據示例將其與以下管道組合:

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

這將返回錯誤消息:“無法將queue2鏈接到多路復用器”。

我知道該示例使用的是me腳的編碼方式,但是當gstremer 文檔說:“請注意,MP3不是免費格式,存在許可和專利問題時,我卻不像Ugly Plug-ins那樣使用它。考慮到這一點,請參閱Ogg / Vorbis,以獲得免版稅(通常質量更高)的替代方案。”

我究竟做錯了什么?

編輯:
似乎將聲音設置為audiotestsrc並禁用音頻編碼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

但是嘗試對alsasrc進行相同操作會使avi文件僅保存音頻數據而不保存視頻:

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

在深入研究了Gstreamer文檔之后,我發現了這一點: http ://trac.gateworks.com/wiki/Yocto/gstreamer/audio#Encoding,其中列出了所有適用的編碼器。

再次檢查avimux ,我發現它可以接收音頻/ x-alaw格式的數據。 對於這個事實,我可以使用alawenc屬於GST-plugins的好,而不是lamemp3enc

所以我的最終管道是這樣的:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM