Libav vs. FFmpeg
Warum Libav? Ich habe Debian installiert und da ist eben avconv von Libav drauf. Ich bin aber nicht auf avconv festgelegt, wenn mir ffmpeg später besser gefallen sollte, dann gehe ich auf ffmpeg. Derzeit sind avconv und ffmpeg so nahe beieinander, dass ich keine gravierende Unterschiede feststellen kann. Die folgenden Anleitung funktioniert derzeit sowohl mit ffmpeg als auch mit avconv.Konvertierung
Mit VDR speichere ich eine MPEG2-Transportstream (.ts) ab. Dieser Stream ist ziemlich groß! Die Datei soll verkleinert werden, genauer gesagt in MPEG4 (.mp4) konvertiert werden. Das geht mit FFmpeg bzw. Libav.Konvertierung in iPad-fähiges MP4
Basisparameter, die ich jedesmal setze:avconv (Programmaufruf)
-i "concat:00001.ts|00002.ts" (Eingabedateien, Transportstreams können einfach aneinander gehängt werden)
-y (existierenden Datei überschreiben)
-strict experimental (experimentelle Algorithmen können genutzt werden)
-acodec aac (Audio-Codec AAC)
-ac 2 (2 Audio-Kanäle = Stereo?)
-ab 160k (Audio-Bitrate 160k)
-vcodec libx264 (Video-Codec x264)
-crf 20 (Qualität bei konstanter Bitrate, voreingestellt 23, praktisch verlustfrei 18)
-preset slow (Qualität des Algorithmus, voreingestellt medium)
-profile:v baseline -level 30 (Ausgabeformat, welches von iPad unterstützt wird)
-f mp4 (Containerformat)
output.mp4 (Ausgabedatei)
Schwarze Ränder abschneiden
cropdetect
Manchmal füllt das Bild den Bildschirm nicht komplett aus, sondern oben / unten ist ein schwarzer Streifen. Die folgenden Parameter nehmen einen Ausschnitt des Film und ermitteln daran die Parameter, mit welchen der Bildausschnitt festgelegt wird.Zuerst konvertiere ich nur wenige Minuten des kompletten Films um die Parameter zu ermitteln.
-ss 00:15:00 (Offset in HH:MM:SS)
-t 00:03:00 (Dauer in HH:MM:SS)
-vf "cropdetect=24:16:0" (Videofilter mit Schwellwerten für die Schwarz-Erkennung)
crop
Mit den zuvor ermittelten Parametern, wird dann der komplette Film konvertiert.-vf "crop=720:448:0:64" (Videofilter mit Breite und Höhe des Bildes sowie Offset von links und oben)
Tune-Parameter
In diesem Parameter kann man nochmal die Art des zu konvertierenden Videos präzisieren:-tune animation|film (Ich verwende derzeit nur animation)
SD vs. HD
Die zuvor genannten Parameter gelten für SD-Filme. Mit einer Bildrate 25 fps und einer Auslösung, kleiner als HD.Für HD muss die Bildrate von 50 fps auf 25 fps reduziert werden und das Bild kann mit Faktor 0.5 skaliert werden. Die genauen Parameter muss ich noch ermitteln.
Links
Anleitungen
FFmpeg x264 Anleitunghttps://trac.ffmpeg.org/wiki/x264EncodingGuide
Schwarze Ränder abschneiden (cropdetect / crop)
http://www.renevolution.com/understanding-ffmpeg-part-iii-cropping/
Skalierung (scaling)
http://www.renevolution.com/understanding-ffmpeg-part-ii-scaling-video/
Optimierung (tune)
http://superuser.com/questions/564402/explanation-of-x264-tune
Referenzen
avconv Documentationhttp://libav.org/avconv.html
ffmpeg Documentation
http://ffmpeg.org/ffmpeg.html
Keine Kommentare:
Kommentar veröffentlichen