【问题标题】:gstreamer muxing with x264encgstreamer 与 x264enc 的复用
【发布时间】:2012-10-24 20:25:00
【问题描述】:

我正在尝试使用 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 时,一切正常..

【问题讨论】:

    标签: gstreamer x264


    【解决方案1】:

    这可能有效:

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

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

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

    【讨论】:

    • av501,这似乎有效。非常感谢,伙计!现在,我的问题是,你是怎么想出来的?你如何调试这些东西?您如何分析管道不启动的原因...?顺便说一句:我看到你还添加了 audioconvert。有必要吗?
    • 在 gst-launch 之前的管道命令之前添加 "GST_DEBUG=" 将打印调试语句并告诉您很多事情。然后您需要扫描错误、警告、“不能...”或“不兼容”等句子如果 ac3 解码器的输出与 lame 编码器兼容,则可能不需要音频转换,但对于格式为不兼容。
    猜你喜欢
    • 2013-06-25
    • 1970-01-01
    • 2012-02-02
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    • 2012-11-02
    • 1970-01-01
    相关资源
    最近更新 更多