2016-07-14 27 views
0

Ich weiß, dass es etwas kopiert, aber anders als das, was es tut (in welchem ​​Umfang beeinflusst es die Ausgabedatei)? Ist es ein Schalter oder eine Option? Warum hat es keinen Bindestrich vor dem Wort selbst?Was macht "Kopieren" in einer ffmpeg-Befehlszeile?

Ich sehe von anderen Fragen, dass es copy streams without transcode aber was andere Möglichkeit ist, dass ich es manipulieren kann?

Ich habe getan ffmpeg --help, aber ich sehe keine Dokumentation darüber. Gibt es eine Website, auf der ich mehr darüber lesen kann?

Antwort

4

copy ist weder ein Schalter noch eine Option. Es ist der Wert, der für die Codec-Option eingestellt werden kann, und bedeutet, was er vorschlägt, d. H. Kopieren Sie die Rahmen, anstatt einen Dekodier-> Filter-> Kodierungsprozess zu durchlaufen.

In der Frage, die Sie verknüpft haben, lautet die Zeichenfolge -c copy, was bedeutet, dass alle Codec-Operationen zum Kopieren von Video, Audio, Untertiteln, Daten und Anhängen gesetzt werden. -c ist die Abkürzung für -codec.

Wenn Sie -c:v copy festlegen, bedeutet dies, dass alle Videostreams, die gerade verarbeitet werden, kopiert werden. Gleiches gilt für -c:a oder -c:s oder -c:d. FFmpeg muss natürlich das Muxen des Zieldatenstroms in den Ausgabebehälter unterstützen. Wenn dies nicht der Fall ist, wird der Befehl fehlschlagen.

Sie können keine Audio-/Video-/Multimedia-Filter verwenden, wenn Sie den Stream kopieren möchten, da die Filter die Audio-/Videoframes decodieren und manipulieren müssen. Ihr Ergebnis muss also neu codiert werden. Sie können jedoch Bitstream-Filter mit Kopie verwenden, da diese die Hauptnutzdaten nicht ändern, sondern nur die zugehörigen Metadaten, die im Stream gespeichert sind.