Skip to content

alt HFU Logo

Digitale AV-Technik
Prof. Uwe Hahne
Sommersemester 2026

Digitale AV-Technik - Aufgabenblatt 07

Vorbereitung

Verwenden Sie ihr eigenes Smartphone; auf dem Smartphone soll im Browser ein Video abgespielt werden. Das Video soll vorher auf dem PC vorverarbeitet und codiert werden.

Installation FFmpeg

Laden Sie FFmpeg für ihr Betriebssystem herunter und installieren Sie es auf ihrem Laptop.

Prüfen Sie die Installation indem Sie auf der Konsole die folgenden Befehle eingeben:

ffmpeg -version

Es sollte die Version von FFmpeg ausgegeben werden. Dieses Aufgabenblatt wurde mit der Version 7.1 auf MacOS getestet.

ffprobe -version

Damit überprüfen Sie ob auch ffprobe mit installiert wurde. Ein Tool um den Codec und Container einer Datei oder eines Streams zu überprüfen.

Download der Testvideos

Klonen Sie sich das GitHub Repository mit den Python Skripten zum Kurs: https://github.com/uhahne/DAVT_python

Folgen Sie der Installationsanleitung und laden Sie sich verschiedene Testvideos herunter. Unbedingt erforderlich sind die im Repository vorbereiteten Videos:

  • ITU-R Rec. BT.802, 525-line
  • Download möglich bei CVDL, beachten Sie, dass eine Registrierung notwendig ist.
  • StarCraft von Gaelle Martin-Cocher. Die StarCraft Sequenz, die von Derf-Twitch zur Verfügung gestellt wurde, kann auch hier im y4m Format heruntergeladen werden.

Ziel

Komprimieren Sie die beiden Rohvideos mithilfe von FFmpeg, sodass sie auf Ihrem eigenen Smartphone flüssig abgespielt werden kann. Finden Sie die optimale Kombination aus Codec, Auflösung und Bitrate, die mit dem Standardbrowser Ihres Geräts kompatibel ist.

Vorgehen

1. Ausgangssituation

Sie haben ein Rohvideo (z. B. im Format .yuv oder .avi). Ihr Ziel ist es, dieses Video so zu komprimieren, dass es:

  • eine möglichst geringe Dateigröße hat,
  • dabei eine hohe Videoqualität beibehält,
  • und auf Ihrem Smartphone im Standardbrowser ohne Probleme abgespielt werden kann.

2. Recherche zur Codec-Kompatibilität

  1. Öffnen Sie die Website CanIUse.com.
  2. Finden Sie heraus, welche Video-Codecs vom Standardbrowser Ihres Smartphones unterstützt werden.
  3. Tipp für Android: Prüfen Sie die Kompatibilität mit Chrome.
  4. Tipp für iOS: Prüfen Sie die Kompatibilität mit Safari.
  5. Recherchieren Sie die Unterstützung der folgenden Codecs:
  6. H.264 (AVC)
  7. H.265 (HEVC)
  8. VP9
  9. AV1
  10. Notieren Sie die unterstützten Codecs und die jeweiligen Einschränkungen mit Hilfe der Informationen von Mozilla und erstellen Sie sich eine Liste der Codecs, die für ihr Smartphone funktionieren sollten.

3. Video-Komprimierung mit FFmpeg

Verwenden Sie FFmpeg, um die Videos zu komprimieren und vergleichen Sie die Resultate mit dem Python Skript compare_video_player.py.

Raw Video (.yuv)

Die Dateiendung .yuv bedeutet, dass es sich um ein Video im Rohformat handelt. Dieses können Sie mit ffmpeg in ein unterstütztes Format übertragen. Es lässt sich nicht direkt im Pythonskript compare_video_playerverwenden. Bei der Konvertierung in ein unterstütztes Format (z. B. .mp4) mit ffmep müssen Sie die Auflösung und das Pixelformat angeben. Beispiel:

ffmpeg -f rawvideo -vcodec rawvideo -s 1920x1080 -r 25 -pix_fmt yuv420p 
   -i inputfile.yuv -c:v libx264 -preset ultrafast -qp 0 output.mp4

Experimentieren Sie mit den folgenden Parametern:

Codec

Testen Sie verschiedene Codecs (z. B. H.264 und H.265), die kompatibel mit Ihrem Browser sind. Beispiel:

ffmpeg -i input.avi -c:v libx264 output.mp4

Falls Sie mit dem AV1 Codec experimentieren wollen, beachten Sie, dass libaom-av1 sehr langsam ist, aber libsvtav1 in der Regel schneller ist.

Auflösung

Passen Sie die Auflösung an die Eigenschaften Ihres Smartphones an (z. B. 1080p, 720p). Beispiel für 720p:

ffmpeg -i input.avi -vf scale=1280:720 -c:v libx264 output_720p.mp4

Bitrate

Finden Sie eine geeignete Bitrate, die eine gute Balance zwischen Qualität und Dateigröße bietet. Beispiel:

ffmpeg -i input.avi -b:v 2M -c:v libx264 output_2mbps.mp4

4. Überprüfung und Optimierung

  1. Übertragen Sie die komprimierte Videodatei auf Ihr Smartphone.
  2. Öffnen Sie das Video im Standardbrowser und überprüfen Sie:
  3. Spielt das Video flüssig ab?
  4. Gibt es Qualitätsprobleme (z. B. Artefakte)?
  5. Ist die Datei klein genug für eine schnelle Ladezeit?
  6. Falls nötig, passen Sie die Einstellungen in FFmpeg an (z. B. Codec, Bitrate oder Auflösung).
  7. Speichern Sie die komprimierten Videos und fügen Sie jeweils eine kurze Dokumentation hinzu, die Folgendes beschreibt:
  8. Den verwendeten Codec und warum Sie ihn gewählt haben.
  9. Die Auflösung und Bitrate des Videos.
  10. Eine kurze Einschätzung der Qualität des Videos und die Unterschiede zum Ausgangsvideo.
    • Hierzu können Sie das Skript compare_video_player.py aus dem GitHub Repository verwenden.
  11. Herausforderungen, die Sie bei der Komprimierung und Wiedergabe gelöst haben.
  12. Angaben zum verwendeten Smartphone-Modell und Browser.