gstreamer muxing与x264enc

时间:2012-10-24 20:25:00

标签: gstreamer x264

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

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时,一切正常......

1 个答案:

答案 0 :(得分: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中的延迟

这两个变化让管道在我的最后运行。

去隔行扫描器是可选的,但隔行扫描内容是理想的。