Преобразование видео в WebM с помощью GStreamer

документация GStreamer сбивает с толку. Это еще не повод прибегать к StackOverflow.com, но все же:

Что такое GStreamer командная строка для преобразования любого видеофайла (из любого формата) в WebM (+webm audio)?

это единственная документация с примерами, которые я мог найти.

Я застрял где-то в 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 ответов


у вас есть элементы трубопровода все в порядке и у вас есть синтаксические ошибки при работе с именованными элементами. Попробуйте что-то вроде этого:

gst-launch - 0.10 расположение filesrc=oldfile.ВН ! decodebin name=demux ! очередь ! ffmpegcolorspace ! vp8enc ! имя webmmux=mux ! расположение filesink=новый файл.формат WebM демультиплексоры. ! очередь ! progressreport ! audioconvert ! audioresample ! vorbisenc ! мультиплексор.

Это построит следующее трубопровод:

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

Если у вас есть видео без звука (например, видео из службы, такой как Видеоблоки), удалите аудиопровод.