it-swarm.com.de

FFMPEG Splitting MP4 mit gleicher Qualität

Ich habe eine große MP4-Datei. Ich versuche es in kleinere Dateien aufzuteilen.

ffmpeg -i largefile.mp4 -sameq -ss 00:00:00 -t 00:50:00 smallfile.mp4

Ich dachte, mit -sameq würden die gleichen Qualitätseinstellungen beibehalten. Ich muss jedoch nicht verstehen, was das tut.

Ich versuche, die gleiche Qualität (Audio/Video) und Komprimierung mit den geteilten Dateien beizubehalten. Diese Einstellung vergrößert jedoch die aufgeteilten Dateien erheblich.

Welche Flags muss ich setzen, um die gleiche Qualität und Attribute in den geteilten Dateien bei gleichem Verhältnis von Qualität zu Größe beizubehalten?

Wenn zum Beispiel meine Originaldatei ungefähr 12 GB groß ist und 1920 x 1080 mit einer Bitrate von 10617 kbit/s und einer Bildrate von 23 Bildern/s sowie 6-Kanal-Audio mit 317 kbit/s vorliegt, möchte ich, dass die aufgeteilten Dateien nur ein Drittel dieser Größe betragen ( wenn ich es in drei teile teile).

49
Chris Weber

Wenn Sie das Video nur teilen möchten, ohne es erneut zu codieren, verwenden Sie den Codec copy für Audio und Video. Versuche dies:

ffmpeg -ss 00:00:00 -t 00:50:00 -i largefile.mp4 -acodec copy \
-vcodec copy smallfile.mp4

Beachten Sie, dass dies nur den ersten Split erzeugt. Der nächste Befehl kann mit ffmpeg -ss 00:50:00 beginnen.

Dies kann mit einem einzigen Befehl erfolgen:

ffmpeg -i largefile.mp4 -t 00:50:00 -c copy smallfile1.mp4 -ss 00:50:00 -c copy smallfile2.mp4

Dadurch wird smallfile1.mp4 erstellt, das nach 50 Minuten im Video von largefile.mp4 endet, und smallfile2.mp4, das nach 50 Minuten beginnt und nach dem Ende von largefile.mp4 endet.

80
fideli

Eine Alternative Methode ist:

// create a 2-min clip
ffmpeg -i input.mp4 -ss 00:10:00 -to 00:12:00 -c copy output.mp4

/**
* -i  input file
* -ss start time in seconds or in hh:mm:ss
* -to end time in seconds or in hh:mm:ss
* -c codec to use 
*/

Die Qualität der Datei bleibt gleich, da wir -c copy verwenden, um die ursprünglichen Audio- und Videostreams auf die Ausgabe zu kopieren.

Referenz, Liste häufig verwendeter FFmpeg-Befehle: DigitalFortress

2
Niket Pathak