2011-01-10 12 views
8

Dokumentation für GStreamer ist verwirrend. Dies ist immer noch keine Entschuldigung für den Rückgriff auf StackOverflow.com, aber immer noch:Konvertieren von Video in WebM mit GStreamer

Was ist die GStreamer Befehlszeilen alle Video-Dateien zu konvertieren (von einem beliebigen Format) zu WebM (+ WebM Audio)?

This is the only documentation with examples I could find.

ich irgendwo auf 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

stecken

Ich bin ein WARNING: erroneous pipeline: link without source element mit keine Ahnung bekommen, wie man dieses Ding in Gang zu bringen.

Das ist ziemlich frustrierend.

Bitte helfen, danke. :)

Antwort

17

Sie haben die Pipeline-Elemente alle außer Betrieb und Sie haben Syntaxfehler beim Umgang mit benannten Elementen. so etwas wie dieses versuchen:

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.

Dies wird die folgende Pipeline konstruieren:

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

Ich erhalte einen Fehler. Hier sind die Details (fügen Sie es in notepad/ähnlich ein und ersetzen Sie '->' mit Zeilenumbrüchen, um dies lesbar zu machen): Pipeline ist PREROLLING ... -> FEHLER: from Element/GstPipeline: pipeline0/GstDecodeBin: demux/GstAviDemux: avidemux0 : Interner Datenstromfehler. -> Zusätzliche Debug-Informationen: -> gstavidemux.c (5134): gst_avi_demux_loop():/GstPipeline: pipeline0/GstDecodeBin: demux/GstAviDemux: avidemux0: -> Streaming gestoppt, Ursache nicht verknüpft -> ERROR: pipeline möchte nicht vorrollen. -> Pipeline auf NULL setzen ... -> Pipeline freigeben ... –

+0

Welche gstreamer Version? Es sieht so aus, als ob das avidemux-Element Probleme beim Erkennen des Formats einiger Streams hat. – cdhowie

+0

0,10 für OSX. Ich habe Homebrew installiert (die neuen MacPorts). Ich habe versucht, die gleiche Zeile auf meiner Virtualbox Ubuntu auszuführen, und es funktioniert perfekt. Was vermisse ich? –

1

Wenn Sie Videos ohne Ton (wie Videos von einem Dienst wie VideoBlocks) haben, entfernen Sie die Audio-Pipeline.