Damit mehrere Browser unterstützt werden, musst du deinen .mov
mit FFmpeg konvertieren.
in zwei verschiedene Container: einen MP4-Container und einen WebM-Container. In
würden Sie wahrscheinlich gleichzeitig
einen Codec angeben. Fürs Erste
können wir für FFmpeg die Standardeinstellungen verwenden.
Wenn Sie mit diesen Konzepten noch nicht vertraut sind, sollten Sie Grundlagen zu Mediendateien bevor Sie fortfahren. Wenn du FFmpeg nicht installiert hast, lies Medienanwendungen – Grundlagen um Docker einzurichten.
Wir verwenden die vorgeschlagene Docker-Installation
die Datei glocken.mov aus dem Artikel Mediendateien für das Web vorbereiten
die im Verzeichnis media
hinzugefügt wurden. Wir haben FFmpeg Version 4.3.2 für alle
Befehle in diesem Abschnitt.
Container
Zuerst müssen wir die beiden Container aus der Datei .mov
mit der .mp4
und .webm
mit einem Audio- und Videostream in der Datei.
Grundlagen zu Mediendateien
finden Sie weitere Informationen zu Containern und Streams.
.
MP4
/media # ffmpeg -i glocken.mov glocken.mp4
WebM
/media # ffmpeg -i glocken.mov glocken.webm
Das Erstellen von WebM dauert länger als bei MP4. Das ist keine Überraschung,
die Ergebnisse. Im MP4-Format wird die Datei auf etwa 83%
der Dateien
ist WebM auf 78%
der Originalgröße reduziert, kann aber deutlich kleiner sein.
Ihre Ergebnisse werden unterschiedlich ausfallen. Dabei ist wichtig zu erwähnen, dass mit FFmpeg 4.2.2
Die standardmäßige Videobitrate ist 200k
. In 4.3.2
wird keine Standardbitrate festgelegt.
Das Video ist also nicht mehr nur 4%
des Originals. Sie können sich das selbst ansehen.
Verwenden Sie dazu den bash-Befehl ls -a
in dem Ordner, in dem sich Ihre Mediendateien befinden.
Beispiel:
/media # ls -l
-rw-r--r-- 1 root root 12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root root 10106446 Mar 7 12:33 glocken.mp4
-rwx------ 1 root root 9503301 Mar 7 18:30 glocken.webm
Um eine kleine Datei zu erhalten, würden Sie stattdessen wie folgt vorgehen:
/media # ffmpeg -i glocken.mov -b:v 200k glocken.webm
...
frame= 300 fps=3.6 q=0.0 Lsize= 483kB time=00:00:10.01 bitrate= 395.0kbits/s speed=0.121x
video:359kB audio:117kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.356068%
/media # ls -l
-rw-r--r-- 1 root root 12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root root 10106446 Mar 7 12:33 glocken.mp4
-rwx------ 1 root root 494497 Mar 7 18:45 glocken.webm
Ergebnisse prüfen
Verwenden Sie zum Überprüfen Ihrer Ergebnisse FFmpeg und Shaka Packager, wie bereits in Grundlagen zu Medienanwendungen:
/media # packager input=glocken.mp4 --dump_stream_info
/media # ffmpeg -i glocken.mp4
Codecs
Als Nächstes den Codec. Wie unter Grundlagen zu Mediendateien beschrieben, wird ein Codec
ist nicht dasselbe wie ein Container (Dateityp). Zwei Dateien desselben Containers
-Typ die Daten enthalten kann,
die mit verschiedenen Codecs komprimiert wurden. Mit dem WebM-Format
ermöglicht die Codierung von Audio mit Vorbis oder Opus. Um den Codec zu ändern,
verwende FFmpeg. Dieser Befehl gibt beispielsweise eine .mkv
-Datei mit einer vorbis
-Audiodatei aus.
und den Video-Codec av1
.
/media # ffmpeg -i glocken.mov -c:a vorbis -c:v av1 glocken.mkv
In diesem Beispiel geben das Flag -c:a
und -c:v
die Audiodaten und
Video-Codecs.
Auf der Seite Medien-Conversion werden Befehle zum Konvertieren von Codecs. In den folgenden Tabellen sind die verwendeten Bibliotheken zusammengefasst: in FFmpeg, um die Codec-Konvertierungen für WebM- und MP4-Dateien durchzuführen. Dies sind die die für DASH bzw. HLS empfohlen werden.
Video
Codec | Erweiterung | Bibliothek |
---|---|---|
av1 | WebM, MKV | Libaom-Av1 |
h264 | MP4 | libx264 |
vp9 | WebM | libvpx-vp9 |
Audio
Codec | Erweiterung | Bibliothek |
---|---|---|
AAC | MP4 | AAC |
Opus | WebM | Libopus |
Vorbis | WebM | libvorbis |
Als Nächstes zeigen wir dir, wie du die Bitrate neu erstellter Dateien änderst.