class: center, middle ![img20](zip.png) # Hardware-VideoEncoder NVENC, QuickSync & VCE ### Hauke Goos-Habermann #### https://goos-habermann.de --- ### Über mich - Entwickler des
Softwareverteilungssystems m23
- Organisator der
Kieler Open Source und Linux Tage
-
Dienstleister zu m23, Linux und Freier Software
- Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Wöchentlicher Livestream *"Jean und Hauke Show"* auf https://www.youtube.com/c/LinuxGuides - Community-Video-Serie *"Nicht der Weisheit letzter Schluß"* auf
tube.tchncs.de
und
YouTube
mit **beruflichen** oder **privaten Projekten** - Nimmt Videos auf, streamt und setzt dabei auf Hardware-VideoEncoder verschiedener Hersteller. --- ### Hardware-VideoEncoder ![img20r](zip.png) Auch wenn die meisten heutigen CPUs schnell genug sind, um **FullHD**-Aufnahmen (1920x1080) bei 30 oder sogar 60 Bildern pro Sekunde (FPS) zu bewältigen, ist es oft sinnvoller, die darauf **spezialisierten Hardwareeinheiten** in **CPU** oder **GPU** einzuspannen. Diese **komprimieren** das Video ***quasi nebenbei*** (als
H.264
oder
H.265/HEVC
), sodaß für die **CPU mehr Rechenzyklen** zur Verfügung stehen. Mit den richtigen Einstellungen erlaubt das eine **flüssigere Aufnahme**. Üblich und unter Linux unterstützt sind: * AMD (per VAAPI): https://en.wikipedia.org/wiki/Video_Coding_Engine * Intel QuickSync (per VAAPI): https://www.edius.de/quicksync.html * NVIDIA (per NVENC): https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units --- ### Installation Je nach verwendeter Hardware sind ggf. ein paar **zusätzliche Pakete** zu **installieren** bzw. vorhandene zu **aktualisieren**. Hier beispielhaft die Befehle für Linux Mint (21) und Ubuntu (20.04): ```bash # AMD (evtl. nötig oder auch nicht) add-apt-repository ppa:oibaf/graphics-drivers apt upgrade # Intel QuickSync apt install intel-media-va-driver-non-free # NVIDIA ($ver entsprechend setzen) apt install nvidia-compute-utils-$ver nvidia-dkms-$ver nvidia-driver-$ver\ nvidia-utils-$ver xserver-xorg-video-nvidia-$ver nvidia-prime nvidia-settings # Streaming und Videoaufnahme apt install obs-studio # Umfangreicher Videoschnitt apt install kdenlive ``` Einfache Videoschnittsoftware **Avidemux** ⇒ https://www.avidemux.org --- ### OBS (Open Broadcaster Software) ![img33r](Stream_starten.png) OBS teilt die Einstellungen für Videokompression in die Aufgaben ***Aufnahme*** und ***Stream*** auf. Hierzu habe ich für Euch Bildschirmfotos von **verschiedenen Hardwareplattformen** zusammengestellt. Für das **Streaming** steht ggf. **weniger Bandbreite** (z.B. 6Mbit/s bei Twitch) als für die Aufnahme auf Festplatte/SSD zur Verfügung, was zu einer **geringeren Qualität** führt. Zudem kann nur **eine Tonspur live** gesendet werden; bei einer Aufnahme sind (im
Matroska-Container
) bis zu 6 möglich. Daher ist es empfehlenswert, einen **Livestream gleichzeitig** in **besserer Qualität** und mit **getrennten Tonspuren** für die Nachbearbeitung **aufzunehmen**. --- ### AMD (Picasso/Zen+) ⇒ Aufnahme ![img80](Ryzen5-Einstellungen-Ausgabe-Aufnahme.png) --- ### AMD (Picasso/Zen+) ⇒ Stream ![img80](Ryzen5-Einstellungen-Ausgabe-Stream.png) --- ### AMD (Lucienne/Zen 2) ⇒ Aufnahme ![img80](AMD-Einstellungen-Ausgabe-Aufnahme.png) --- ### AMD (Lucienne/Zen 2) ⇒ Stream ![img80](AMD-Einstellungen-Ausgabe-Stream.png) --- ### Intel QuickSync ⇒ Aufnahme ![img80](Intel-Einstellungen-Ausgabe-Aufnahme.png) --- ### Intel QuickSync ⇒ Stream ![img80](Intel-Einstellungen-Ausgabe-Stream.png) --- ### NVIDIA (vereinfachte Konfiguration) ![img80](NVIDIA-Einstellungen-Ausgabe-einfach.png) --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de