Estoy intentando transmitir un juego de disparos FPS desde OBS 20.0.1 con la tasa de bits más baja posible manteniendo la mejor calidad posible (es decir, menos píxeles en bloques).
Me preocupa que más marcos de referencia aumenten mi tasa de bits. Entonces, dado que se trata de una transmisión de alto movimiento, ¿debería utilizarla -tune animation
para impulsar el desbloqueo? ¿O serían PSNR
o SSIM
serían candidatos más prometedores?
¿Existe alguna forma mejor u otra de probar qué -tune
opción es mejor que probarlas con transmisiones de prueba?
Además, ¿hay otras opciones x264 de las que se beneficiaría mi transmisión, pero que no están incluidas en OBS?
Mi hardware:
- UPC:Intel i7-4770k
- GPU:Nvidia GTX780Ti
- RAM:12GB, 1600MHz
Respuesta1
Estoy intentando transmitir un juego de disparos FPS desde OBS 20.0.1 con la tasa de bits más baja posible manteniendo la mejor calidad posible (es decir, menos píxeles en bloques).
Puede hacer esto, pero llevará mucho tiempo de codificación. Dado que estás transmitiendo en vivo, supongo que deseas un paso de codificación único, y preferiblemente uno que sea rápido, es decir, que maximice los recursos de tu CPU. Por lo tanto, deberías jugar con la velocidad de la CPU preestablecida: elige la más alta que puedas tolerar.
Es imposible optimizar todos estos parámetros (velocidad, calidad, tasa de bits) al mismo tiempo, por lo que x264 (y otros codificadores) ofrecen una forma de seleccionar la velocidad preestablecida (por ejemplo, de ultrafast
a veryslow
en x264). Estos ajustes preestablecidos habilitan/deshabilitan ciertas opciones que optimizan la calidad de la compresión o minimizan el tiempo de codificación, respectivamente.
Me preocupa que más marcos de referencia aumenten mi tasa de bits
En general, esto es cierto, ya que son mucho más grandes.
Entonces, dado que se trata de una transmisión de alto movimiento, ¿debería usar la animación -tune para impulsar el desbloqueo? ¿O PSNR o SSIM serían candidatos más prometedores?
Echa un vistazo a este otro post, dondeSe explican los modos de sintonización..
Para su caso particular de transmisión en vivo a baja latencia, con una sola pasada de codificación, no tiene sentido usar film
. Esto es para preservar los detalles (granulados).
Sus preocupaciones sobre el bloqueo con una tasa de bits baja son comprensibles, pero el animation
ajuste preestablecido no tiene sentido para la transmisión en vivo, ya que también aumentaría la cantidad de fotogramas B, que de todos modos desea establecer en 0 (o un número bajo) para permitir una velocidad rápida. codificación.marcos Brequieren que se codifiquen cuadros pasados y futuros, lo que significa que el codificador/decodificador debe mantener un búfer más grande para almacenar estos cuadros. Cuantos más fotogramas B, mejor será la calidad, a expensas del tiempo de codificación.
Los modos psnr
y ssim
tampoco son útiles; se utilizan únicamente durante el desarrollo/optimización del codificador y, de hecho, podrían dar como resultado una peor calidad subjetiva.
¿Quizás zerolatency
se adapta mejor a su caso de uso?
¿Existe alguna forma mejor u otra de probar qué opción -tune es mejor que probarlas con transmisiones de prueba?
En teoría, podría codificar algunas transmisiones originales, luego codificarlas con diferentes configuraciones y ejecutarlas a través de un analizador de calidad de video de referencia completa comoVQMToVMAF. Estos le darán una puntuación de calidad para las codificaciones. Pero supongo que inspeccionar visualmente los resultados también es suficiente en su caso.
Respuesta2
La configuración de sintonización no está pensada para una calidad alta o baja, sino para optimizar la apariencia de un tipo de fuente determinado.
La animación Tune es para animaciones basadas en celdas (planas). No apto para transmisión de juegos.
Tune Film es para vídeos o películas de acción en vivo, pero CGI con suficiente realismo (por ejemplo, texturas finas) también puede beneficiarse de él. No hay problema en intentarlo.
Es probable que ninguna otra configuración de melodía sea adecuada. Lo más importante es utilizar el ajuste preestablecido "más rápido" (o mejor), ya que todos los ajustes preestablecidos de menor calidad degradan significativamente la calidad. También es importante darle suficiente tasa de bits. Tenga en cuenta que x264 utilizará una buena cantidad de CPU, así que prepárese para ello. Un codificador de hardware como NVENC puede ayudar con esto hasta cierto punto, pero con una calidad de vídeo ligeramente inferior.
No tiene sentido ajustar la latencia baja a menos que su plataforma lo fuerce, ya que no es necesario para transmitir su juego (es decir, los espectadores no se verán afectados si hay una fracción de segundo de latencia además de los varios segundos que ya tiene). .
Respuesta3
El tune
parámetro no tiene mucho efecto en la calidad de la transmisión, lo que se correlaciona con la falta de discusión y/o mención de sus opciones en las guías. animation
se puede usar con transmisiones de baja tasa de bits para aumentar el desbloqueo y film
se puede usar con transmisiones de alta tasa de bits para mantener la transmisión lo más fiel posible a la fuente. Aunque no estoy seguro de qué tan efectivo sea el desbloqueo o la falta de él.
PSNR
y SSIM
son para fines de prueba y comparación entre controles de velocidad (CBR,ABR,VBR,CRF).