Bis heute wird die QuickSync-Technologie von Intel unter Linux unterstützt und wird auf zwei Arten offengelegt: VAAPI und Intels Media SDK.
Bei entsprechender Konfiguration erhalten Sie die QuickSync-basierten Encoder über das Intel MediaSDK, h264_qsv
und zwar hevc_qsv
. So sehen Sie die Encoder-Nutzung:
ffmpeg -h encoder=h264_qsv ffmpeg -h encoder-hevc_qsv
Die zweite Methode erfordert über die VAAPI-APIs, dass FFmpeg mit der --enable-vaapi
an der ./configure
Stufe übergebenen Option erstellt wird . Dies ist die Standardeinstellung für Distributionen wie Debian und Arch Linux und daher sofort einsatzbereit.
Um die verfügbaren VAAPI-basierten Encoder und Filter für einen FFmpeg-Build aufzulisten, führen Sie Folgendes aus:
$ for i in encoders decoders filters; do echo $i:; ffmpeg -hide_banner -$ | egrep -i "vaapi" done
Und bei Verwendung:
ffmpeg -h encoder=hevc_vaapi ffmpeg -h encoder=h264_vaapi ffmpeg -h encoder=vp8_vaapi ffmpeg -h encoder=vp9_vaaapi
Aus der Liste, die oben veröffentlicht wurde, ist es offensichtlich, dass jeder Encoder den Videocodec über den gesamten Ausgang von H.265 / HEVC bis VP9 ausgibt.
Die Plattformunterstützung hängt von Ihrer Plattform ab:
(ein). Die H.264-Kodierung wird von Sandybridge (zweite Generation der Intel Core Processor-Grafik) bis hin zur heutigen Zeit unterstützt.
(b). Die HEVC-Codierung wird ab Skylake und darüber hinaus unterstützt, die 10-Bit-Codierung ist ab Kabylake verfügbar.
(c). Die VP8-Kodierung ist mindestens von Broadwell (Intel Core Processor Graphics der 5. Generation) und darüber hinaus verfügbar.
(d). Die VP9-Kodierung ist mindestens von Kabylake und höher verfügbar. Coffelake und darüber hinaus bietet 10-Bit-VP9-Kodierung.
Ein paar zusätzliche Hinweise zur Codierungsqualität:
Und jetzt noch ein paar kleine Hinweise zu NVENC und die Abstimmung auf hochwertige Kodierungen:
Intels Quick Sync Encoder hat wie jeder andere hardwarebasierte Encoder gegenüber einem reinen Software-Encoder wie x264 und x265 mehrere Einschränkungen, nämlich die Qualitätskontrolle und eine strikte Beschränkung der unterstützten Eingabetexturtypen. Wenn Sie also QuickSync für einen professionellen Workflow in Betracht ziehen, sollten Sie den Performance-Nutzen im Vergleich zur perzeptuellen Kodierungsqualität vor der Investition in diesen bewerten.
Wenn Sie qualitativ hochwertige Kodierungen auf VAAPI suchen, stellen Sie sicher, dass Sie mindestens Haswell (Intel 4. Generation iGPUs) verwenden, da durch diese Architektur Funktionen wie das Konzept der „Target Usage“ (TU) eingeführt wurden. Diese Funktion soll einen einfachen Zugriff auf eine Reihe von Abstufungen ermöglichen, ohne dass die Benutzer dazu gezwungen werden müssen, eine Bitraten- und Ratensteuerungsmethode auszuwählen. Bei früheren Iterationen waren es zwar tatsächlich sieben Schritte, aber nur drei waren tatsächlich für den Verbrauch bestimmt: Qualität (TU1), ausgewogen (TU4) und Geschwindigkeit (TU7). Dies hat sich mit dem neuesten Spin von Intel HD-Grafik geändert, wobei jeder Schritt vollständig auswählbar und vom Intel Media SDK verfügbar gemacht werden kann.
Bemerkenswert sind die neueren Optimierungen in Bezug auf Bitraten-Steuerungsalgorithmen, wobei LA-BRC als bemerkenswerte Konzepte angesehen werden. Schau es dir hier an . In dieser Antwort finden Sie weitere Hinweise auf dasselbe.