Inhaltsverzeichnis
Filmwandler
transkodieren mit dem Filmwandler
Unter "transkodieren" versteht man das dekodieren (decode) eines Codecs (z.B. MPEG 2) und das anschließend erneute kodieren (encode) in einen neuen Codec (z.B. VP9).
Der Filmwandler ermöglicht es im selben Arbeitsschritt, noch weitere Aktionen durchzuführen.
Installation
Als erstes läd man sich das neueste Archiv vom Filmwandler runter und entpackt es in ein Verzeichnis, welches im PATH liegt (z.B. ~/bin/ oder /usr/local/bin/).
> links -dump https://github.com/FlatheadV8/Filmwandler/releases | grep -F Latest v7.3.1 Latest Latest > wget https://github.com/FlatheadV8/Filmwandler/archive/refs/tags/v7.3.1.tar.gz > tar xzf v7.3.1.tar.gz -C /tmp/
Dateien ins lokale BIN-Verzeichnis verschieben:
> mkdir -p ~/bin/ > mv /tmp/Filmwandler-7.3.1/* ~/bin/
oder systemweit:
> mv /tmp/Filmwandler-7.3.1/* /usr/local/bin/
Hilfe
Und dann kann es losgehen…
Hilfeausgabe
> ~/bin/Filmwandler.sh -h
Beispiele
ein einfacher Aufruf:
> ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mkv -titel "Titel vom Film" -k "Kommentar zum Film, ggf. aus Wikipedia oder ImDB"
Um Werbung aus dem Film rauszuschneiden, muß man dem Parameter -schnitt, durch Komma getrennt, die Bereiche in Sekunden übergeben, die den Film enthalten und die Bereiche mit der Werbung einfach weglassen:
> ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mkv -schnitt 610.6-2307.4,2711.3-5103.6,5441.6-7149.3,7386.5-10485
Die erste Fimsequenz vom Anfang bis zur ersten Pause geht von Sekunde 610.6 bis Sekunde 2307.4 u.s.w.
Die Zeiten kann man sehr schön ablesen, wenn der Film mit dem MPlayer auf der CLI gestartet wurde.
- Dann kann man mit den Pfeiltasten im Film spulen:
[hoch]für Minutenweise vorspulen[runter]für Minutenweise zurückspulen[rechts]für 10-Sekundenweise vorspulen[links]für 10-Sekundenweise zurückspulen
Und mit [Leertaste] kann der Film angehalten werden (Stop/Play).
> mplayer film.mp4
Auch der MPV kann dafür genutz werden
> mpv --osd-fractions film.mp4
Sollen dann noch die Ton- und Untertitelspuren neu sortiert werden oder nicht alle übernommen werden, dann übergibt man der Option -ton die Nummern der Tonspuren, durch Komma getrennt, in der Reihenfolge wie man sie haben möchte und der Option -u in gleicher Weise die Untertitelspurennummern:
> ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mkv -ton 4,5,6,7,0,1,2,3,8 -u 1,2,0,3,4,5
Es ist auch möglich, den einzelnen Spuren eine Sprache zuzuweisen, denn oft kommt es bei DVDs vor, dass die Ton- und Untertitelspuren "namenlos" sind. Hierfür müssen die entsprechenden ISO 639-2 - Kode-Kürzel mit einem Doppelpunkt an die Spurnummer angehängt werden:
> ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mkv -ton 4:deu,5:eng,6:fra,7:spa,0:ita,1:tur,2:rus,3:jpn,8:chi -u 1:deu,2:eng,0:fra,3:spa,4:ita,5:tur
Hier ein paar ausgewählte ISO-639-2-Codes:
Chinesisch: chi / zho Deutsch: deu / ger Englisch: eng Französisch: fra / fre Griechisch: gre / ell Italienisch: ita Japanisch: jpn Russisch: rus Spanisch: spa Türkisch: tur Dutch: nld Danish: dan Finnish: fin Norwegian: nor Swedish: swe
Bei der Beschriftung ist aber darauf zu achten, dass wenn beispielsweise im Originalfilm die 2. Untertitelspur (1, denn die Zählweise beginnt bei 0) in Deutsch ist, die Angabe auch 1:deu lauten muß!
Wenn eine Beschriftung bereits im Originalfilm vorhanden ist, dann braucht sie nicht mit angegeben zu werden, denn dann wird diese auch für den neuen Film weiter verwendet.
Die Option -u =0 entfernt alle Untertitelspuren:
> ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mkv -ton 4,5,6,7,0,1,2,3,8 -u =0
Only VP8 or VP9 or AV1 video and Vorbis or Opus audio and WebVTT subtitles are supported for WebM.
Mit den Optionen -standard_ton 0 -standard_u 0 setzt man die jeweils erste Spurt (Zählweise beginnt, wie immer, mit 0) als Voreinstellung:
> ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mkv -ton 4,5,6,7,0,1,2,3,8 -u 1,2,0,3,4,5 -standard_ton 0 -standard_u 0
Und mit -soll_xmaly 1920x1080 wird der Film mit der Full-HD-Auflösung erzeugt:
> ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mkv -soll_xmaly 1920x1080
Das komplette Kommando mit all diesen Optionen würde dann beispielsweise so aussehen:
> ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mkv -titel "Titel vom Film" -k "Kommentar zum Film, ggf. aus Wikipedia oder ImDB" -ton 4:deu,5:eng,6:fra,7:spa,0:ita,1:tur,2:rus,3:jpn,8:chi -u 1:deu,2:eng,0:fra,3:spa,4:ita,5:tur -standard_ton 0 -standard_u 0 -soll_xmaly 1920x1080 -schnitt 610.6-2307.4,2711.3-5103.6,5441.6-7149.3,7386.5-10485
Es ist auch möglich, alles in den Container WebM zu packen, nur dann benötigt man die Option -formal mkv, damit im WebM-Container die Codecs verwendet werden, die vom Filmwandler normalerweise im MKV-Container gepackt werden.
Und sicherheitshalber sollten dann die Untertitel abgeschaltet werden, weil WebM die meisten Untertitelformate nicht kann.
> ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.webm -format mkv -titel "Titel vom Film" -k "Kommentar zum Film, ggf. aus Wikipedia oder ImDB" -ton 4:deu,5:eng,6:fra,7:spa,0:ita,1:tur,2:rus,3:jpn,8:chi -u =0 -standard_ton 0 -soll_xmaly 1920x1080 -schnitt 610.6-2307.4,2711.3-5103.6,5441.6-7149.3,7386.5-10485
Standard-Codec ändern
Wenn die Endung .mkv verwendet wird, dann wird die Video-Spur normalerweise in "VP9" und die Audio-Spur in "Vorbis" codiert.
Will man die Spuren aber mit anderen Codec codieren, dann kann man das so ändern:
> ~/bin/Filmwandler.sh -h | grep -FB1 -- '-cv'
# Video-Codec: 261, 262, 263, 264, 265, av1, divx, ffv1, flv, snow, theora, vc2, vp8, vp9, xvid
-cv theora
-cv 264
-cv vp9
-cv av1
> ~/bin/Filmwandler.sh -h | grep -FB1 -- '-ca'
# Audio-Codec: aac, ac3, mp2, mp3, opus, vorbis
-ca aac
-ca ac3
-ca opus
-ca vorbis
> ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mkv -cv divx -ca ac3
> ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mkv -cv divx -ca mp3
> ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mkv -cv theora -ca vorbis
> ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mkv -cv 264 -ca aac
Der MKV-Container ist der einzige, der mit allen Codecs zurecht kommt. Bei allen anderen Container-Formaten muß beachten, welche Codecs sie nur beherbergen können!
Profile nutzen
Zur Zeit gibt es diese 4 Profile:
- HLS ⇒ begrenzt auf ein der 8 von Apple, in diesem Standard, festgelegte Bildauflösung
- Full-HD ⇒ begrenzt auf 1920x1080 (es ist die zur Zeit im Consumer-Markt verbreitetste Bildschirmgröße)
- HD-ready ⇒ begrenzt auf 1280x720 (es ist der zur Zeit einzige Industrie-Standard für HD-Wiedergabe)
- FireTV ⇒ begrenzt x264 und x265 auf FullHD und für alle anderen Codecs auf HD-ready
> ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mp4 -profil hls > ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mp4 -profil fullhd > ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mp4 -profil hdready > ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mkv -profil firetv
nicht auf Standard-Seitenverhältnis (DAR=4:3 | DAR=16:9) ändern
Der Filmwandler rechnet jeden Film entweder auf 4:3 oder 16:9 um, je nachdem, wo weniger schwarze Fläche hinzugefügt werden muß.
Will man das nicht, soll das originale Seitenverhältnis (DAR) beibehalten werden, dann geht das mit der Option -orig_dar.
> ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mkv -orig_dar
WebM oder MKV
Only VP8 or VP9 or AV1 video and Vorbis or Opus audio and WebVTT subtitles are supported for WebM.
Für maximale Kompatibilität, sollte man nur dann den MKV-Container verwenden, wenn Untertitel im nicht-Text-Format vorhanden sind.
Bild entzerren und zuschneiden (croppen)
Zum testen und probieren, werden wir hier aus dem Original (noch mit Werbung), nur einen 10-Sekunden-Schnipsel rausschneiden.
Dafür verwenden wir die Option -schnitt und werden die Sequenz ab Sekunde 1000 bis zur Sekunde 1010 rausschneiden.
Als Ausgangsmaterial haben wir dann dieses Bild:
> /usr/local/bin/Filmwandler.sh -q 10_Dinge_die_ich_an_dir_hasse_15.05.29_20-15_4plus_130_TVOON_DE.mpg.HQ.avi.mp4 -z Test_2.webm -schnitt 1000-1010
Hier erkennen wir zwei Probleme mit dem Bild.
- es gibt rund um das Bild herum, schwarze Balken
- das eigentliche Bild ist auch noch in der Bereite zusammen geschoben
Das Bild können wir auf zweierlei Arten entzerren, eine davon ist die Option -dar (Display Aspect Ratio ⇒ Bildseitenverhältnis).
In diesem Fall hat das Bild ein Seitenverhältnis von 286/125, wenn es entzerrt ist. Wenn man den Grad der Verzerrung nicht kennt, dann muß man sich an diesen Wert, durch ausprobieren, rantasten:
> /usr/local/bin/Filmwandler.sh -q 10_Dinge_die_ich_an_dir_hasse_15.05.29_20-15_4plus_130_TVOON_DE.mpg.HQ.avi.mp4 -z Test_2.webm -schnitt 1000-1010 -dar 286/125
Die schwarzen Balken entfernt man mit der Option -crop.
In diesem Fall müssen wir der Option die Werte 768:556:128:10 mitgeben.
Die einzelnen Zahlen haben dabei folgende Bedeutung:
768:556:128:10 768x556 ist das Format der Bild-Pixel, die an der Darstellung des Bildes beteiligt sind und nicht zu den schwarzen Balken gehören (Format im Original) 768 Bildpunkte (Pixel) ist das Bild, im Original, breit 556 Bildpunkte (Pixel) ist das Bild, im Original, hoch 128 Bildpunkte (Pixel) von links eingerückt beginnt das richtige Video-Bild 10 Bildpunkte (Pixel) von oben eingerückt beginnt das richtige Video-Bild
Üblicherweise muß man sich an diese Werte, durch ausprobieren, rantasten:
> /usr/local/bin/Filmwandler.sh -q 10_Dinge_die_ich_an_dir_hasse_15.05.29_20-15_4plus_130_TVOON_DE.mpg.HQ.avi.mp4 -z Test_3.webm -schnitt 1000-1010 -crop 768:556:128:10
Hier wenden wir beide Optionen, von oben (-crop und -dar), gleichzeitig an ⇒ perfektes Bild:
> /usr/local/bin/Filmwandler.sh -q 10_Dinge_die_ich_an_dir_hasse_15.05.29_20-15_4plus_130_TVOON_DE.mpg.HQ.avi.mp4 -z Test_4.webm -schnitt 1000-1010 -crop 768:556:128:10 -dar 286/125
Das Bild können wir auf zweierlei Arten entzerren, eine davon ist die Option -par (Pixel Aspect Ratio ⇒ Bildseitenverhältnis).
In diesem Fall hat der Bildpunkt (Pixel) ein Seitenverhältnis von 1318/1024, wenn das Bild entzerrt ist. Wenn man den Grad der Verzerrung nicht kennt, dann muß man sich an diesen Wert, durch ausprobieren, rantasten:
> /usr/local/bin/Filmwandler.sh -q 10_Dinge_die_ich_an_dir_hasse_15.05.29_20-15_4plus_130_TVOON_DE.mpg.HQ.avi.mp4 -z Test_5.webm -schnitt 1000-1010 -par 1318/1024
Hier wenden wir beide Optionen, von oben (-crop und -par), gleichzeitig an ⇒ perfektes Bild:
> /usr/local/bin/Filmwandler.sh -q 10_Dinge_die_ich_an_dir_hasse_15.05.29_20-15_4plus_130_TVOON_DE.mpg.HQ.avi.mp4 -z Test_6.webm -schnitt 1000-1010 -crop 768:556:128:10 -par 1318/1024
Es ist egal, ob für das entzerren des Bildes, die Option -dar oder -par verwendet wird. Üblicherwiese nimmt man diejenige, für die man die passenden Werte leichter errechnen kann.
Um das fertige Ergebis zu bekommen, habe ich diese Kommandozeile zusammen gestellt, bei der auch gleich alle Werbepausen entfernt werden:
> /usr/local/bin/Filmwandler.sh -q 10_Dinge_die_ich_an_dir_hasse_15.05.29_20-15_4plus_130_TVOON_DE.mpg.HQ.avi.mp4 -z 10_Dinge_die_ich_an_dir_hasse_-_2015-05-29_20-15_-_4plus_DE.webm -titel "10 Dinge, die ich an dir hasse" -k "Jugendfilm" -ton 0:de -schnitt 327.4-1047.1,1458.2-2355.7,2750.3-3527.4,3919-4776.3,5262.6-6317.3,6810.2-8098.5 -crop 768:556:128:10 -dar 286/125
Neu hinzugekommen sind diese Optionen (Infos sind aus der IMDB):
# hier kann der Filmname angegeben werden: -titel "10 Dinge, die ich an dir hasse" # hier kann man weitere Infos und Kommentare zum Film hinterlegen: -k "FSK 12 / 1999 / 97 Min. / tt0147800 / Jugendfilm / Heath Ledger, Julia Stiles, Joseph Gordon-Levitt / Ein hübsches und beliebtes Mädchen darf erst dann ausgehen, wenn ihre mürrische ältere Schwester auch eine Verabredung hat." # hier wird die erste Tonspur (Spur ''0'') als "deutsche" Tonspur markiert: -ton 0:de # Untertitel gibt es in dieser Filmdatei nicht, sonst würde man ggf. die erste Untertitelspur (Spur ''0'') so als "deutschen" Untertitel markiert: -u 0:de
# hätte man mehrere Ton- und Untertitelspurten in der Filmdatei, die man benennen möchte, dann kann man das beispielsweise so tun: -ton 0:de,1:en,2:fr -u 0:de,1:en,2:fr
praktischer Vergleich von Video Codecs
siehe auch: FFmpeg
| Test | Transkodiervorgang | Filmeigenschaften | Größe der erstellten Dateien | Transkodierdauer |
|---|---|---|---|---|
| 1 | Quellmaterial von OTR (Die Spitzenklöpplerin) | 1280x720p@50FPS (8 Bit) / 101 Minuten lang | ~1688 MiB (100%) | ——– |
| 1 | transkodiert nach MP4+AVC+AAC | 1280x720p@50FPS / 101 Minuten lang | 1610 MiB (~95%) | 4060 Sekunden / ~1,13h (~21%) |
| 1 | transkodiert nach MKV+AVC+Opus | 1280x720p@50FPS / 101 Minuten lang | 1606 MiB (~95%) | 4069 Sekunden / ~1,13h (~21%) |
| 1 | transkodiert nach WebM+VP9+Opus | 1280x720p@50FPS / 101 Minuten lang | 806 MiB (~48%) | 15792 Sekunden / ~4,5h (~80%) |
| 1 | transkodiert nach WebM+AV1+Opus | 1280x720p@50FPS / 101 Minuten lang | 374 MiB (~22%) | 19624 Sekunden / ~5,5h (100%) |
| 2 | Quelle: https://4kmedia.org/tcl-supercars-uhd-4k-demo/ | 3840x2160p@30FPS (8 Bit) / 226 Sekunden lang | 1270 MiB (100%) | ——– |
| 2 | transkodiert nach MP4+AVC+AAC | 3840x2160p@30FPS / 226 Sekunden lang | 745 MiB (~59%) | 1337 Sekunden / ~22,5 Min. (~59%) |
| 2 | transkodiert nach MP4+x265+AAC | 3840x2160p@30FPS / 226 Sekunden lang | 217 MiB (~17%) | 965 Sekunden / ~16,1 Min. (~43%) |
| 2 | transkodiert nach WebM+VP9+Opus | 3840x2160p@30FPS / 226 Sekunden lang | 321 MiB (~25%) | 3188 Sekunden / ~53,1 Min. (~142%) |
| 2 | transkodiert nach WebM+AV1+Opus | 3840x2160p@30FPS / 226 Sekunden lang | 93 MiB (~7,3%) | 2248 Sekunden / ~37,5 Min. (100%) |
| 3 | Quelle: https://4kmedia.org/samsung-extreme-sports-uhd-4k-demo/ | 3840x2160p@24FPS (10 Bit) / 126 Sekunden lang | 799 MiB (100%) | ——– |
| 3 | transkodiert nach MP4+AVC+AAC | 3840x2160p@24FPS / 126 Sekunden lang | 361 MiB (~45%) | 820 Sekunden / ~13,7 Min. (~59%) |
| 3 | transkodiert nach MP4+x265+AAC | 3840x2160p@24FPS / 126 Sekunden lang | 127 MiB (~16%) | 633 Sekunden / ~10,6 Min. (~46%) |
| 3 | transkodiert nach WebM+VP9+Opus | 3840x2160p@24FPS / 126 Sekunden lang | 138 MiB (~17%) | 2428 Sekunden / ~40,5 Min. (~175%) |
| 3 | transkodiert nach WebM+AV1+Opus | 3840x2160p@24FPS / 126 Sekunden lang | 52 MiB (~6,5%) | 1388 Sekunden / ~23,1 Min. (100%) |
Diese Messwerte sind nur als Richtschnur zu betrachten, da auf dem Testsystem im Hintergrund noch weitere Prozesse liefen, die zum Teil erhebliche Rechenleistung verbrauchten.
Software-Versionen beim Test:
- FreeBSD: 13.1-RELEASE-p4
- FFmpeg: ffmpeg-4.4.3_1,1
- AVC: libx264-0.164.3095
- fdk-aac: fdk-aac-2.0.2
- VP9: libvpx-1.12.0
- AV1: aom-3.2.0_1
- Opus: opus-1.3.1
- Filmwandler: Version v7.3.4
| Mein Fazit | |||
|---|---|---|---|
| Test | Codec | Dateigröße | Transkodierdauer |
| Test 1 (1280x720p@50FPS / 8 Bit) | AVC | ~ 100 % | ~ 100 % |
| Test 1 (1280x720p@50FPS / 8 Bit) | VP9 | ~ 50 % | ~ 400 % |
| Test 1 (1280x720p@50FPS / 8 Bit) | AV1 | ~ 25 % | ~ 500 % |
| Test 2 (3840x2160p@30FPS / 8 Bit) | AVC | ~ 100 % | ~ 100 % |
| Test 2 (3840x2160p@30FPS / 8 Bit) | VP9 | ~ 43 % | ~ 240 % |
| Test 2 (3840x2160p@30FPS / 8 Bit) | AV1 | ~ 13 % | ~ 170 % |
| Test 3 (3840x2160p@24FPS / 10 Bit) | AVC | ~ 100 % | ~ 100 % |
| Test 3 (3840x2160p@24FPS / 10 Bit) | VP9 | ~ 38 % | ~ 300 % |
| Test 3 (3840x2160p@24FPS / 10 Bit) | AV1 | ~ 15 % | ~ 170 % |
Die WebM- und MP4-Filme mit dem Video-Codec x264 können auch direkt im FireFox angeschaut werden.
Alle diese zum Test erstellten Filme konnte der VLC auf dem FireTV-Stick-4K abspielen.
Es ist aber zu beachten, dass der FireTV-Stick-4K stark limitiert ist!
Der FireTV-Stick kann Videos in Full-HD nur ruckelfrei anzeigen, wenn es sich beim Video-Codec um x264 oder x265 handelt aber bei erhöhter Abspielgeschwindigkeit ruckeln diese immer, egal welche Auflösung die Filme haben. Andere Video-Codecs wie beispielsweise AV1, kann der FireTV-Stick nur mit einer Auflösung von bis zu 1280x720 (HD-ready) wunderbar anzeigen, spulen und sogar dauerhaft mit 1,6-facher Geschwindigkeit abspielen.
Vergleich der aktuellen Codecs
Mit den richtigen Einstellungen werden die Werte vergleichbar.
| Vergleich der Transkodierdauer bei gleicher Qualität und Dateigröße | ||||
|---|---|---|---|---|
| Codec | FFmpeg-Parameter | Dateigröße in MB | Transkodierdauer in Sekunden | Bemerkung |
| x264 | -crf 20 -preset slower | 39,5 | 112 | Industrie- und Web-Standard; Beschleunigtes abspielen ruckelt auf dem FireTV-Stick. |
| x265 | -crf 22 -preset slow | 22,3 | 110 | nur Industrie-Standard; Beschleunigtes abspielen ruckelt auf dem FireTV-Stick. |
| libvpx-VP9 | -crf 32 -cpu-used 4 -speed 4 -sharpness 0 | 21,6 | 118 | nur Web-Standard; Der FireTV-Stick kann mit VP9 am besten umgehen. |
| SVT-VP9 | ??? | ???? | ??? | nur Web-Standard, noch nicht getestet |
| VP9 (FFmpeg intern) | ??? | ???? | ??? | nur Web-Standard, noch nicht getestet |
| AOM-AV1 (FFmpeg intern) | -crf 28 -cpu-used 8 | 20,3 | 108 | nur Web-Standard; Der FireTV-Stick spult sehr langsam. |
| SVT-AV1 | -crf 25 -preset 7 | 20,3 | 108 | nur Web-Standard; Der FireTV-Stick spult sehr langsam.; sinnvoll ist -preset 3…8 |
| Rav1e | -qp 80 -speed 4 | 20,3 | 840 | nur Web-Standard, ist vermutlich so langsamer, weil er sich noch in der Version 0.6.4 befindet |
Soweit mir die Parameter bekannt waren, habe ich (nicht nur) für diesen Vergleich, überall PSY abgeschaltet.
Für diesen Vergleich habe ich aus dem Film "Stirb Langsam 4.0" 72 Sekunden (von Spielsekunde 1100 bis 1172) raus geschnitten.
Der Film lag mir in FullHD mit einer Video-Bit-Rate von 10,5 MB/s vor.
Die besten Ergebnisse habe ich, in meinen Tests mit dem FireTV-Stick, mit dem Filmwandler (v7.5.5) und den folgenden Parametern bekommen. Wichtig dabei ist, dass ein MKV-Film (so wird der VP9-Codec verwendet) erstellt wird und das Profil "firetv" angegeben wird.
> ~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_FireTV-Film.mkv -profil firetv ...[weitere Optionen]
Auch wenn der FireTV-Stick Hardware-Unterstützung für AVC und HEVC bietet, war damit keine ruckelfreie Wiedergabe bei erhöhter Abspielgeschwindigkeit zu erreichen.
Software-Versionen beim Test:
Quellmaterial
Als Quellmaterial habe ich einen Film ausgewählt, der von arte in HD (1280x720) ausgestrahlt und von OTR aufgezeichnet wurde.
19 Minuten von diesem Film werden nicht transkodiert, weil diese vor und nach dem Film von OTR zusätzlich aufgenommen wurden, um sicher zu stellen, dass er komplett aufgezeichnet wird.
Der Film von OTR wird nur von Sekunde 524.8 bis Sekunde 6644.3 transkodiert!
# Quelle/Original von OTR aus ddem TV aufgenommen 2006 MiB, 120 Min. - Die_Spitzenkloepplerin_23.03.20_21-35_arte_105_TVOON_DE.mpg.HD.avi > mediainfo Die_Spitzenkloepplerin_23.03.20_21-35_arte_105_TVOON_DE.mpg.HD.avi General Complete name : Die_Spitzenkloepplerin_23.03.20_21-35_arte_105_TVOON_DE.mpg.HD.avi Format : AVI Format/Info : Audio Video Interleave Format profile : OpenDML File size : 1.93 GiB Duration : 2 h 0 min Overall bit rate mode : Variable Overall bit rate : 2 285 kb/s Encoded by : www.onlinetvrecorder.com Writing application : Lavf58.42.100 Comment : Video ID : 0 Format : AVC Format/Info : Advanced Video Codec Format profile : Main@L3.2 Format settings : CABAC / 1 Ref Frames Format settings, CABAC : Yes Format settings, Reference frames : 1 frame Codec ID : H264 Duration : 2 h 0 min Bit rate mode : Variable Bit rate : 2 075 kb/s Maximum bit rate : 6 000 kb/s Width : 1 280 pixels Height : 720 pixels Display aspect ratio : 16:9 Frame rate : 50.000 FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Bits/(Pixel*Frame) : 0.045 Stream size : 1.75 GiB (91%) Audio ID : 1 Format : MPEG Audio Format version : Version 1 Format profile : Layer 3 Format settings : Joint stereo / MS Stereo Codec ID : 55 Codec ID/Hint : MP3 Duration : 2 h 0 min Bit rate mode : Constant Bit rate : 192 kb/s Channel(s) : 2 channels Sampling rate : 48.0 kHz Compression mode : Lossy Stream size : 166 MiB (8%) Alignment : Aligned on interleaves Interleave, duration : 24 ms (1.20 video frame) Interleave, preload duration : 24 ms
Wir haben Glück, dass der Film Progressive und nicht im Zeilensprungverfahren vorliegt, denn das Deinterlacing kostet enorm viel Transkodierzeit, wenn man es ordentlich machen will (Voreinstellung beim Filmwandler)!
AVC (H.264/x264)
siehe auch: x264
Dieser Test wurde am 26. März 2023 durchgeführt.
> time ~/bin/Filmwandler.sh -q Die_Spitzenkloepplerin_23.03.20_21-35_arte_105_TVOON_DE.mpg.HD.avi -z Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE_-_MP4.mp4 -schnitt 524.8-6644.3 -titel "Die Spitzenkloepplerin (Originaltitel: La dentellière)" -k "FSK 12 / 1977 / 107 Minuten / tt0075932 / Eine zurückhaltende junge Frau zieht in eine Wohnung mit einem jungen Studenten, den sie im Urlaub kennengelernt hat." > /usr/local/bin/ffmpeg -probesize 9223372036854M -analyzeduration 9223372036854M -fflags +genpts -i "Die_Spitzenkloepplerin_23.03.20_21-35_arte_105_TVOON_DE.mpg.HD.avi" -map 0:v -c:v libx264 -profile:v high -preset veryslow -tune film -x264opts bluray-compat=1:vbv-maxrate=15000:vbv-bufsize=15000:level=3.2:slices=1:b-adapt=2:direct=auto:colorprim=bt709:transfer=bt709:colormatrix=bt709:keyint=100:subme=9 -crf 20 -vf pad='max(iw\,ih*(16/9)):ow/(16/9):(ow-iw)/2:(oh-ih)/2:black',setdar='16/9' -keyint_min 2-8 -c:a libfdk_aac -afterburner 1 -b:a 140k -map 0:a:0 -c:s copy -ss 524.8 -to 6644.3 -movflags faststart -disposition:a:0 default -metadata title="Die Spitzenkloepplerin (Originaltitel: La dentellière)" -metadata description='FSK 12 / 1977 / 107 Minuten / tt0075932 / Eine zurückhaltende junge Frau zieht in eine Wohnung mit einem jungen Studenten, den sie im Urlaub kennengelernt hat.' -f mp4 -y "."/"Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE_-_MP4".mp4 1610 MiB, 101 Min. - Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE_-_MP4.mkv real 67m39.478s => 4060 Sekunden Transkodierdauer => ca. 1,13 Stunden user 453m31.700s sys 1m0.265s > mediainfo Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE_-_MP4.mp4 General Complete name : Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE_-_MP4.mp4 Format : MPEG-4 Format profile : Base Media Codec ID : isom (isom/iso2/avc1/mp41) File size : 1.55 GiB Duration : 1 h 41 min Overall bit rate mode : Variable Overall bit rate : 2 180 kb/s Movie name : Die Spitzenkloepplerin (Originaltitel: La dentellière) Description : FSK 12 / 1977 / 107 Minuten / tt0075932 / Eine zurückhaltende junge Frau zieht in eine Wohnung mit einem jungen Studenten, den sie im Urlaub kennengelernt hat. Writing application : Lavf58.76.100 Comment : Video ID : 1 Format : AVC Format/Info : Advanced Video Codec Format profile : High@L3.2 Format settings : CABAC / 5 Ref Frames Format settings, CABAC : Yes Format settings, Reference frames : 5 frames Codec ID : avc1 Codec ID/Info : Advanced Video Coding Duration : 1 h 41 min Bit rate mode : Variable Bit rate : 2 031 kb/s Maximum bit rate : 15.0 Mb/s Width : 1 280 pixels Height : 720 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 50.000 FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Bits/(Pixel*Frame) : 0.044 Stream size : 1.45 GiB (93%) Writing library : x264 core 164 Encoding settings : cabac=1 / ref=6 / deblock=1:-1:-1 / analyse=0x3:0x133 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.15 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / c qm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-3 / threads=18 / lookahead_threads=1 / sliced_threads=0 / slices=1 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=1 / constrained_intra=0 / bframes=3 / b_pyramid=1 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=1 / keyint=100 / keyint_min=1 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qp min=0 / qpmax=69 / qpstep=4 / vbv_maxrate=15000 / vbv_bufsize=15000 / crf_max=0.0 / nal_hrd=vbr / filler=0 / ip_ratio=1.40 / aq=1:1.00 Color range : Limited Color primaries : BT.709 Transfer characteristics : BT.709 Matrix coefficients : BT.709 Codec configuration box : avcC Audio ID : 2 Format : AAC LC Format/Info : Advanced Audio Codec Low Complexity Codec ID : mp4a-40-2 Duration : 1 h 41 min Source duration : 1 h 41 min Source_Duration_LastFrame : -9 ms Bit rate mode : Constant Bit rate : 140 kb/s Channel(s) : 2 channels Channel layout : L R Sampling rate : 48.0 kHz Frame rate : 46.875 FPS (1024 SPF) Compression mode : Lossy Stream size : 102 MiB (6%) Source stream size : 102 MiB (6%) Default : Yes Alternate group : 1 mdhd_Duration : 6119500
Dieser Test wurde am 25. März 2023 durchgeführt.
> time ~/bin/Filmwandler.sh -q Die_Spitzenkloepplerin_23.03.20_21-35_arte_105_TVOON_DE.mpg.HD.avi -z Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE_-_264.mkv -cv 264 -ca opus -schnitt 524.8-6644.3 -titel "Die Spitzenkloepplerin (Originaltitel: La dentellière)" -k "FSK 12 / 1977 / 107 Minuten / tt0075932 / Eine zurückhaltende junge Frau zieht in eine Wohnung mit einem jungen Studenten, den sie im Urlaub kennengelernt hat." > /usr/local/bin/ffmpeg -probesize 9223372036854M -analyzeduration 9223372036854M -fflags +genpts -i "Die_Spitzenkloepplerin_23.03.20_21-35_arte_105_TVOON_DE.mpg.HD.avi" -map 0:v -c:v libx264 -profile:v high -preset veryslow -tune film -x264opts bluray-compat=1:vbv-maxrate=15000:vbv-bufsize=15000:level=3.2:slices=1:b-adapt=2:direct=auto:colorprim=bt709:transfer=bt709:colormatrix=bt709:keyint=100:subme=9 -crf 20 -vf pad='max(iw\,ih*(16/9)):ow/(16/9):(ow-iw)/2:(oh-ih)/2:black',setdar='16/9' -keyint_min 2-8 -c:a libopus -ac 2 -vbr 1 -compression_level 10 -b:a 200k -map 0:a:0 -c:s copy -ss 524.8 -to 6644.3 -disposition:a:0 default -metadata title="Die Spitzenkloepplerin (Originaltitel: La dentellière)" -metadata description='FSK 12 / 1977 / 107 Minuten / tt0075932 / Eine zurückhaltende junge Frau zieht in eine Wohnung mit einem jungen Studenten, den sie im Urlaub kennengelernt hat.' -f matroska -y "."/"Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE_-_264".mkv 1606 MiB, 101 Min. - Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE_-_264.mkv real 67m48.886s => 4069 Sekunden Transkodierdauer => ca. 1,13 Stunden user 454m39.004s sys 0m58.883s > mediainfo Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE_-_264.mkv General Unique ID : 8768159741112320881209579771651472244 (0x698AFA6E350160D63613E8A3088BB74) Complete name : Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE_-_264.mkv Format : Matroska Format version : Version 4 File size : 1.57 GiB Duration : 1 h 41 min Overall bit rate mode : Variable Overall bit rate : 2 200 kb/s Movie name : Die Spitzenkloepplerin (Originaltitel: La dentellière) Encoded by : www.onlinetvrecorder.com Description : FSK 12 / 1977 / 107 Minuten / tt0075932 / Eine zurückhaltende junge Frau zieht in eine Wohnung mit einem jungen Studenten, den sie im Urlaub kennengelernt hat. Writing application : Lavf58.76.100 Writing library : Lavf58.76.100 Comment : ErrorDetectionType : Per level 1 SOFTWARE : Lavf58.42.100 Video ID : 1 Format : AVC Format/Info : Advanced Video Codec Format profile : High@L3.2 Format settings : CABAC / 5 Ref Frames Format settings, CABAC : Yes Format settings, Reference frames : 5 frames Codec ID : V_MPEG4/ISO/AVC Duration : 1 h 41 min Bit rate mode : Variable Maximum bit rate : 15.0 Mb/s Width : 1 280 pixels Height : 720 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 50.000 FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Writing library : x264 core 164 Encoding settings : cabac=1 / ref=6 / deblock=1:-1:-1 / analyse=0x3:0x133 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.15 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / c qm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-3 / threads=18 / lookahead_threads=1 / sliced_threads=0 / slices=1 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=1 / constrained_intra=0 / bframes=3 / b_pyramid=1 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=1 / keyint=100 / keyint_min=1 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qp min=0 / qpmax=69 / qpstep=4 / vbv_maxrate=15000 / vbv_bufsize=15000 / crf_max=0.0 / nal_hrd=vbr / filler=0 / ip_ratio=1.40 / aq=1:1.00 Default : Yes Forced : No Color range : Limited Color primaries : BT.709 Transfer characteristics : BT.709 Matrix coefficients : BT.709 Audio ID : 2 Format : Opus Codec ID : A_OPUS Duration : 1 h 41 min Channel(s) : 2 channels Channel layout : L R Sampling rate : 48.0 kHz Bit depth : 32 bits Compression mode : Lossy Writing library : Lavc58.134.100 libopus Default : Yes Forced : No
Hier musste ich den MKV-Container verwenden, weil WebM nicht mit dem AVC-Codec (H.264/x264) umgehen kann.
VP9
siehe auch: VP9
Dieser Test wurde am 25. März 2023 durchgeführt.
> time ~/bin/Filmwandler.sh -q Die_Spitzenkloepplerin_23.03.20_21-35_arte_105_TVOON_DE.mpg.HD.avi -z Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE_-_VP9.webm -cv vp9 -schnitt 524.8-6644.3 -titel "Die Spitzenkloepplerin (Originaltitel: La dentellière)" -k "FSK 12 / 1977 / 107 Minuten / tt0075932 / Eine zurückhaltende junge Frau zieht in eine Wohnung mit einem jungen Studenten, den sie im Urlaub kennengelernt hat." > /usr/local/bin/ffmpeg -probesize 9223372036854M -analyzeduration 9223372036854M -fflags +genpts -i "Die_Spitzenkloepplerin_23.03.20_21-35_arte_105_TVOON_DE.mpg.HD.avi" -map 0:v -c:v libvpx-vp9 -crf 32 -b:v 0 -vf pad='max(iw\,ih*(16/9)):ow/(16/9):(ow-iw)/2:(oh-ih)/2:black',setdar='16/9' -keyint_min 2-8 -c:a libopus -ac 2 -vbr 1 -compression_level 10 -b:a 200k -map 0:a:0 -c:s copy -ss 524.8 -to 6644.3 -disposition:a:0 default -metadata title="Die Spitzenkloepplerin (Originaltitel: La dentellière)" -metadata description='FSK 12 / 1977 / 107 Minuten / tt0075932 / Eine zurückhaltende junge Frau zieht in eine Wohnung mit einem jungen Studenten, den sie im Urlaub kennengelernt hat.' -f webm -y "."/"Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE_-_VP9".webm 806 MiB, 101 Min. - Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE_-_VP9.webm real 263m11.929s => 15792 Sekunden Transkodierdauer => fast 4,5 Stunden user 860m45.491s sys 1m39.552s > mediainfo Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE_-_VP9.webm General Complete name : Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE_-_VP9.webm Format : WebM Format version : Version 4 File size : 806 MiB Duration : 1 h 41 min Overall bit rate : 1 105 kb/s Movie name : Die Spitzenkloepplerin (Originaltitel: La dentellière) Encoded by : www.onlinetvrecorder.com Description : FSK 12 / 1977 / 107 Minuten / tt0075932 / Eine zurückhaltende junge Frau zieht in eine Wohnung mit einem jungen Studenten, den sie im Urlaub kennengelernt hat. Writing application : Lavf58.76.100 Writing library : Lavf58.76.100 Comment : SOFTWARE : Lavf58.42.100 Video ID : 1 Format : VP9 Codec ID : V_VP9 Duration : 1 h 41 min Width : 1 280 pixels Height : 720 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 50.000 FPS Writing library : Lavc58.134.100 libvpx-vp9 Default : Yes Forced : No Audio ID : 2 Format : Opus Codec ID : A_OPUS Duration : 1 h 41 min Channel(s) : 2 channels Channel layout : L R Sampling rate : 48.0 kHz Bit depth : 32 bits Compression mode : Lossy Writing library : Lavc58.134.100 libopus Default : Yes Forced : No
AV1
siehe auch: AV1
Dieser Test wurde am 24. März 2023 durchgeführt.
> time ~/bin/Filmwandler.sh -q Die_Spitzenkloepplerin_23.03.20_21-35_arte_105_TVOON_DE.mpg.HD.avi -z Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE.webm -schnitt 524.8-6644.3 -titel "Die Spitzenkloepplerin (Originaltitel: La dentellière)" -k "FSK 12 / 1977 / 107 Minuten / tt0075932 / Eine zurückhaltende junge Frau zieht in eine Wohnung mit einem jungen Studenten, den sie im Urlaub kennengelernt hat." > /usr/local/bin/ffmpeg -probesize 9223372036854M -analyzeduration 9223372036854M -fflags +genpts -i "Die_Spitzenkloepplerin_23.03.20_21-35_arte_105_TVOON_DE.mpg.HD.avi" -map 0:v -c:v libaom-av1 -crf 38 -b:v 0 -usage 0 -cpu-used 8 -aq-mode 2 -tune 1 -lag-in-frames 5 -vf pad='max(iw\,ih*(16/9)):ow/(16/9):(ow-iw)/2:(oh-ih)/2:black',setdar='16/9' -keyint_min 2-8 -c:a libopus -ac 2 -vbr 1 -compression_level 10 -b:a 200k -map 0:a:0 -c:s copy -ss 524.8 -to 6644.3 -disposition:a:0 default -metadata title="Die Spitzenkloepplerin (Originaltitel: La dentellière)" -metadata description='FSK 12 / 1977 / 107 Minuten / tt0075932 / Eine zurückhaltende junge Frau zieht in eine Wohnung mit einem jungen Studenten, den sie im Urlaub kennengelernt hat.' -f webm -y "."/"Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE".webm 374 MiB, 101 Min. - Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE.webm real 327m4.380s => ~19624 Sekunden Transkodierdauer => fast 5,5 Stunden user 755m54.527s sys 8m52.931s > mediainfo Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE.webm General Complete name : Die_Spitzenkloepplerin_-_2023-03-20_21-35_-_arte_DE.webm Format : WebM Format version : Version 4 File size : 374 MiB Duration : 1 h 41 min Overall bit rate : 512 kb/s Movie name : Die Spitzenkloepplerin (Originaltitel: La dentellière) Encoded by : www.onlinetvrecorder.com Description : FSK 12 / 1977 / 107 Minuten / tt0075932 / Eine zurückhaltende junge Frau zieht in eine Wohnung mit einem jungen Studenten, den sie im Urlaub kennengelernt hat. Writing application : Lavf58.76.100 Writing library : Lavf58.76.100 Comment : SOFTWARE : Lavf58.42.100 Video ID : 1 Format : AV1 Format/Info : AOMedia Video 1 Format profile : Main@L4.0 Codec ID : V_AV1 Duration : 1 h 41 min Width : 1 280 pixels Height : 720 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 50.000 FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Writing library : Lavc58.134.100 libaom-av1 Default : Yes Forced : No Color range : Limited Audio ID : 2 Format : Opus Codec ID : A_OPUS Duration : 1 h 41 min Channel(s) : 2 channels Channel layout : L R Sampling rate : 48.0 kHz Bit depth : 32 bits Compression mode : Lossy Delay relative to video : -7 ms Writing library : Lavc58.134.100 libopus Default : Yes Forced : No
ffmpeg -benchmark -probesize 9223372036854M -analyzeduration 9223372036854M -fflags +genpts+igndts -i The_Expendables_2.mkv -map 0:v -c:v libsvtav1 -crf 25 -svtav1-params enable-overlays=1:enable-tf=0:film-grain=0:film-grain-denoise=0:keyint=5s:scd=1:tune=0:fast-decode=0 -preset 7 -vf pad='max(iw\,ih*(16/9)):ow/(16/9):(ow-iw)/2:(oh-ih)/2:black',setdar='16/9' -g 300 -compression_level 10 -map 0:a:0 -c:a:0 libopus -b:a:0 128k -vbr:a:0 on -map 0:a:1 -c:a:1 libopus -b:a:1 384k -vbr:a:1 on -af aformat=channel_layouts='7.1|6.1|5.1|5.0|quad|3.0|stereo|mono' -sn -disposition:a:0 default -disposition:a:1 0 -metadata title="The Expendables 2" -metadata description='FSK 18 / 2012 / 103 Minuten / tt1764651 / Mr. Church vereint die Verbrauchsmaterialien für das, was ein einfacher Gehaltsscheck sein sollte, aber wenn einer ihrer Männer bei der Arbeit ermordet wird, bringt sie ihr Streben nach Rache tief in feindliches Gebiet und gegen eine unerwartete Bedrohung.' -f webm -y The_Expendables_2_-_opus.webm









