Zastanawiam się, czy dostanę lepszą kartę graficzną, czy może przyspieszyć kodowanie h264 na moim komputerze za pomocą hamulca ręcznego?
Jeśli tak, to w jaki sposób mogę stwierdzić, która karta graficzna to obsługuje?
Wiem, że GPU może dekodować sprzętowo h264, ale nie jestem pewien co do kodowania.
Odpowiedzi:
Przy użyciu hamulca ręcznego odpowiedź brzmi „nie”. Hamulec ręczny to koder h.264 tylko do procesora, chociaż teraz jest w stanie używać OpenCL do skalowania wideo i ma pewne wsparcie dla DXVA do dekodowania wideo.
Pytanie połączone przez slhck wymienia MediaCoder , ale wymaga karty graficznej Nvidia lub procesora Intel z rdzeniem graficznym drugiej generacji.
Istnieje kilka starszych produktów, które zostały przestarzałe, w szczególności Badaboom i oprogramowanie ATi Avivo.
Badaboom, który mógłby wykorzystać procesory graficzne Nvidia i Intel do przyspieszenia procesu kodowania, ale jest on już wycofany i nie obsługuje nowszych kart graficznych.
ATi miało własny koder wideo, który wcześniej nazywał się „Avivo”, zanim został połączony z pakietem kodeków AMD, który zawierał konwerter wideo AMD, choć nie jest już dostępny.
źródło
x264 obsługuje teraz przyspieszenie kodowania OpenCL. To, ile przyspieszenia otrzymasz, będzie zależeć od wydajności twojej karty graficznej, na moim GTS 450 nie otrzymuję żadnego, a przy wolniejszych kartach faktycznie spowalnia kodowanie. Lepsze karty mogą pomóc. Wszystko, co musisz zrobić, to dodać --opencl do wiersza poleceń x264. Uważam, że hamulec ręczny korzysta z tych samych bibliotek x264 i oferuje to samo przyspieszenie OpenCL w nowszych wersjach.
źródło
https://trac.ffmpeg.org/wiki/HWAccelIntro
Opcja „-hwaccel auto” pozwala wybrać sprzętowe przyspieszone dekodowanie do użycia w sesji kodowania. Możesz dodać ten parametr z „auto” przed wejściem (jeśli twój x264 jest skompilowany z obsługą OpenCL, możesz spróbować dodać parametr -x264opts), na przykład:
Przykro mi, ale nie pamiętam, jak wyświetlić listę wszystkich dostępnych opcji dla „-hwaccel”.
Możesz także spróbować tego: https://wiki.archlinux.org/index.php/Hardware_video_acceleration
źródło
Obecnie Handbrake obsługuje następujące kodery przyspieszane sprzętowo dla H.264 / AVC:
Intel QuickSync (w systemie Windows i Linux). Jest to zgodne z co najmniej procesorami z serii Intel Sandybridge (Core drugiej generacji) ze zintegrowaną grafiką włączoną i wystawioną na działanie systemu operacyjnego. Zalecany sprzęt dla akceptowalnej jakości kodowania: Haswell (seria Core 4. generacji) i nie tylko, który wprowadził koncepcję precyzyjnych poziomów docelowych (TU), funkcje antycypowania (takie jak tryby kodowania LA-BRC i ICQ ) ze znacznie lepszą wydajnością. Zobacz instrukcję użytkowania z dokumentacji hamulca ręcznego tutaj .
NVENC firmy NVIDIA : Wymaga to co najmniej procesorów graficznych NVIDIA z serii Kepler (GK +) i wyższych z wysokowydajnych konsumenckich jednostek SKU (seria GTX) i profesjonalnych zestawów (GPU Quadro i Tesla opartych na Kepler i nie tylko). Jest to dostępne zarówno w systemie Windows, jak i Linux.
Warto zauważyć, że dzięki NVENC będziesz sztucznie ograniczony do co najwyżej dwóch równoczesnych sesji kodowania na jednostkach SKU konsumentów, podczas gdy na skład profesjonalny nie ma to wpływu. Informacje na temat określonych możliwości kodera można znaleźć w matrycy GPU . Aby uzyskać najlepszą wydajność i jakość kodera, trzymaj się najnowszej wersji procesorów graficznych Pascal i Volta .
Opcjonalnie:
Jeśli chodzi o wsparcie Apple, jest to w najlepszym razie wstępne . VideoToolBox API, gdzie realizowane poza zakresem hamulca ręcznego, również wydaje się mieć bardzo ograniczony zestaw kontroli. Nawet jeśli Handbrake przyjmie go wcześniej, nie oczekuj cudów pod względem zachowania jakości i przepustowości.
Pamiętaj, że może być konieczne użycie najnowszej wersji nocnej, aby móc korzystać z najnowszych funkcji kodera na swojej platformie, tak jak obecnie. To zdecydowanie zmieni się w przyszłości.
źródło