Próbuję przesyłać strumieniowo strzelankę FPS z OBS 20.0.1 przy możliwie najniższej przepływności, przy jednoczesnym zachowaniu najlepszej możliwej jakości (tj. Mniej blokowych pikseli).
Obawiam się, że więcej ramek referencyjnych zwiększy moją przepływność. Więc skoro jest to przesyłanie strumieniowe w dużym ruchu, czy powinienem używać -tune animation
do zwiększania odblokowywania? A może PSNR
albo SSIM
być bardziej obiecujących kandydatów?
Czy istnieje lepszy / inny sposób sprawdzenia, która -tune
opcja jest najlepsza, niż wypróbowanie ich za pomocą strumieni testowych?
Czy są jeszcze jakieś opcje x264, z których korzystałby mój strumień, ale które nie są uwzględnione w OBS?
Mój sprzęt:
- Procesor: Intel i7-4770k
- Karta graficzna: Nvidia GTX780 Ti
- RAM: 12 GB , 1600 MHz
video-streaming
bitrate
x264
Trr1ppy
źródło
źródło
-tune
-parametr w x264. Jeśli korzystanie z-tune PSNR
niego doprowadziłoby do lepszych wyników przy mniejszej przepływności w krótszym czasie, pomyślałbym, że wszyscy by go wykorzystali (i promowali), zwłaszcza że mówimy o narzędziu open source, które jest dobrze udokumentowane i omówione.Odpowiedzi:
Możesz to zrobić, ale zajmie to dużo czasu kodowania. Ponieważ streamujesz na żywo, zakładam, że potrzebujesz pojedynczego przejścia do kodowania, a najlepiej takiego, które jest szybkie, tzn. Maksymalizuje zasoby procesora. Dlatego powinieneś bawić się z ustawioną wstępnie szybkością procesora - wybierz najwyższą, którą możesz tolerować.
Niemożliwe jest jednoczesne zoptymalizowanie wszystkich tych parametrów (prędkość, jakość, przepływność), dlatego x264 (i inne kodery) oferują sposób wyboru ustawienia prędkości (np. Od
ultrafast
doveryslow
w x264). Te ustawienia wstępne włączają / wyłączają niektóre opcje, które odpowiednio optymalizują jakość kompresji lub minimalizują czas kodowania.Zasadniczo jest to prawda, ponieważ są one znacznie większe.
Spójrz na ten inny post, w którym wyjaśniono tryby strojenia .
W przypadku konkretnego przypadku przesyłania strumieniowego na żywo z niskim opóźnieniem, z jednym przejściem kodowania, nie ma sensu używać
film
. Służy to do zachowania (ziarnistych) szczegółów.Twoje obawy związane z blokadą przy niskiej przepływności są zrozumiałe, ale
animation
ustawienie wstępne nie ma sensu w przypadku przesyłania strumieniowego na żywo, ponieważ zwiększyłoby to również liczbę ramek B, które i tak chcesz ustawić na 0 (lub niską liczbę), aby umożliwić szybkie kodowanie. Ramki B wymagają zakodowania przeszłych i przyszłych ramek, co oznacza, że koder / dekoder musi przechowywać większy bufor, aby przechowywać te ramki. Im więcej ramek B, tym lepsza jakość kosztem czasu kodowania.Te
psnr
issim
tryby nie są przydatne zarówno; są używane tylko podczas opracowywania / optymalizacji enkodera i mogą w rzeczywistości skutkować gorszą subiektywną jakością.Być może
zerolatency
lepiej pasuje do twojego przypadku użycia?Teoretycznie możesz zakodować kilka oryginalnych strumieni, a następnie zakodować je przy użyciu różnych ustawień i uruchomić je za pomocą pełnego analizatora jakości wideo, takiego jak VQMT lub VMAF . To da ci wynik jakości kodowania. Ale wydaje mi się, że wizualna kontrola wyników jest również wystarczająca w twoim przypadku.
źródło
bframes
Ustawienie w x264 określa maksymalną liczbę ramek B w rzędu; jeśli nie używa ramek B, enkoder wypełni je ramkami P. Być może w twoim przypadku nie używaj więcej niż 1-2 klatek B (jeśli w ogóle) i staraj się skrócić interwał klatek kluczowych (przypuszczam, że: 3-4 sekundy?). Trudno podać dokładną odpowiedź, naprawdę musisz sprawdzić wynikową jakość.Ten
tune
parametr nie ma dużego wpływu na jakość strumienia korelującego z brakiem dyskusji i / lub wzmianką o jego opcjach w przewodnikach.animation
może być używany ze strumieniami o niskiej przepływności, aby zwiększyć Deblocking, ifilm
może być używany ze strumieniami o dużej przepływności, aby strumień był jak najwierniejszy w źródle. Chociaż nie jestem pewien, jak skuteczne jest odblokowywanie lub brak.PSNR
iSSIM
służą do testowania i porównywania kontroli szybkości (CBR, ABR, VBR, CRF).źródło