-
Notifications
You must be signed in to change notification settings - Fork 0
Home
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/
Und dann kann es losgehen...
~/bin/Filmwandler.sh -q Original_Film.mpeg -z Neuer_Film.mp4 -titel "Titel vom Film" -k "Kommentar zum Film, ggf. aus Wikipedia oder ImDB"
Mit diesem Skript kann man einen beliebigen Film in diese sehr verbreiteten Formate umwandeln:
- 3GPP: "3g2" + "H.263" + "AAC" (128x96 176x144 352x288 704x576 1408x1152)
- 3GP: "3gp" + "H.263" + "AAC" (128x96 176x144 352x288 704x576 1408x1152)
- AVI: "avi" + "H.263++" + "MP3"
- FLV: "flv" + "Sorenson Spark" + "MP3" (Sorenson Spark: H.263)
- AVCHD: "m2ts" + "H.264/AVC" + "AC3"
- MKV: "mkv" + "AV1" + "Vorbis"
- MP4: "mp4" + "H.264/AVC" + "AAC" (dieses ist z.Z. das kompatibelste Format von allen)
- MPG: "mpg" + "MPEG-1/2" + "MP2/AC3" (je nach Auflösung wird automatisch zwischen VCD- und DVD-Format ausgewählt)
- OGG: "ogg" + "VP9" + "Vorbis"
- TS: "ts" + "MPEG-TS" + "AC3"
- WebM: "webm" + "AV1" + "Opus" (leider nur in Stereo und ohne Untertitel)
Die einzelnen Formate werden für unterschiedliche Anwendungsfälle empfohlen:
- MKV (mkv): das ist z.Z. der beste Kompromiss aller verfügbaren freien Formate;
- WebM (webm): hohe Kompatibilität und sehr kleine Dateien, benötigt aber zum kodieren sehr viel Zeit oder einen schnellen Rechner, ist sehr gut zum archivieren geeignet (es kann leider nur ein weniger verbreites Untertitelformat, das Untertitelformat von DVDs und den meisten BDs wird nicht unterstützt); leider sind sowohl der Video- als auch der Audio-Kodek noch in der Entwicklung und noch nicht fertig, der AV1-Video-Kodek ist noch viel zu langsam und der Opus-Audio-Kodek kann z.Z. nur Stereo
- MP4 (mp4): sehr hohe Kompatibilität, es ist das z.Z. am besten unterstützte Format, man kann diese Filme direkt in einem modernen Browser (z.B. Firefox) abspielen, ganz ohne separatem Player
- AVCHD (m2ts): gleiche Codec-Kombination wie bei BluRay
- AVI (avi): hohe Kompatibilität aber recht große Dateien, benötigt aber zum kodieren sehr wenig Zeit
- FLV (flv): das braucht man eigentlich nicht mehr, nur verwenden, wenn das Ziel es verlangt;
- 3GPP (3g2): das braucht man eigentlich nicht mehr, nur verwenden, wenn das Ziel es verlangt;
- 3GP (3gp): das braucht man eigentlich nicht mehr, nur verwenden, wenn das Ziel es verlangt;
- OGG (ogg): nicht so kompatibel wie AVI oder MP4 aber genauso frei wie MKV und (fast) genauso frei wie WebM, benötigt aber wesentlich weniger Zeit/Rechenleistung beim Kodieren als WebM
- MPG (mpg): das braucht man eigentlich nicht mehr, nur verwenden, wenn das Ziel es verlangt;
- TS (ts): das braucht man nur dann, wenn ein MPEG-Film eine hohe auflösung hat;
Meine derzeitige Empfehlung (2020):
- MP4: weil es sehr gut von Konsumerelektronik und anderer Software unterstützt wird, kann aber nicht alle BD-Untertitelformate
- MKV: weil es frei ist und alles kann, besonders hinsichtlich der Untertitelunterstützung ist dieses das Beste Format
- WebM: später würde ich hiermit MP4 ersätzen, wenn die verwendeten Kodeks (AV1 und Opus) ausgereift sind, es wird aber auf absehbare Zeit nur ein einziges Untertitelformat unterstützen
Dieses Skript wurde auf FreeBSD entwickelt, funktioniert aber auch auf Linux (getestet auf Ubuntu).
Da es Probleme zwischen der GPL und den Lizenzen vieler Codec-Bibliotheken gibt, ist es häufig problematisch diese Codec-Bibliotheken auf vielen Linux-Distributionen zu betreiben (z.B. den AAC-Encoder vom Frauenhofer Institut -> FDK_AAC, das ist der z.Z. Beste AAC-Encoder).
Aus diesem Grund werden nur auf FreeBSD die externen Codec-Bibliotheken (per Voreinstellung) verwendet. Alle anderen Betriebssysteme, auf denen dieses Skript läuft, werden die nativen (internen) Codecs von FFmpeg verwenden. Man kann das aber nach eigenen Vorstellungen ändern bzw. erweitern, es wird für jedes einzelne Format, separat in der jeweiligen Formatdatei (wie z.B. 'Filmwandler_Format_mp4.txt' oder 'Filmwandler_Codec_Audio_aac.txt') definiert.
Sollte das Basis-Skript keine Formatdatei finden, dann wird es (egal welche Endung die Zieldatei beim Start des Skriptes bekommen hat) immer eine MP4 mit Hilfe der nativen/internen Codecs (AVC+AAC) erstellen. Also im Notfall braucht man nur die eine Datei "Filmwandler.sh", sonst nichts von hier (natürlich auch die Installationen von ffmpeg, ffprobe und mkvmerge), damit es läuft.
Leider sind einige von den nativen (internen) Codecs noch im Stadium "experimentell" (aber alle im Skript konfigurierten Codecs funktionieren). In den meisten Fällen erbringen die externen Codec-Bibliotheken bessere Ergebnisse.
Außer bei AVI- und 3GPP-Filmen werden automatisch die Bildauflösungen so umgerechnen, dass der neu erstellte Film quadratische Bildpunkte (Pixel) besitz, auch werden bei diesen Filmen automatisch schwarze Balken angefühgt um am Ende ein 4:3- oder 16:9-Format zu bekommen, wenn es nötig ist.
Will man nicht, dass das Originalformat auf eines der Standardformate geändert wird, dann kann man den Parameter "-orig_dar" setzen. Es ist nicht wichtig was man ihm übergibt, sobald er benutzt wird (auch mit dem Wert "nein"), dann wird er aktiv.
~/bin/Filmwandler.sh -q Originalfilm.avi -z HTML5_kompatibler_Film.mp4 -orig_dar ja
.
-q -> Quell-Datei
-z -> Ziel-Datei
-orig_dar -> originales "Display Aspect Ratio" (Seitenverhältnis des Bildes) soll unverändert bleiben
Das Skript besitzt viele weitere nützliche Optionen, siehe:
~/bin/Filmwandler.sh -h
ein paar einfache Beispiele:
~/bin/Filmwandler.sh -q Aufnahme.mpeg -z meinFilm.mp4
~/bin/Filmwandler.sh -q Aufnahme.mpeg -z meinFilm.mp4 -titel "Mein Film"
~/bin/Filmwandler.sh -q Aufnahme.mpeg -z meinFilm.mp4 -titel "Mein Film" -k 'Hier kann ein Kommentar oder eine Beschreibung zum Film stehen'
mit den beiden folgenden Kommandos können Filme erzeugt werden, die auch auf dem "iPad", "iPad2" und "iPad mini" abspielbar sind:
~/bin/Filmwandler.sh -q Aufnahme.mpeg -z meinFilm.mp4 -soll_xmaly 1024x576
~/bin/Filmwandler.sh -q Aufnahme.mpeg -z meinFilm.mp4 -soll_xmaly iPad
mit folgenden Kommandos zeige ich wie für ein Video einen anderen Codec nutzt kann:
~/bin/Filmwandler.sh -q Aufnahme.mpeg -z meinFilm.mkv -cv 265 -ca aac
~/bin/Filmwandler.sh -q Aufnahme.mpeg -z meinFilm.webm -cv vp9 -ca vorbis
Unter anderem besitzt dieses Skript Optionen, mit denen folgendes erreicht werden kann:
- Werbung rausschneiden
- Ausschnitte aus einem Film kopieren
- unnötige schwarze Balken von einem Film entfernen
- Bildauflösung ändern
- Tonspur (Sprache) auswählen
- Untertitelspur (Sprache) auswählen
- Testmodus, der die Bildpunkte nicht in ein quadratisches Format umrechnet
Welches Format am Ende rauskommen soll, wird über die Dateiendung des Dateinamens vom neuen Film festgelegt. Nur bei der Endung ".mpg" wird ggf. die Endung vom Skript in ".ts" geändert, wenn es nötig ist auf das Container-Format MPEG-TS umzustellen. Auch wird jede Dateiendung in ".mp4" geändert, die dem Skript nicht bekannt ist.
Hier ein paar Beispiel, wie das Skript verwendet werden kann:
~/bin/Filmwandler.sh -q einFilm.mpeg -z meinNeuerFilm.mp4
~/bin/Filmwandler.sh -q einFilm.mpeg -z meinNeuerFilm.mkv
~/bin/Filmwandler.sh -q einFilm.mpeg -z meinNeuerFilm.ogg
~/bin/Filmwandler.sh -q einFilm.mpeg -z meinNeuerFilm.avi
~/bin/Filmwandler.sh -q einFilm.mpeg -z meinNeuerFilm.3gp
Weil WebM nur ein recht selten benutztes Untertitelformat benutzen kann, sollte man immer dann, wenn man es nicht genau weiß, auch die Untertitel deaktivieren, weil sonst der Transkodierforgang nicht durchgeführt werden kann:
~/bin/Filmwandler.sh -q einFilm.mpeg -z meinNeuerFilm.webm -u =0
Only VP8 or VP9 or AV1 video and Vorbis or Opus audio and WebVTT subtitles are supported for WebM.
Angenommen, wir haben eine Aufnahme aus dem TV mitgeschnitten, die Aufnahme beginnt 5 Minuten vor dem eigentlichen Film und endet 10 Minuten nach dem eigentlichen Film.
Der Film selbst geht, mit Werbepausen 110 Minute und enthält zwei Werbepausen. Die erste Werbepause beginnt in dieser Aufnahme nach 20 Minuten und dauert 5 Minuten, die zweite Werbepause geht in dieser Aufnahme von Spielminute 55 und dauert auch 5 Minuten lang.
Dann könnte beispielsweise das Kommando, bei dem am Ende nur der Film, ohne Werbung, rauskommt, so aussehen. Die Spielzeitangaben müssen dem Skript in Sekunden übergeben werden:
~/bin/Filmwandler.sh -q Aufnahme.mpeg -z meinFilm.webm -schnitt 300-1200,1500-3300,3500-6900
~/bin/Filmwandler.sh -q Film_mit_Werbung.avi -z Film_ohne_Werbung.mp4 -schnitt 34-54,332-342,355-2469,2971-4543,5031-6228,6611-8554,8855-9363
Zu beachten ist hierbei, dass FFMPEG beim schneiden sehr viel mehr Speicherplatz benötigt. Beispielsweise reichen 64 GB RAM nicht aus, wenn man einen BD-Rip mit einer Größe von 30 GB (mit 4 Tonspuren und 13 Untertitelspuren) schneiden möchte. Manchmal geht es, wenn man den Schnitt ohne Untertitelspuren bzw. mit einer verringerten Anzahl an Tonspuren durchführt.
~/bin/Filmwandler.sh -q BD-Rip.mkv -z Filmausschnitte.webm -schnitt 300-1200,1500-3300,3500-6900 -ton 0:deu -u =0
Nehmen wir an, wir möchten einen Film, der im Format 720x576 vorliegt und sowohl oben als auch unten einen schwarzen Balken hat (Breitwandfilm) und eine 16/9-Aufnahme enthält, von seinen schwarzen Balken befreien.
Die Balken haben oben und unten jeweils eine höhe von 72 Bildpunkten (Pixel), dann könnte man das mit diesem Kommando beispielsweise erreichen:
~/bin/Filmwandler.sh -q Aufnahme.mpeg -z meinFilm.webm -crop 720:432:0:72
Da kaum jemand auf anhieb genau die richtigen CROP-Werte kennt und fast jeder probieren muß ob er die richtigen Werte eingegeben hat, kann das testen bei einigen Filmen unnötig lange dauern. Aus diesem Grund wurde eine "TEST"-Option ("-t") hinzugefügt, damit wird deutlich schneller aber mit geringer Qualität kodiert:
~/bin/Filmwandler.sh -q Aufnahme.mpeg -z meinFilm.webm -crop 720:432:0:72 -t
Die Zahlen haben folgende Bedeutung:
- 720: Breite vom eigentlichen Bild
- 432: Höhe vom eigentlichen Bild
- 0: am linken Rand gibt es keinen schwarzen Balken
- 72: oben hat der schwarze Balken eine Höhe von 72 Bildpunkten (Pixel)
Hat man die richtigen CROP-Werte ermittelt, dann sollte man den Film ohne "-t" transkodieren, um die beste Qualität zu bekommen.
Nehmen wir an, wir möchten einen Film, der im Format 1024x576 vorliegt und sowohl links als auch rechts einen schwarzen Balken hat (alter Film im neuen Format) und eine 4/3-Aufnahme enthält, von seinen schwarzen Balken befreien.
Die Balken haben links und rechts jeweils eine breite von 128 Bildpunkten (Pixel), dann könnte man das mit diesem Kommando beispielsweise erreichen:
~/bin/Filmwandler.sh -q Aufnahme.mpeg -z meinFilm.webm -crop 768:576:128:0
Die Zahlen haben folgende Bedeutung:
- 768: Breite vom eigentlichen Bild
- 576: Höhe vom eigentlichen Bild
- 128: am linken Rand hat der schwarze Balken eine Breite von 128 Bildpunkten (Pixel)
- 0: oben gibt es keinen schwarzen Balken
Zum austesten, welche Parameter am besten sind, sollte die Option "-t" zusätzlich angehängt werden, damit wird das umrechnen in quadratische Pixel unterbunden. Dann ist es leichter abzuschätzen, wieviel Pixel es wirklich sind.
Will man den Film am Ende in einem kleineren Format, dann kann man das wie folgt machen:
~/bin/Filmwandler.sh -q Aufnahme.mpeg -z meinFilm.webm -crop 768:576:128:0 -soll_xmaly 640x480
~/bin/Filmwandler.sh -q Aufnahme.mpeg -z meinFilm.webm -crop 768:576:128:0 -soll_xmaly VGA
Zur Zeit ist das MP4-Format das besten unterstütze Video-Format, leider ist es nicht komplett frei und kann nicht alle Untertitelformate (z.B. von einigen Blurays nicht) und das MKV-Format ist frei und kann alle Untertitelformate wird aber leider nicht so gut unterstützt. Wenn man nun von einem Film eine MP4- und eine MKV-Version erstellen möchte, geht das mit diesem Skript am schnellsten. ~/bin/transkodieren.sh -q Aufnahme.mpeg -z meinFilm -crop 768:576:128:0 -soll_xmaly 640x480 ~/bin/transkodieren.sh -q Aufnahme.mpeg -z meinFilm -crop 768:576:128:0 -soll_xmaly VGA
Das Skript "transkodieren.sh" versteht genau die gleichen Optionen wie das Skript "Filmwandler.sh".
# Video- und Audio-Spur in ein HTML5-kompatibles Format transkodieren
# grundsaetzlich ist der Aufbau wie folgt,
# die Reihenfolge der Optionen ist unwichtig
/tmp/Filmwandler.sh [Option] -q [Filmname] -z [Neuer_Filmname.mp4]
/tmp/Filmwandler.sh -q [Filmname] -z [Neuer_Filmname.mp4] [Option]
# ein Beispiel mit minimaler Anzahl an Parametern
/tmp/Filmwandler.sh -q Film.avi -z Film.mp4
# ein Beispiel, bei dem auch die erste Untertitelspur (Zählweise beginnt mit '0'!) mit übernommen wird
/tmp/Filmwandler.sh -q Film.avi -u 0 -z Film.mp4
# so wird keine Untertitelspur übernommen
-u =0
# so wird den Untertitelspuren noch eine Sprache mit angegeben
-u 0:deu,1:eng,2:spa,3:fra,4:ita
# so werden noch externe Untertitel-Dateien mit angegeben
-u 0,1,Deutsch.srt,English.srt,2,3,4
# so wird den Untertitelspuren und -dateien noch eine Sprache mit angegeben
-u 0:deu,1:eng,Deutsch.srt:deu,English.srt:eng,2:spa,3:fra,4:ita
# so sieht das aus, wenn die Untertitel-Dateien in einem Unterverzeichnis (Sub) liegen
-u 0:deu,1:eng,Sub/Deutsch.srt:deu,Sub/English.srt:eng,2:spa,3:fra,4:ita
# Es dürfen in den Dateinamen keine Leerzeichen, Sonderzeichen
# oder Klammern enthalten sein!
# Leerzeichen kann aber innerhalb von Klammer trotzdem verwenden
/tmp/Filmwandler.sh -q "Filmname mit Leerzeichen.avi" -z Film.mp4
# wenn der Film mehrer Tonspuren besitzt
# und nicht die erste verwendet werden soll,
# dann wird so die 2. Tonspur angegeben (die Zaehlweise beginnt mit 0)
-ton 1
# wenn der Film mehrer Tonspuren besitzt
# und nicht die erste verwendet werden soll,
# dann wird so die 3. Tonspur angegeben (die Zaehlweise beginnt mit 0)
-ton 2
# Stereo-Ausgabe erzwingen
# egal wieviele Audio-Kanäle der Originalfilm hat, der neue Film wird Stereo haben
-stereo
# wenn die Bildaufloesung des Originalfilmes nicht automatisch ermittelt
# werden kann, dann muss sie manuell als Parameter uebergeben werden
-ist_xmaly 480x270
-in_xmaly 480x270
# wenn das Bildformat des Originalfilmes nicht automatisch ermittelt
# werden kann, dann muss es manuell als Parameter uebergeben werden
-dar 16:9
-ist_dar 16:9
# wenn die Pixelgeometrie des Originalfilmes nicht automatisch ermittelt
# werden kann, dann muss sie manuell als Parameter uebergeben werden
-par 64:45
-ist_par 64:45
# will man eine andere Video-Qualitaet, dann sie manuell als Parameter
# uebergeben werden
-vq 5
-soll_vq 5
# will man eine andere Audio-Qualitaet, dann sie manuell als Parameter
# uebergeben werden
-aq 3
-soll_aq 3
# Man kann aus dem Film einige Teile entfernen, zum Beispiel Werbung.
# Angaben muessen in Sekunden erfolgen,
# Dezimaltrennzeichen ist der Punkt.
# Die Zeit-Angaben beschreiben die Laufzeit des Filmes,
# so wie der CLI-Video-Player 'MPlayer' sie
# in der untersten Zeile anzeigt.
# Hier werden zwei Teile (432-520 und 833.5-1050) aus dem vorliegenden
# Film entfernt bzw. drei Teile (8.5-432 und 520-833.5 und 1050-1280)
# aus dem vorliegenden Film zu einem neuen Film zusammengesetzt.
-schnitt 8.5-432,520-833.5,1050-1280
# will man z.B. von einem 4/3-Film, der als 16/9-Film (720x576)
# mit schwarzen Balken an den Seiten, diese schwarzen Balken entfernen,
# dann könnte das zum Beispiel so gemacht werden:
-crop 540:576:90:0
# die gewünschte Bildauflösung des neuen Filmes
-soll_xmaly HDTV # das Bildformat kann mit dem entsprechenden Namen angegeben werden
-soll_xmaly 720x576 # das Bildformat kann auch mit den daneben stehenden Zahlenkombination angegeben werden
-soll_xmaly SQCIF # 128x96 - es ist ein h263-Format
-soll_xmaly QQVGA # 160x120
-soll_xmaly GB # 160x144
-soll_xmaly QCIF # 176x144 - es ist ein h263-Format
-soll_xmaly Palm_LoRes # 160x160
-soll_xmaly GBA # 240x160
-soll_xmaly VGA8 # 240x180
-soll_xmaly 3DS # 256x192
-soll_xmaly NDS # 256x192
-soll_xmaly ZXS # 256x192
-soll_xmaly CGA # 320x200
-soll_xmaly QVGA # 320x240
-soll_xmaly VHS # 320x240
-soll_xmaly VCD # 352x288 - es ist ein h263-Format
-soll_xmaly Palm_HiRes # 320x320
-soll_xmaly WQVGA # 432x240
-soll_xmaly QSVGA # 400x300
-soll_xmaly PSP # 480x272
-soll_xmaly PSION5 # 640x240
-soll_xmaly HVGA # 480x320
-soll_xmaly 2CIF # 704x288
-soll_xmaly Hi8 # 533x400
-soll_xmaly S-VHS # 533x400
-soll_xmaly EGA # 640x350
-soll_xmaly QHD_ready # 640x360
-soll_xmaly HSVGA # 600x400
-soll_xmaly HGC # 720x348
-soll_xmaly MDA # 720x350
-soll_xmaly Apple_Lisa # 720x364
-soll_xmaly SVCD # 480x576
-soll_xmaly WGA # 720x400
-soll_xmaly LD # 640x480
-soll_xmaly VGA # 640x480
-soll_xmaly NTSC # 720x480
-soll_xmaly WVGA3 # 800x480
-soll_xmaly WVGA2 # 720x540
-soll_xmaly 4CIF # 704x576 - es ist ein h263-Format
-soll_xmaly WVGA4 # 848x480
-soll_xmaly WVGA5 # 852x480
-soll_xmaly WVGA7 # 864x480
-soll_xmaly PAL # 720x576
-soll_xmaly WVGA6 # 858x484
-soll_xmaly PAL-D # 768x576
-soll_xmaly SVGA # 800x600
-soll_xmaly QHD # 960x540
-soll_xmaly HXGA # 832x624
-soll_xmaly PS_Vita # 964x544
-soll_xmaly iPad # 1024x576
-soll_xmaly WSVGA # 1024x600
-soll_xmaly DVGA # 960x640
-soll_xmaly WSVGA2 # 1072x600
-soll_xmaly DVGA2 # 960x720
-soll_xmaly EVGA # 1024x768
-soll_xmaly XGA # 1024x768
-soll_xmaly 9CIF # 1056x864
-soll_xmaly HD_ready # 1280x720
-soll_xmaly HDTV # 1280x720
-soll_xmaly DSVGA # 1200x800
-soll_xmaly WXGA # 1280x768
-soll_xmaly XGA2 # 1152x864
-soll_xmaly WXGA1 # 1280x800
-soll_xmaly WXGA2 # 1360x768
-soll_xmaly WXGA3 # 1366x768
-soll_xmaly WXGA4 # 1376x768
-soll_xmaly OLPC # 1200x900
-soll_xmaly UWXGA # 1600x768
-soll_xmaly QuadVGA # 1280x960
-soll_xmaly SXVGA # 1280x960
-soll_xmaly WXGA+ # 1400x900
-soll_xmaly WXGA+2 # 1440x900
-soll_xmaly SXGA # 1280x1024
-soll_xmaly WXGA+Apple # 1440x960
-soll_xmaly WSXGA # 1600x900
-soll_xmaly SXGA+ # 1400x1050
-soll_xmaly 16CIF # 1408x1152 - es ist ein h263-Format
-soll_xmaly WSXGA2 # 1600x1024
-soll_xmaly WSXGA+ # 1680x1050
-soll_xmaly UXGA # 1600x1200
-soll_xmaly FullHD # 1920x1080
-soll_xmaly HD1080 # 1920x1080
-soll_xmaly WUXGA # 1920x1200
-soll_xmaly QWXGA # 2048x1152
-soll_xmaly TXGA # 1920x1400
-soll_xmaly UW-UXGA # 2560x1080
-soll_xmaly TXGA2 # 1920x1440
-soll_xmaly 2K # 2048x1536
-soll_xmaly QXGA # 2048x1536
-soll_xmaly SUXGA # 2048x1536
-soll_xmaly WQHD # 2560x1440
-soll_xmaly WQXGA # 2560x1600
-soll_xmaly QHD1440p # 3440x1440
-soll_xmaly UWQHD # 3440x1440
-soll_xmaly QSXGA # 2560x2048
-soll_xmaly QHD+ # 3200x1800
-soll_xmaly QSXGA+ # 2800x2100
-soll_xmaly UW4k # 3840x1600
-soll_xmaly WQSXGA # 3200x2048
-soll_xmaly HexSVGA # 3200x2400
-soll_xmaly QUXGA # 3200x2400
-soll_xmaly UHD4K # 3840x2160
-soll_xmaly UHDV-1 # 3840x2160
-soll_xmaly 4K2K # 4096x2160
-soll_xmaly QWUXGA # 3840x2400
-soll_xmaly WQUXGA # 3840x2400
-soll_xmaly Retina4K # 4096x2304
-soll_xmaly 4K # 4096x3072
-soll_xmaly HexXGA # 4096x3072
-soll_xmaly UHD+ # 5120x2880
-soll_xmaly WHXGA # 5120x3200
-soll_xmaly HSXGA # 5120x4096
-soll_xmaly WHSXGA # 6400x4096
-soll_xmaly HUXGA # 6400x4800
-soll_xmaly FUHD # 7680x4320
-soll_xmaly UHDV-2 # 7680x4320
-soll_xmaly UHXGA # 7680x4800
-soll_xmaly WHUXGA # 7680x4800
-soll_xmaly QUHD # 15360x8640
Hat man einen Film im AVI-Format, bei dem aber leider der Index beschädigt ist, dann kann man wie folgt, den Film in kürzester Zeit reparieren, in dem man den Inhalt einfach in einen anderen Container schreibt, der nicht so empfindlich ist. Zu diesem Zweck ist dieses Skript geschrieben worden, es verpackt den Inhalt aus der AVI-Datei in eine MKV-Datei:
~/bin/Filmwandler_zu_MKV-Kontainer.sh -q Film.avi
Es ist auch möglich den Titel bzw. den Kommentar des Filmes zu überschreiben:
~/bin/Filmwandler_zu_MKV-Kontainer.sh -q Film.avi
~/bin/Filmwandler_zu_MKV-Kontainer.sh -q Film.avi -titel "Der Film"
~/bin/Filmwandler_zu_MKV-Kontainer.sh -q Film.avi -k "FSK 0 / Dieser Film ist frei erfunden und jede Ähnlichkeit ist reiner Zufall."
~/bin/Filmwandler_zu_MKV-Kontainer.sh -q Film.avi -titel "Der Film" -k "FSK 0 / Dieser Film ist frei erfunden und jede Ähnlichkeit ist reiner Zufall."
Will man einen hiermit erzeugten MKV-Film im Browser ansehen, dann braucht man nur den Container vom MKV- ins WebM-Format zu ändern und dabei sicherheitshalber noch die Untertitel entfernen und schon läuft er auch in jedem modernen Web-Browser. Leider muß man die Untertitel entfernen, weil WebM nur ein recht seltenes Untertitelformat unterstützt. Die meisten werden von WebM nicht unterstützt. MKV kann zwar alle aber die Web-Browser unterstützen MKV leider noch nicht.
~/bin/Filmwandler_zu_WebM-Kontainer.sh -q Film.mkv -u =0
~/bin/Filmwandler_zu_WebM-Kontainer.sh -q Film.mkv -titel "Der Film" -u =0
Das Format (welche Audio- und Video-Codecs in einen Container rein kommen) ist normalerweise durch die Dateiendung der Ziel-Datei vorgegeben. Also, wenn man einen MKV-Film transkodieren möchte, dann werden dort die Codecs drin sein, die laut der Vorgabe in einen MKV-Container eingebettet werden -> der Video-Codec "AV1" und der Audio-Codec "Vorbis" (das sind die derzeitigen Einstellungen, kann aber von jedem selbst verändert werden). Diese Vorgabe kann u.a. mit der Option "-format" überschrieben werden. Übergibt man der Option "-format" eine andere Dateiendung, dann werden in dem angegeben Container die Codecs eingebettet, die laut Vorgabe in den Container rein kommen, den man dann mit der Option "-format" angegeben hat. Natürlich können nicht alle Codecs in alle möglichen Container eingebettet werden, deshalb gibt es ja die Vorgabeeinstellungen. Dafür dass das funktioniert, musst Du aufpassen! Als Tipp: "Der einzige Container, der alle Codecs kann, ist der MKV-Kontainer!"
z.B.:
Will man einen Film in das MKV-Format transkodieren, dann sind die vorgegebenen Codecs dafür AV1+Vorbis.
~/bin/Filmwandler_zu_WebM-Kontainer.sh -q Film.mkv -z Film.mkv -u =0
Für das WebM-Format sind die vorgegebenen Codecs dafür AV1+Opus. Will man jetzt aber einen WebM-Film mit den Codes eines MKV-Films erstellen, dann benötigt man die Option "-format mkv".
~/bin/Filmwandler_zu_WebM-Kontainer.sh -q Film.mkv -z Film.webm -format mkv -u =0
Die voreingestellten Codecs, die der Filmwandler von sich aus in die einzelnen Container einbettet, kann man mit der Option "-cv" und "-ca" überschreiben.
# Das Format (Video-Codec + Audio-Codec) ist normalerweise durch die Dateiendung der Ziel-Datei vorgegeben.
# Mit dieser Option kann der Video-Codec überschrieben werden.
# 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
# Das Format (Video-Codec + Audio-Codec) ist normalerweise durch die Dateiendung der Ziel-Datei vorgegeben.
# Mit dieser Option kann der Audio-Codec überschrieben werden.
# Audio-Codec: aac, ac3, mp2, mp3, opus, vorbis
-ca aac
-ca ac3
-ca opus
-ca vorbis
~/bin/Filmwandler_zu_WebM-Kontainer.sh -q Film.mkv -z Film.webm -format mkv -cv vp9
~/bin/Filmwandler_zu_WebM-Kontainer.sh -q Film.mkv -z Film.webm -format mkv -ca ac3
~/bin/Filmwandler_zu_WebM-Kontainer.sh -q Film.mkv -z Film.webm -format mkv -cv vp9 -ca ac3