
Zusammenfassung:Ich habe einen alten Film, den ich vor einigen Jahren von YouTube heruntergeladen und als FLV-Datei gespeichert habe. Ich möchte daraus einen 13-minütigen Clip extrahieren. Dazu habe ich ihn mit ffmpeg in mp4 konvertiert, damit ich ihn in DaVinci laden und den Clip extrahieren konnte. Dann habe ich ihn mit Handbrake komprimiert. Dabei hat HandBrake die Framegröße jedoch erheblich reduziert und der komprimierte Clip ist im Vergleich zum Original etwas unscharf.
Warum erzwingt HandBrake diese Reduzierung der Framegröße und wie kann ich eine Ausgabe in der richtigen Framegröße erreichen?
Einzelheiten:
Die FLV-Datei ist 268 MB groß, hat eine Dauer von 107 Minuten, eine Bildgröße von 318 x 240 und eine Bildrate von 25:
Derffmpeg-BefehlIch habe zum Konvertieren in MP4 Folgendes verwendet:
ffmpeg -i input.flv -c copy output.mp4
Das dauerte etwa eine Sekunde. Das Ergebnis ist 264 MB:
Ich habe das in DaVinci geladen, den Clip extrahiert und dann als MP4, H.265, 318 x 240, 25 fps gerendert:
Das Ergebnis ist 51,4 MB, 13:19 mm:ss. MediaInfo meldet, dass es sich um HEVC handelt, was meines Wissens nach bedeutet, dass es sich um H.265 handelt, wie von mir angefordert:
Das Größen-Zeit-Verhältnis ist viel größer als beim gesamten Film:
- Film: 264 MB / 107 Minuten = 2,5 MB/min.
- Clip: 51,4 MB / 13,33 Min. = 3,9 MB/Min.
Wenn ich den Clip in HandBrake lade, wird mir angezeigt, dass die Quelle 318 x 240 und 25 fps ist. Obwohl er in H.265 ist, sagt HandBrake mir, dass er in H.264 ist. Dann widerspricht HandBrake auch seinen Quellinformationen, indem es unter „Tracks“ angibt, dass er 30 fps und die Größe 234 x 174 beträgt.
========================
In der Registerkarte „Video“ von Handbrake wird der Encoder als H.264 und die Bildrate als 30 angezeigt. Die RF beträgt 22:
========================
Ich habe das auf 265 und 25 geändert:
========================
Auf der Registerkarte „Abmessungen“ wird erneut die Größe 318 x 240 angegeben, dann jedoch Folgendes:
Die skalierte Größe und die endgültige Speichergröße betragen 234 x 174. Ich habe versucht, auf verschiedene Dinge zu klicken, aber ich kann die Ausgabegröße nicht ändern.
========================
Wenn ich das ausführe, beträgt die Ausgabe 22 MB, was eine nette Reduzierung der Dateigröße darstellt:
- Komprimierter Clip: 22 MB / 13,33 Min. = 1,7 MB/Min.
Aber die Rahmengröße beträgt 234 x 174:
Das Video ist im Vergleich zum Original etwas unscharf, was durchaus an der verringerten Bildgröße liegen könnte.
Von DaVinci gerenderter Clip.
Dies könnte einen Hinweis auf das Problem geben. Das Bild nimmt weniger als das gesamte Fenster des Players ein. Hat DaVinci den Maßstab des Videos reduziert?
Mit HandBrake komprimierter Clip:
Warum erzwingt HandBrake diese Reduzierung der Framegröße und wie kann ich eine Ausgabe in der richtigen Framegröße erreichen?
Antwort1
Bearbeitung vom Fragesteller: Ich habe diese Antwort akzeptiert, weil sie mir das gab, was ich brauchte. Weitere Einzelheiten finden Sie jedoch in der zusätzlichen Antwort, die ich ebenfalls gegeben habe.
Es kann hilfreich sein, sich daran zu erinnern, dass Handbrake im Wesentlichen ein Skin für FFMPEG mit einigen relativ benutzerfreundlichen Voreinstellungen ist. Ihr Prozess läuft derzeit FFMPEG > DaVinci > FFMPEG ab, ohne dass wir einen wirklichen Grund für die zusätzlichen Schritte erkennen können. Überspringen Sie also alle Zwischenschritte und verwenden Sie einfach FFMPEG, um das Video auszuschneiden. Hier ist eine weitere Frage, die die Grundlagen Ihres Bedarfs abdecken könnte:https://stackoverflow.com/questions/21420296/wie-extract-time-accurate-video-segments-with-ffmpeg
Geben Sie die Startzeit des Clips mit -ss 00:00:00
und das Ende mit an -to 00:00:00
. Wie in diesem Beispiel aus der Frage, die ich oben verlinkt habe:
ffmpeg -y -i [INPUT.file] -ss 00:42:42 -to 00:84:84 -codec copy [OUTPUT.file]
Auf diese Weise beseitigen Sie alle möglichen Probleme, die durch die verschiedenen Schritte verursacht werden, die Sie derzeit verwenden.
Antwort2
Ich akzeptiere die Antwort von „music2myear“, weil sie mir das gab, was ich brauchte. Aber aus irgendeinem Grund ging es davon aus, dass mir die Größe der Ausgabedatei egal sei. Aber das ist mir wichtig, und das ist der Grund, warum ich HandBrake verwendet habe.
Also habe ich den codec
Parameter in dieser Antwort geändert. Hier ist eine Zusammenfassung meiner Ergebnisse:
Clip von DaVinci in H.265: 51,4 MB
DaVinci-Clip, dann HandBrake: 22,0 MB (unscharf)
Clip von FFmpeg mit
-codec copy
: 29,5 MBClip von FFmpeg mit
-codec:v hevc -codec:a copy
: 15,2 MB
Beide FFmpeg-Ergebnisse scheinen eine gute Qualität zu haben. Das mit Codec copy
dauerte etwa eine Sekunde, das mit hevc
etwa eine Minute.
Das Ergebnis von mFFmpeg mit Codec hevc
ergab eine sehr schöne Reduzierung der Dateigröße:
- Film: 264 MB / 107 Minuten = 2,5 MB/min.
- Clip von DaVinci: 51,4 MB / 13,33 Min. = 3,9 MB/Min.
- Clip von FFMpeg mit Codec
hevc
: 15,2 MB / 13,33 min = 1,1 MB/min.
Ich habe also keine Antwort darauf, warum HandBrake (oder die Kombination aus DaVinci und HandBrake) die Framegröße reduziert hat. Aber ich habe eine Antwort darauf, wie man eine gute Ausgabequalität mit der richtigen Framegröße (und einer effizienten Dateigröße) erhält, nämlichFFmpeg direkt verwenden.
Antwort3
Dies ist eher eine Problemumgehung als eine genaue Antwort: Führen Sie den gesamten Vorgang in einem einzigen Schritt mithilfe einer GUI aus, die Ihnen die vollständige Kontrolle über die Speicherung der Ausgabe gibt.
Zwei kostenlose Open Source-Videoeditoren,ShotcutUndOpenShot(beide verfügbar in Linux und Mac, sowie Windows-Versionen, und beide Windows-App laufen unterWein, auch auf dieser Ubuntu-Maschine), kann beispielsweise FLV-Videodateien öffnen, bearbeiten und die bearbeitete Ausgabe in verschiedenen Formaten und mit einstellbarer Auflösung und Qualität speichern. Es gibt vielealternative Video-Editoren, zu.
Der Screenshot oben stammt von derOpenShot-Video exportierenDialog undShotCutbietet eine noch feinere Kontrolle über die Ausgabe. Man wählt die zu bearbeitenden Segmente aus, wendet Filter an wieSchärfen, falls gewünscht, und Exporte mit Farbumfang (z. B. Broadcast, MPEG oder JPEG), Auflösung, Bildrate, Komprimierung usw. unter Benutzerkontrolle, alles mit einem einzigen Tool. Keines der Programme ist einschüchternd in der Verwendung, da sinnvolle Standardwerte voreingestellt sind.