2015-10-04 200 views
-2

我想利用這條管道從我的攝像頭捕捉MJPEG視頻流(+音頻)爲.MTS容器:錄製視頻

gst-launch-1.0 v4l2src do-timestamp=true device=/dev/video0 \ !  
'image/jpeg,framerate=30/1,width=1280,height=720' ! videorate \ 
! queue ! mux2. pulsesrc do-timestamp=true \ 
device="alsa_input.pci-0000_00_1b.0.analog-stereo" ! \ 
'audio/x-raw,rate=88200,channels=1,depth=24' ! audioconvert ! \ 
avenc_aac compliance=experimental ! queue ! \ 
    mux2. mpegtsmux name="mux2" ! filesink location=/home/sina/Webcam.mts 

看來我的管線沒有按」 (?)筆識別mpegtsmux 當我avimux使用,甚至matroskamux它的工作原理,但據我所知,對MPEG-TS我需要使用正確的複用器,這是「mpegtsmux」

這是警告:

警告:錯誤的管道:不能鏈接到隊列0 MUX2

能否請你告訴我有什麼管道的一部分是錯誤的?或者我用什麼,以便在年底獲得時間戳的視頻流發生變化(在視頻播放期間,當我通過kdenlive或VLC播放必須證明)?

最佳, 新浪

回答

0

我認爲你缺少複用之前的一些編碼器。 剛剛嘗試這一點不帶音頻(加x264enc):

gst-launch-1.0 v4l2src device=/dev/video0 ! videorate ! queue ! x264enc ! mpegtsmux name="mux2" mux2. ! filesink location=bla.mts

你越來越清楚地說,它..它不能連接複用,因爲MUX不支持的功能圖像/ JPEG警告..只是檢查與命令接收器墊的功能部:

gst-inspect-1.0 mpegtsmux

但是它支持例如視頻/ X-H264 - 因而需要對x264enc