timbolino schrieb:
Mir reicht ein Bitrate von 10.000 vollkommen.
...
Laut der ffmpeg Dokumentation auf: https://trac.ffmpeg.org/wiki/Encode/H.264
müsste der Befehl hier ja reichen –>
| ffmpeg -i input -c:v libx264 -b:v 10000k output.mp4
|
Axel-Erfurt hat den Batch-Weg ja bereits beschrieben. Ich würde nochmal gerne auf die 10000k eingehen. 10 mbit/s ist je nach Input immernoch ziemlich viel. Wenn du FFmpeg diese Bitrate vorgibst, weist er den Encoder an, das auch einzuhalten (im Mittel). Der meiner Meinung nach deutlich elegantere Weg ist es, eine Qualität zu definieren und der Encoder sucht sich dann die Bitrate die dazu nötig ist. Mit ein paar kurzen Tests findet man eine passende Qualitätstufe und der Encoder kodiert sehr viel intelligenter (also geht mit der Rate runter, wenn die Szenen eher still sind oder hoch bei vielen Schnitten etc.). Die entsprechende Einstellung heißt "Constant Rate Factor" (CRF). Ist ja auf der Seite auch beschrieben.
Eine weitere Option, die ich auf jeden Fall noch setzen würde, ist das preset und tune. Preset schaltet einen Haufen Encoderfeatures ab oder an. Per default ist ein Mittelweg gewählt worden, sodass die Geschwindigkeit halbwegs schnell bleibt, das allerdings zu Lasten der Größe. Je nach Prozessor würde ich das Preset auf "slow" oder "slower" setzen. Das schaltet ein paar Features mehr ein, sodass das Video bei gleicher Qualität insgesamt kleiner wird. x264 hat überdies noch diverse Psychooptimierungen (also versucht Informationen wegzulassen, die man nicht sieht, Fokus auf anderen Teilen der Szene etc.). Mit dem Tune gibt man x264 den Hinweis um welches Quellmaterial es sich handelt, sodass er sich dann darauf hinsichtlich der Optimierungen anpassen kann. Summa summarum:
ffmpeg -i input -c:v libx264 -crf:v 20 -preset:v slow -tune:v film output.mp4