Ändern Sie die Größe in FFmpeg

1473
KLNy

Ich habe ein Video mit einer Auflösung von 1920x1080p. Ich möchte dieses Video neu codieren (mit libx264 für Video und aac für Audio); Verringern Sie den Wert zuerst auf 1280 x 720p (mit demselben Seitenverhältnis), während Sie eine andere Video-Bitrate (1900 kbps) und eine andere Audio-Bitrate (96 kbps) verwenden. Ich möchte auch von mkv zu mp4 wechseln. Ich möchte nichts von den vorherigen Codierungseinstellungen ändern (Nur die Bitrate und die Videogröße). Ich möchte die variable Bitrate (in Video und Audio) verwenden, weiß aber nicht, wie ich sie in FFmpeg (ich habe die neueste Version 3.0 - Windows 7) gesetzt habe. Um eine bessere Qualität zu erzielen, ist es nützlich, einen CRF-Wert zusammen mit der variablen Bitrate anzugeben (und wenn ja, wie kann ich das tun)? Wenn ich es auf 480p herunterskalieren möchte, wie kann ich das tun und das Seitenverhältnis beibehalten?

Eine Sache noch; Was ist "Maxrate", "Minrate" und "Bufsize" und wo kann ich diese verwenden? Ich glaube, ich habe gesehen, dass CRF VBR verwendet, aber in einem Artikel wurden die oben genannten (für VBR) verwendet. Daher kann ich nicht genau sagen, was verwendet werden muss, um eine kleinere Dateigröße zu erhalten, indem lediglich die Bitrate (und die Videogröße) verringert wird. wenn möglich).

Ich weiß auch nicht, ob der VBR-Modus für das Ziel geeignet ist, das ich erreichen möchte, aber ich habe gelesen, dass es der beste Modus ist.

Vielen Dank für Ihre Zeit!

1
Warum wollen Sie überhaupt neu codieren? LordNeckbeard vor 8 Jahren 0
Ich möchte eine kleinere Dateigröße erhalten KLNy vor 8 Jahren 0

1 Antwort auf die Frage

2
LordNeckbeard

Sie haben hier viele Fragen gestellt, aber ich denke, Sie denken darüber nach.

Verwenden Sie einfach -crfund -preset. Verwenden Sie den höchsten -crfWert, der immer noch eine akzeptable Leistung liefert, und den langsamsten, für den -presetSie Geduld haben. Weitere Informationen finden Sie im FFmpeg Wiki: H.264 Video Encoding Guide .

Verwenden Sie für die Skalierung einfach den Skalierungsfilter wie folgt: -vf scale=1280:-2oder -vf scale=480:-2. Der -2Filter teilt dem Filter mit, dass der Aspekt erhalten bleiben soll, und passt die Ausgabe ggf. leicht an, um sie durch 2 teilbar zu machen, was von x264 für die Ausgabe mit YUV 4: 2: 0-Chroma-Subsampling benötigt wird.

Vielen Dank. Sind diese gleich? `-preset: v slow` und` -preset slow`? Und für das Audio? Welche davon sollte ich verwenden? "-vbr" oder "-b: a"? KLNy vor 8 Jahren 0
@KLNy `-preset` und` -preset: v` sind grundsätzlich gleich. Man hat nur einen Stream-Spezifizierer, um sicherzustellen, dass "ffmpeg" die Option auf Video und nicht auf Audio usw. anwenden kann (obwohl ich nicht glaube, dass es Audio-Encoder gibt, die "-preset" verwenden); Im Zweifelsfall verwenden Sie `-preset: v`. Wenn Sie den libfdk_aac-Audio-Encoder verwenden, verwenden Sie `-vbr`, andernfalls` -b: a`. Siehe [FFmpeg Wiki: AAC] (https://trac.ffmpeg.org/wiki/Encode/AAC). LordNeckbeard vor 8 Jahren 0
Ich las auch über -q: a für Variable in aac; Kann ich das verwenden (die Werte?)? KLNy vor 8 Jahren 0
@KLNy Ja. Weitere Informationen finden Sie unter [FFmpeg Wiki: AAC] (https://trac.ffmpeg.org/wiki/Encode/AAC). LordNeckbeard vor 8 Jahren 0