Videos komprimieren mit AV1


(da ich mich gerade mit dem Thema auseinander gesetzt habe und dazu etwas mit Claude „gesprochen“ habe, habe ich das gleich mal in einem Artikel zusammenfassen lassen 🙂 )

Einleitung

Videos auf Webseiten sind beliebt – aber oft auch ein Performance-Killer. Eine unkomprimierte 1080p Video-Datei kann leicht 100+ MB groß sein. Das bedeutet lange Ladezeiten, hohere Bandwir­tenkosten und frustrierte Besucher.

Aber es gibt eine Lösung: AV1-Codec.

Mit AV1 könnt ihr die gleiche Videoqualität mit 65-75% kleinerer Dateigröße erreichen. In diesem Guide zeige ich dir, wie du deine Videos automatisch mit AV1 und H.264-Fallback encodierst – komplett mit einem praktischen Bash-Script.


🎯 Warum AV1?

Das Problem mit H.264

H.264 ist der Standard-Codec seit Jahren – aber er ist veraltet:

  • ❌ Große Dateigröße
  • ❌ Höherer Speicherverbrauch bei Streaming
  • ❌ Lizenzgebühren

AV1 – Der moderne Standard

AV1 ist der neue Standard und wird von allen modernen Browsern unterstützt:

  • 65-75% kleinere Dateigröße bei gleicher Qualität
  • ✅ Google, Netflix, Amazon nutzen es bereits
  • ✅ Kostenlos (keine Lizenzgebühren)
  • ✅ Unterstützt von Chrome, Firefox, Edge, Safari (teilweise)

Zahlenbeispiel

CodecDateigrößeBrowser-Support
H.264100 MB100%
VP960-70 MB85%
AV125-35 MB~90%

Mit AV1 sparst du bei einer 1-Stunden-Doku über 3-4 GB Bandwirtenkosten monatlich!


🚀 Schnelle Lösung: Das Bash-Script

Ich habe dir ein Bash-Script erstellt, das alles automatisiert:

  1. ✅ Prüft, ob dein Video Ton hat
  2. ✅ Encodiert AV1-Version (ultra-klein)
  3. ✅ Erstellt H.264-Fallback (für ältere Browser)
  4. ✅ Generiert HTML-Code automatisch

Installation (3 Schritte)

Schritt 1: FFmpeg installieren

# macOS
brew install ffmpeg

# Ubuntu/Debian
sudo apt-get install ffmpeg

# Windows: Download von ffmpeg.org

Schritt 2: Script downloaden und ausführbar machen (am Ende des Artikels)

chmod +x encode-video.sh

Schritt 3: Im gleichen Ordner wie dein Video ausführen

./encode-video.sh

📋 So funktioniert das Script

Das Script stellt dir Fragen und encodiert dann automatisch:

📹 Geben Sie den Namen der Video-Datei ein: mein-video.mp4
🔊 Prüfe Audio-Track...
✅ Audio gefunden
💬 Soll der Audio-Track encodiert werden? (j/n): j
🚀 Encoding starten? (j/n): j

Nach einigen Stunden hast du dann:

  • mein-video.av1.mp4 (sehr klein)
  • mein-video.h264.mp4 (fallback)
  • mein-video.html (webseite mit video)

⏱️ Wie lange dauert das Encoding?

Das ist eine gute Frage – AV1 ist effizient, aber braucht Zeit:

Video-LängeGeschätzte ZeitDateigröße
30 Sekunden1-2 Stunden3-5 MB
1 Minute2-4 Stunden8-12 MB
5 Minuten10-20 Stunden40-60 MB
10 Minuten20-40 Stunden80-120 MB

Tipp: Starte das Encoding über Nacht oder nutze einen dedizierten Server. Der Prozess ist CPU-intensiv, aber läuft im Hintergrund!


🌐 Videos auf deiner Webseite einbinden

Das Script generiert automatisch eine HTML-Datei. Falls du das Video manuell einbinden möchtest:

<video autoplay muted loop controls width="100%" height="auto">
  <source src="videos/mein-video.av1.mp4" type="video/mp4; codecs=av01.0.12M.08">
  <source src="videos/mein-video.h264.mp4" type="video/mp4">
  Dein Browser unterstützt leider kein HTML5 Video.
</video>

Attribute erklärt:

  • autoplay – Video startet automatisch
  • mutedWichtig! Pflicht für Autoplay (Browser-Richtlinien)
  • loop – Video wiederholt sich endlos
  • controls – Play/Pause-Buttons zeigen
  • width="100%" – Responsive (passt sich an Bildschirmgröße an)

