x264: ¿qué sintonización ofrece la mejor calidad de transmisión en vivo sin aumentar la tasa de bits?

x264: ¿qué sintonización ofrece la mejor calidad de transmisión en vivo sin aumentar la tasa de bits?

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 animationpara impulsar el desbloqueo? ¿O serían PSNRo SSIMserían candidatos más prometedores?

¿Existe alguna forma mejor u otra de probar qué -tuneopció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 configuración de OBS: Configuración de 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 ultrafasta veryslowen 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 animationajuste 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 psnry ssimtampoco 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 zerolatencyse 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 tunepará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. animationse puede usar con transmisiones de baja tasa de bits para aumentar el desbloqueo y filmse 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.

PSNRy SSIMson para fines de prueba y comparación entre controles de velocidad (CBR,ABR,VBR,CRF).

información relacionada