0

我正在尝试使用 gstreamer 将 DVD 转换为 mkv 文件。我使用的管道是:

gst-launch -evv multifilesrc location="VTS_01_%d.VOB" index=1 !dvddemux 名称=解复用器\
 matroskamux 名称=多路复用器!文件接收器位置=test.mkv \
 demuxer.current_video !队列 !mpeg2dec !x264enc !多路复用器。\
 demuxer.current_audio !队列 !ffdec_ac3 !lamemp3enc !多路复用器。

不幸的是,管道并没有超出预滚动。当我用例如 ffenc_mpeg4 替换 x264enc 时,一切正常..

4

1 回答 1

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 中的延迟

这两个更改使管道在我的末端运行。

去隔行器是可选的,但对于隔行扫描的内容是可取的。

于 2012-10-25T01:49:56.370 回答