Mam Linuksa i chciałbym zakodować niektóre filmy za pomocą ffmpeg. mam słyszał że mój procesor (drugi rdzeń procesora i5) ma sprzętową obsługę kodowania h.264.
Czy możliwe jest użycie ffmpeg, aby to wykorzystać, a jeśli tak, to w jaki sposób?
cpu
ffmpeg
sandy-bridge
Jeremy French
źródło
źródło
Odpowiedzi:
Nie, nie jest. FFMPEG nie obsługuje technologii Intel QuickSync. Aby użyć QuickSync, program musi przejść przez Intel Media SDK, który nie jest dostępny dla systemu Linux.
źródło
Na dzień dzisiejszy technologia Intel QuickSync jest obsługiwana w systemie Linux i jest udostępniana na dwa podstawowe sposoby: VAAPI i Intel's Media SDK.
Po odpowiednim skonfigurowaniu otrzymasz kodery QuickSync za pośrednictwem Intel MediaSDK, a mianowicie
h264_qsv
ihevc_qsv
. Aby zobaczyć użycie kodera:Druga metoda, za pomocą interfejsów API VAAPI, wymaga zbudowania FFmpeg za pomocą
--enable-vaapi
opcja przekazana na./configure
etap. Jest to domyślne ustawienie w dystrybucjach, takich jak Debian i Arch Linux, i jako takie łatwo dostępne do użycia po wyjęciu z pudełka.Aby wyświetlić listę dostępnych koderów i filtrów VAAPI na kompilacji FFmpeg, uruchom:
A w użyciu:
Z powyższej listy jest oczywiste, co każdy z powyższych koderów wysyła kodek wideo na wyjście, od H.265 / HEVC do VP9.
Obsługa platformy różni się w zależności od platformy:
(za). Kodowanie H.264 jest obsługiwane od Sandybridge (grafika drugiej generacji Intel Core Processor) do prezentacji.
(b). Kodowanie HEVC jest obsługiwane w Skylake i poza nim, z 10-bitowym kodowaniem, które jest dostępne na Kabylake i nie tylko.
(do). Kodowanie VP8 jest dostępne przynajmniej w Broadwell (5-ta generacja procesorów Intel Core Graphics) i nie tylko.
(re). Kodowanie VP9 jest dostępne przynajmniej w Kaby Lake i powyżej. Coffee Lake i nie tylko zaoferują 10-bitowe kodowanie VP9.
Kilka dodatkowych uwag na temat jakości kodowania:
A teraz małe notatki na temat NVENC i dostrojenia go do wysokiej jakości kodowania:
Quick Sync Encoder firmy Intel, podobnie jak każdy inny koder sprzętowy, ma kilka ograniczeń w porównaniu z czystym koderem oprogramowania, takim jak x264 i x265, mianowicie kontrola jakości i ścisłe ograniczenie obsługiwanych typów tekstur wejściowych. W związku z tym, jeśli rozważasz QuickSync dla dowolnego profesjonalnego przepływu pracy, przed dokonaniem inwestycji uprzejmie oceń korzyści wydajności w porównaniu z jakością kodowania percepcyjnego.
Jeśli szukasz wysokiej jakości kodowania na VAAPI, upewnij się, że jesteś przynajmniej na Haswell (Intel 4. generacji iGPU), ponieważ ta architektura wprowadziła takie funkcje, jak koncepcja „Target Usage” (TU). Ta funkcja ma na celu umożliwienie prostego dostępu do szeregu gradacji bez skomplikowania wokół zmuszania użytkowników do wyboru szybkości transmisji bitów i metody kontroli szybkości. W poprzednich iteracjach, podczas gdy technicznie istniało siedem kroków, tylko trzy były naprawdę wystawione na konsumpcję: jakość (TU1), zrównoważona (TU4) i prędkość (TU7). Zmieniło się to wraz z najnowszym wirowaniem grafiki Intel HD, z każdym krokiem w pełni wybieranym i eksponowanym przez Intel Media SDK.
Godne uwagi są nowsze optymalizacje algorytmów sterowania przepływnością, godne uwagi koncepcje to LA-BRC. Spójrz na to tutaj . Widzieć to odpowiedz na więcej wskazówek na ten sam.
źródło
x264 uzyskaj dostęp do QuickSync bez korzystania z MediaSDK. Intel dotarł do nich i wzajemnie sobie pomogli, aby to osiągnąć (google for "x264 QuickSinc). Możliwe, że wykorzystasz ich wysiłek i przeniesiesz go do ffmpeg ...
źródło