Ich verwende derzeit eine Batch-Datei, die (unter anderem) die folgende handbrakecli-Befehlszeile ausführt, um ein Video zu konvertieren:
HandBrakeCLI.exe -v0 --input "D:\input.mkv" --preset="Universal" --ipod-atom -t 1 --angle 1 --gain 0 --output="D:\output.mp4"
Dies hat mir viele Jahre lang geholfen, eine Videodatei zu produzieren, die kleiner als das Original ist (gut, wenn Sie nur 16-Gbit-Geräte haben), gut genug aussieht und auf so ziemlich jedem iPod, iPad und iPhone funktioniert, auf dem ich sie anbringe.
Im Laufe der Zeit bemüht sich handbrakecli jedoch, immer mehr Videos so zu konvertieren, dass ich nach einer Alternative suchen muss. Die Tatsache, dass die Protokolle absolut keine Informationen darüber enthalten, warum sie abgestürzt sind, hilft nicht. Dieses Video ist beispielsweise bei der Konvertierung mit 71% abgestürzt. Dies sind die letzten 4 Zeilen:
AC3 Passthru requested and input codec is not compatible for track 2, using AC3 encoder
x264 [info]: using SAR=9593/9600
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
x264 [info]: profile Constrained Baseline, level 3.0
Nicht sehr hilfreich.
Ich habe versucht, ffmpeg als Alternative zu verwenden, aber alle Beispiele, die ich im Internet gesehen habe, haben eine oder mehrere der folgenden Möglichkeiten:
- Funktioniert nicht (Befehlszeilenoptionen werden nicht erkannt) - häufig!
- Ergebnis in einer Datei, die größer als das Original ist - sehr häufig!
- Verzerren Sie das Bild, insbesondere wenn eine unerwartete Videogröße konvertiert wird (z. B. Nicht-Widescreen-PAL).
- Audio entfernen
- Führen Sie zu einem Video, das auf dem iPhone, iPod oder iPad nicht wiedergegeben werden kann
Gibt es eine anständige Allzweck-ffmepg-Befehlszeile, mit der jedes Video auf allen Apple-Geräten problemlos ausgeführt werden kann und die Dateigröße reduziert wird?
Bonuspunkte, wenn es Videos über 720p verkleinert (aber nicht verzerrt).
Antworten:
Hier ist meine Meinung dazu. Ich nehme das iPhone 4 oder neuer (einschließlich aller iPads) als Ziel: H.264-Hauptprofil, Stufe 3.1
Die Werte, die Sie frei ändern können:
-crf 23
: Die konstante Qualitätseinstellung. Höherer Wert = weniger Qualität, kleinere Datei. Niedriger = bessere Qualität, größere Datei. Gesunde Werte sind [18 - 24]-preset medium
: Wenn dies für Sie zu langsam ist, verwenden Sie ein schnelleres Preset. Wenn Sie die Geduld dafür haben, verwenden Sie eine langsamere. Sehen Sie hier für weitere Informationen.-acodec copy
: Versucht, die Audiospur in den MP4-Container zu kopieren. Wenn es nicht kopiert werden kann, müssen Sie es erneut in AAC / MP3 / AC3 codieren ... zB-acodec libmp3lame
Wenn Ihr Video größer als 720p ist, fügen Sie nach der Eingabe Folgendes hinzu:
-vf "scale=-2:720:flags=lanczos"
Dadurch wird Ihr Video auf 720p verkleinert und das Seitenverhältnis beibehalten. Der verwendete Skalierungsalgorithmus ist Lanczos, da er viel besser als der Standard ist.
quelle
-vf "scale=-2:720:flags=lanczos"
stattdessen verwenden. Das Hinzufügen-movflags +faststart
wird empfohlen, wenn die Datei per progressivem Download angezeigt wird, z. B. in einem Browser (und wenn dies nicht der Fall ist, schadet die Option sicherlich nicht).x264-params
. Gibt es eine Möglichkeit, dieses Problem zu umgehen, ohne es selbst zu bauen?-x264-params
arbeite einwandfrei . Bist du sicher, dass du nichts verpasst hast? Die Option dient hauptsächlich der Sicherheit, um zu vermeiden, dass mehr als 4 Referenzrahmen vorhanden sind, die von einem älteren Decoder möglicherweise nicht verarbeitet werden.-acodec libmp3lame
funktioniert bei mir nicht Um Audio auf meinem iPad Mini zu aktivieren, habe ichffmpeg
mitnonfree
Variante umgebaut undlibfdk_aac
codiert verwendet.Dies ist einfach, hat aber auf einem iPad 3 sofort funktioniert
quelle