2011-01-10 12 views
8

Documentación para GStreamer es confuso. Esto todavía no hay excusa para recurrir a StackOverflow.com, pero aún así:Convertir video a WebM con GStreamer

¿Cuál es la línea de GStreamer comando para convertir cualquier archivo de vídeo (de cualquier formato) a WebM (+ audio WebM)?

This is the only documentation with examples I could find.

estoy atascado en algún lugar en 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

estoy un WARNING: erroneous pipeline: link without source element sin tener idea de cómo conseguir esta cosa va.

Esto es bastante frustrante.

Por favor, ayuda, gracias. :)

Respuesta

17

Tiene todos los elementos de canalización fuera de servicio y tiene errores de sintaxis al tratar con elementos con nombre. Intentar algo como esto:

gst-launch-0.10 filesrc location=oldfile.ext ! decodebin name=demux ! queue ! ffmpegcolorspace ! vp8enc ! webmmux name=mux ! filesink location=newfile.webm demux. ! queue ! progressreport ! audioconvert ! audioresample ! vorbisenc ! mux.

éste construirá de la siguiente tubería:

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

Me aparece un error. Aquí están los detalles (pégalo en el bloc de notas/similar y reemplace '->' con líneas nuevas para hacer esto legible): Pipeline está PREROLLING ... -> ERROR: from element/GstPipeline: pipeline0/GstDecodeBin: demux/GstAviDemux: avidemux0 : Error interno de flujo de datos. -> Información de depuración adicional: -> gstavidemux.c (5134): gst_avi_demux_loop():/GstPipeline: pipeline0/GstDecodeBin: demux/GstAviDemux: avidemux0: -> transmisión interrumpida, motivo no vinculado -> ERROR: pipeline no quiere pre-roll. -> Configuración de la tubería en NULL ... -> Liberación de la tubería ... –

+0

¿Qué versión de Gstreamer? Parece que el elemento avidemux tiene problemas para detectar el formato de algunas transmisiones. – cdhowie

+0

0.10 para OSX. Instalé utilizando homebrew (los nuevos MacPorts). Intenté ejecutar la misma línea en mi virtualbox Ubuntu, y funciona perfectamente. ¿Qué me estoy perdiendo? –

1

Si tienes videos sin audio (como los vídeos de un servicio como VideoBlocks), retire la tubería de audio.

Cuestiones relacionadas