2015-03-16 6 views
5

Momentan habe ich 80mb Filme, die ich verwenden möchte, um downm zu konvertieren, um ungefähr 10mb oder 15mb zu sagen. Ich weiß, dass es einen Qualitätsverlust geben wird, aber sie müssen Sound haben. Gibt es eine Möglichkeit, entweder eine Dateigröße oder höhere Komprimierung angeben als das, was ich bisher getan habenffmpeg Videokomprimierung/specifc Dateigröße

ffmpeg -i movie.mp4 -b 2255k -s 1280x720 movie.hd.ogv 

Sie sind zur Zeit etwa 25mb ein Stück

Antwort

12

, wenn Sie eine bestimmte Größe der Ausgabedatei der beste Weg, Targeting zu verwenden H.264 und Zwei-Pass-Codierung.

Es ist ein großartiges Beispiel hier, aber es ist zu groß, um zu copy-paste: https://trac.ffmpeg.org/wiki/Encode/H.264

Sie berechnen Sie Ihre Zielbitrate bitrate = file size/duration verwenden und starten ffmpeg zweimal: einem Durchlauf analysiert die Medien und die zweite tut die eigentliche Codierung:

ffmpeg -y -i input -c:v libx264 -preset medium -b:v 555k -pass 1 -c:a libfdk_aac -b:a 128k -f mp4 /dev/null && \ 
ffmpeg -i input -c:v libx264 -preset medium -b:v 555k -pass 2 -c:a libfdk_aac -b:a 128k output.mp4 

Edit: H.265 (HEVC) bei der Kompression noch besser ist (50% der H.264 Größe in einigen Fällen), aber Unterstützung ist noch nicht weit verbreitet, so mit H.264-Stick für jetzt .

+0

Wie groß sind in Ihrer Berechnung Dateigröße und -dauer? –

+0

@DrewChapin Kilobits/Sekunde – aergistal