2011-01-10 32 views
8

Dokumentacja dla GStreamer jest myląca. Jest jeszcze żadnego usprawiedliwienia dla uciekania się do stackoverflow.com, ale nadal:Konwersja wideo na WebM przy użyciu GStreamer

Co jest GStreamer linii poleceńprzekonwertować dowolny plik wideo (z dowolnego formatu) do WebM WebM (+ audio)?

This is the only documentation with examples I could find.

Utknąłem gdzieś w 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

Dostaję WARNING: erroneous pipeline: link without source element nie mając pojęcia jak uzyskać to, co dzieje.

To dość frustrujące.

Proszę o pomoc, dziękuję. :)

Odpowiedz

17

Wszystkie elementy potoku są nieczynne i występują błędy składniowe podczas pracy z nazwanymi elementami. Spróbuj czegoś takiego:

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.

ta wybuduje gazociąg następujący:

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

Otrzymuję błąd. Oto szczegóły (wklej je do notatnika/podobne i zamień "->" na nowe linie, aby uczynić to czytelnym): Pipeline PREROLLING ... -> ERROR: od elementu/GstPipeline: pipeline0/GstDecodeBin: demux/GstAviDemux: avidemux0 : Błąd wewnętrznego strumienia danych. -> Dodatkowe informacje dotyczące debugowania: -> gstavidemux.c (5134): gst_avi_demux_loop():/GstPipeline: potok0/GstDecodeBin: demux/GstAviDemux: avidemux0: -> przesyłanie strumieniowe zostało zatrzymane, przyczyna nie jest powiązana -> ERROR: potok nie chce prerollować. -> Ustawienie potoku na NULL ... -> Uwolnienie potoku ... –

+0

Która wersja programu Gstreamer? Wygląda na to, że element avidemux ma problem z wykryciem formatu niektórych strumieni. – cdhowie

+0

0.10 dla OSX. Zainstalowałem używając homebrew (nowy MacPorts). Próbowałem wykonać tę samą linię na mojej wirtualnej skrzynce Ubuntu i działa idealnie. czego mi brakuje? –

1

Jeśli masz filmy z żadnym audio (takich jak filmy z usług takich jak VideoBlocks), usunąć rurociągu audio.

Powiązane problemy