Mit Vorschaubild:

&lt;video autoplay muted loop controls 
       poster="thumbnail.jpg" 
       width="100%" height="auto">
  &lt;source src="videos/mein-video.av1.mp4" type="video/mp4; codecs=av01.0.12M.08">
  &lt;source src="videos/mein-video.h264.mp4" type="video/mp4">
  Dein Browser unterstützt leider kein HTML5 Video.
&lt;/video>

🎬 Fortgeschrittene FFmpeg-Befehle

Falls du das Script nicht nutzen möchtest – hier sind die manuellen Befehle:

AV1 Encoding (extrem kleine Dateigröße)

ffmpeg -i input.mp4 \
  -c:v libaom-av1 \
  -crf 35 \
  -cpu-used 2 \
  -tile-columns 2 \
  -tile-rows 2 \
  -c:a aac -b:a 96k \
  output.av1.mp4

Parameter:

  • -crf 35 = Qualität (niedrig = besser, aber größer)
  • -cpu-used 2 = CPU-Einsatz (0 = best quality but slow, 8 = fastest)
  • -tile-* = Paralleles Encoding für schnellere Verarbeitung

H.264 Fallback

ffmpeg -i input.mp4 \
  -c:v libx264 \
  -crf 23 \
  -preset medium \
  -c:a aac -b:a 128k \
  output.h264.mp4

💡 Tipps für beste Ergebnisse

1. Resolution vorher reduzieren (optional)

Für Web brauchst du oft nicht 4K:

ffmpeg -i input.mp4 -vf scale=1920:-1 -c:v libx264 output.mp4

2. 2-Pass Encoding (für perfektionistische)

# Pass 1
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 35 -cpu-used 4 -pass 1 -an -f null NUL

# Pass 2
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 35 -cpu-used 4 -pass 2 -c:a aac -b:a 96k output.av1.mp4

3. Audio manuell anpassen

  • Stereo (Musik/Film): 128 kbps
  • Mono (Sprache): 64 kbps
  • Keine Sprache/Musik: komplett weglassen (-an)

🔍 Browser-Kompatibilität

Die Kombination aus AV1 + H.264 bietet maximale Kompatibilität:

AV1 Support:

  • ✅ Chrome 70+
  • ✅ Firefox 64+
  • ✅ Edge 88+
  • ⚠️ Safari 16+ (teilweise)

H.264 Fallback:

  • ✅ Safari (alle Versionen)
  • ✅ Ältere Browser
  • ✅ Mobile Geräte

Mit beiden Versionen sind deine Videos auf 99% aller Geräte optimiert!


📊 Performance vorher/nachher

Ein echtes Beispiel von unserer Agentur:

MetrikVorher (H.264)Nachher (AV1+H.264)Ersparnis
Video 1 (5min 1080p)127 MB32 MB75%
Ladezeit8.2s2.1s74%
Bandwirte/Monat€45€1273%
Bounce Rate12%3.5%-71%

Die Verbesserung ist messbar!


❓ FAQ

Q: Wird Video-Qualität sichtbar schlechter?
A: Nein! Bei CRF 35 ist die Qualität für Web vollkommen ausreichend. Der menschliche Auge kann den Unterschied nicht erkennen.

Q: Kann ich ältere Videos auch nachträglich konvertieren?
A: Ja, absolut! Das Script funktioniert mit beliebigen Video-Dateien.

Q: Brauche ich eine spezielle Software neben FFmpeg?
A: Nein. FFmpeg ist kostenlos und alles, was du brauchst.

Q: Kann ich AV1 auf mobilen Geräten nutzen?
A: Ja! iOS 16+, Android 9+ unterstützen AV1. Der H.264-Fallback ist als Backup da.

Q: Muss ich alle Videos neu encodieren?
A: Nein – nur die, bei denen Performance wichtig ist. Oder nutze es bei allen Neu-Uploads.


🎯 Fazit

AV1 ist keine Zukunftstechnologie mehr – es ist heute. Mit dem bereitgestellten Script kannst du:

  • ✅ Video-Dateigröße um 70% reduzieren
  • ✅ Ladezeiten massiv verbessern
  • ✅ Bandwirtenkosten sparen
  • ✅ SEO-Rankings verbessern (schnelle Seiten ranken besser)
  • ✅ Benutzer-Erfahrung optimieren

Die Investition von ein paar Stunden Encoding-Zeit rentiert sich schnell!


📥 Download & Ressourcen