使用GStreamer将视频转换为WebM

时间:2011-01-10 18:08:30

标签: video video-encoding gstreamer webm

GStreamer 的文档令人困惑。这仍然是诉诸 StackOverflow.com 的借口,但仍然是:

将任何视频文件(从任何格式)转换为WebM(+ WebM音频)的 GStreamer 命令行是什么?

This is the only documentation with examples I could find

我被困在gst-launch-0.10 webmmux name=mux ! filesrc location=oldfile.ext ! filesink location=newfile.webm ! name=demux ! demux. ! ffmpegcolorspace ! vp8enc ! queue ! mux.video_0 ! demux. ! progressreport ! audioconvert ! audiorate ! vorbisenc ! queue ! mux.audio_0

的某个地方

我得到WARNING: erroneous pipeline: link without source element但不知道如何让这件事情继续下去。

这非常令人沮丧。

请帮助,谢谢。 :)

2 个答案:

答案 0 :(得分:17)

管道元素全部乱序,处理命名元素时会出现语法错误。尝试这样的事情:

  

gst-launch-0.10 filesrc location = oldfile.ext! decodebin name = demux!排队! ffmpegcolorspace! vp8enc! webmmux name = mux! filesink location = newfile.webm demux。 !排队!进度报告 ! audioconvert!听觉样本! vorbisenc!多路复用器。

这将构建以下管道:

               filesrc
                  |
              decodebin
                |   |
        +-------+   +-------+
        |                   |
        |                 queue
      queue                 |
        |             progressreport
        |                   |
ffmpegcolorspace       audioconvert
        |                   |
        |             audioresample
      vp8enc                |
        |               vorbisenc
        |                   |
        +-------+   +-------+
                |   |
               webmmux
                  |
               filesink

答案 1 :(得分:1)

如果您的视频没有音频(例如来自VideoBlocks等服务的视频),请删除音频管道。