2011-01-10 3 views
8

Documentation pour GStreamer est source de confusion. Ceci est encore aucune excuse pour avoir recours à StackOverflow.com, mais encore:Convertir la vidéo en WebM à l'aide de GStreamer

Quelle est la ligne de commande GStreamer pour convertir un fichier vidéo (tout format) à WebM (+ audio WebM)?

This is the only documentation with examples I could find.

Je suis coincé quelque part à 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

Je reçois WARNING: erroneous pipeline: link without source element avec aucune idée de comment obtenir cette chose va.

C'est très frustrant.

S'il vous plaît, aidez, merci. :)

Répondre

17

Vous avez tous les éléments de pipeline en désordre et vous avez des erreurs de syntaxe lorsque vous traitez des éléments nommés. Essayez quelque chose comme ceci:

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.

Ce construira le pipeline suivant:

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

Je reçois une erreur. Voici les détails (le coller dans le bloc-notes/similaire et remplacer '->' par newlines pour rendre ceci lisible): Le pipeline est PREROLLING ... -> ERREUR: from element/GstPipeline: pipeline0/GstDecodeBin: demux/GstAviDemux: avidemux0 : Erreur de flux de données interne. -> Informations de débogage supplémentaires: -> gstavidemux.c (5134): gst_avi_demux_loop():/GstPipeline: pipeline0/GstDecodeBin: demux/GstAviDemux: avidemux0: -> streaming arrêté, raison non liée -> ERREUR: pipeline ne veut pas preroll. -> Paramétrer le pipeline sur NULL ... -> Libérer le pipeline ... –

+0

Quelle version de gstreamer? Il semble que l'élément avidemux ait du mal à détecter le format de certains flux. – cdhowie

+0

0,10 pour OSX. J'ai installé en utilisant homebrew (le nouveau MacPorts). J'ai essayé d'exécuter la même ligne sur ma virtualbox Ubuntu, et cela fonctionne parfaitement. Qu'est-ce que je rate? –

1

Si vous avez des vidéos sans audio (tels que des vidéos à partir d'un service comme VideoBlocks), retirez le pipeline audio.

Questions connexes