Konvertieren Sie Videos mit vp9-Codec mithilfe von ffmpeg

23067
Pavel Binar

Ich versuche, input.mp4Video in den output.mkvvp9-Codec umzuwandeln. Ich habe über die Entwicklung Version von ffmpeg installieren: brew install ffmpeg --devel.

ffmpeg -i input.mp4 -vcodec vp9 output.mkv

Aber ich Unknown encoder 'vp9'bekomme einen Fehler: sogar die vp9 ist enthalten:ffmpeg -codecs

7
Sie sollten immer die vollständige Ausgabe der `ffmpeg`-Konsole einschließen. LordNeckbeard vor 10 Jahren 0
`brew install ffmpeg --with-libvpx --with-opus ' Joel Purra vor 9 Jahren 0

2 Antworten auf die Frage

8
LordNeckbeard

Der grundlegendste Befehl ist:

ffmpeg -i input.mp4 -vcodec libvpx-vp9 -strict experimental output.webm 
  • FFmpeg hält diesen Encoder derzeit für experimentell. Die Standardeinstellungen liefern wahrscheinlich keine großartige Ausgabe. Dies ist derzeit ein sehr langsamer Encoder, aber die Optimierungsentwicklung wird fortgesetzt.

  • Wenn Sie den Empfehlungen im FFmpeg VPx Encoding Guide folgen, erhalten Sie eine akzeptablere Ausgabe. Ich glaube jedoch, dass der Leitfaden für VP8 geschrieben wurde, und ich bin mir nicht sicher, wie sehr sich VP8 in Bezug auf Optionen von VP9 unterscheidet.

  • Der Standard-Audio-Encoder wird sein libvorbis. Weitere Informationen finden Sie in den Vorbis-spezifischen Informationen im FFmpeg Theora und Vorbis Encoding Guide .

  • Eine Liste der derzeit unterstützten Encoder finden Sie unter ffmpeg -encoders:

    $ ffmpeg -encoders | grep -i vp … V..... libvpx libvpx VP8 (codec vp8) V..... libvpx-vp9 libvpx VP9 (codec vp9) 
Danke, aber Befehl funktioniert nicht. Hier ist das Protokoll: https://gist.github.com/pavelbinar/8236408 Das Problem ist wahrscheinlich die Tatsache, dass ich keinen vp9-Encoder installiert habe / eingeschlossen habe (ich dachte, dass es in der ffmpeg 2.x ist) https: // gist.github.com/pavelbinar/8236426 Pavel Binar vor 10 Jahren 0
Ich habe ffmpeg und alle seine Komponenten über diese Anleitung installiert und es funktioniert jetzt! https://sites.google.com/a/webmproject.org/wiki/ffmpeg/building-with-libvpx Pavel Binar vor 10 Jahren 0
2
user7610

Mit meiner Version von ffmpeg

$ ffmpeg -version ffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers 

Der Befehl sieht so aus

ffmpeg -y -i input.mkv -c:v libvpx-vp9 -b:v 2000k -pass 1 -an -f webm /dev/null ffmpeg -i input.mkv -c:v libvpx-vp9 -b:v 2000k -pass 2 -c:a opus -b:a 64k -f webm output.webm 

dh

  • Lassen Sie die experimentellen Flaggen weg
  • Führen Sie eine Kodierung mit zwei Durchgängen durch, da sonst die ersten zwei Sekunden der Ausgabe verschwommen sind. Eine Zwei-Durchlauf-Kodierung ist auch schneller als ein Durchlauf.
  • Wenn Sie 2 Durchgänge durchführen, müssen Sie das Audio im ersten Durchlauf nicht als @FrankGalligan in einem Kommentar codieren

Ein einzelner Durchgang ist / war laut http://wiki.webmproject.org/vp9/known-issues defekt

Setzen Sie nicht -strict experimentell. Das war für ältere FFmpeg. Wenn Sie 2 Durchgänge durchführen, müssen Sie das Audio im ersten Durchlauf nicht kodieren. `ffmpeg -y -i input.mkv -c: v libvpx-vp9 -b: v 2000k -pass 1 -an -f webm / dev / null` `ffmpeg -i input.mkv -c: v libvpx-vp9 -b : v 2000k -pass 2 -c: ein opus -b: ein 64k -f-webm output.webm` FrankGalligan vor 9 Jahren 0