2012-10-24 85 views
0

我想用gstreamer將DVD轉換成mkv文件。我使用的管道是:gstreamer與x264enc muxing

 
gst-launch -evv multifilesrc location="VTS_01_%d.VOB" index=1 ! dvddemux name=demuxer \ 
matroskamux name=mux ! filesink location=test.mkv \ 
demuxer.current_video ! queue ! mpeg2dec ! x264enc ! mux. \ 
demuxer.current_audio ! queue ! ffdec_ac3 ! lamemp3enc ! mux. 

不幸的是,管道沒有超出預卷。當我與例如ffenc_mpeg4更換x264enc,然後一切工作正常..

回答

5

這可能工作:

gst-launch filesrc location=file.vob \ 
    ! queue \ 
    ! dvddemux name=demuxer matroskamux name=mux \ 
    ! queue \ 
    ! filesink location=test.mkv demuxer.current_video\ 
    ! queue \ 
    ! ffdec_mpeg2video \ 
    ! ffdeinterlace \ 
    ! x264enc \ 
    ! 'video/x-h264, width=720, height=576, framerate=25/1' \ 
    ! mux. demuxer.current_audio \ 
    ! queue max-size-bytes=0 max-size-buffers=0 max-size-time=10000000000 \ 
    ! ffdec_ac3 \ 
    ! audioconvert \ 
    ! lamemp3enc \ 
    ! mux. 

字節流應該是0 - 遺憾的是較早

你需要給帽x264enc 之後的視頻,並且您需要增加音頻隊列的限制以處理x264enc中的延遲

這兩個更改使管道在我的末端運行。

去隔行器是可選的,但對於隔行掃描內容而言是可取的。

+0

沒有幫助... –

+0

同意..我已經解決了..看到我上面的編輯 – av501

+0

av501,這似乎工作。非常感謝,男士!現在,我的問題是,你是如何解決這個問題的?你如何調試這些類型的東西?你怎麼能分析爲什麼管道不啓動...?順便說一句:我看你還加了audioconvert。這是必要的嗎? –