2014-10-13 11 views
5

Früher schrieb ich so:FFmpeg, avconv und sameq

ffmpeg -i input.mp4 -sameq output.mp3 

... und somit erhalten Audio von Video-Datei. Ffmpeg gerade herausgenommen oder konvertiert Audio in MP3 mit einer entsprechenden Qualität. Alle dank Schlüssel: -sameq [Verwendung derselben Quantisierer als Quelle]

Jetzt in Ubuntu anstelle von ffmpeg wir haben libav und dort (in Mann für avcomv) Ich sehe keinen -sameq Schlüssel. Nun, hier ist eine Frage: was muss ich jetzt tun? ..

Was muss ich jetzt tun, um Audiodatei mit der gleichen Qualität wie im Original konvertiert zu bekommen?

PS. -sameq: Verwenden Sie den gleichen Quantisierer als Quelle (impliziert VBR).

$ man ffmpeg | col -b > ./man_ffmpeg 

this man_ffmpeg is there: http://pastebin.com/qYxz1M1E

FFMPEG(1) 
NAME 
    ffmpeg - ffmpeg video converter 
SYNOPSIS 
    ffmpeg [[infile options][-i infile]]... {[outfile options] outfile}... 
... 
... 
... 
-sameq 
    Use same quantizer as source (implies VBR). 
... 
... 
... 
SEE ALSO 
    avplay(1), avprobe(1), avserver(1) and the Libav HTML documentation 
AUTHORS 
    The Libav developers 
2014-02-06 
FFMPEG(1) 
+2

Siehe [Was ist die "-sameq" oder "-same_quant" Option in FFmpeg? Bedeutet es "gleiche Qualität" (http://superuser.com/q/478549/110524)? – LordNeckbeard

+0

Sie können nicht die gleiche Qualität erreichen, wenn Sie einen verlustbehafteten Encoder verwenden, aber Sie können ihm eine Bitrate geben, die gleich klingt. Verwenden Sie für MP3 '-b: a' oder' -q: a' wie in [FFmpeg MP3 Encoding Guide] (https://trac.ffmpeg.org/wiki/Encode/MP3) gezeigt (gilt möglicherweise nicht für 'avconv'). – LordNeckbeard

+0

Der -sameq-Schlüssel ist in Mann ffmpeg @LordNeckbeard Sie können dieses Zeug dort sehen: http://pastebin.com/qYxz1M1E und ich brauche eine Realisierung dieses "gleichen Quantisierers als Quelle" aber in avconv – xiaose

Antwort

3

Sie richtig sind, hat -sameq Option als veraltet und wird dann von avconv entfernt, gab es für sie viele Gründe. Nicht zuletzt, dass es verschiedene Quantisierer gibt, und es macht wenig Sinn, über dieselben Quantisiererparameter zu sprechen, wenn zwischen verschiedenen Codecs neu codiert wird.

Mehrheit der Menschen, wenn Reencoding auf der Suche nach Qualität, nicht Quantisierer. Sie sollten also -qscale n verwenden, wobei n zwischen 1 und 31 steht und die Qualität vom besten zum schlechtesten darstellt.

In gewisser Weise, wenn Sie sich an die Option -sameq gewöhnt haben, sind Sie Opfer eines Tools geworden, das zu Testzwecken bestenfalls dort gewesen sein sollte. Es erzeugt nichts Vernünftiges und kann dazu gebracht werden, "gleiche Metadaten" in den Container zu stellen, der es nicht unterstützt, oder "Stream" in ein archaisches Dateiformat zu kopieren (was zu AVI mit Vorbis-Audio führt) , das kann nicht einmal gespielt werden). Sie können etwas zusammen hacken, das all diese Dinge tut, aber es hat keinen Platz in einem Video-Encoding-Tool.

Ich schlage vor, dass wenn Sie viele Stresstests von verschiedenen Containern und Codecs durchführen, dann installieren Sie ffmpeg, die mehr Tools zur Erstellung von frankensteins hat. Wenn Sie die Dateien, die Sie erstellen oder verteilen, neu codieren, können Sie eine weitere Frage erstellen, in der Ihre Situation erklärt wird und was das gewünschte Ergebnis ist.

Kurz gesagt: "Wie kann ich mit genau dem gleichen Quantisierer einen Neucodierungsprozess erstellen?" Kann nur mit "Nein" beantwortet werden.

Verwandte Themen