Duda codificador streaming y calidad

Buenas.

Tengo una duda sobre que calidad, resolución y que codificador usar cuando se quiere hacer streaming, no a la máxima calidad, sino a una que sea buena y no afecte demasiado a los FPS de los juegos.

El tema es, según mis pruebas, utilizando NVENC a 1280*720 a 60p con un bitrate de 6000, se obtienen mejores resultados que utilizando 1080 a 60p (con el mismo bitrate, ya que está capado en twitch más de 6 mil, probado a 9000 y no sube de 6...).

Pero en todos los sitios leo que es mejor utilizar x264, pero aparecen valores que no tengo ni idea (CBR?) lo del uso del procesador tampoco se exacto cuando habría que elegir...

En principio no hay muchos problemas de hardware, un 1070 y un 8750.

Que configuración usáis vosotros que sea óptima?
El streaming es muy CPU dependiente y depende mucho del juego que streamees puedes tener una calidad u otra.

x264 tira mucho de CPU asi que si le pones un bitrate muy alto al mismo tiempo que ejecutas el juego en el mismo equipo, se le van a escapar frames al codificador y en el video vas a tener pixelacos en escenas muy movidas, o cuando hagas movimientos rapidos con el raton en juegos FPS, porque no le da tiempo a codificarlo y salen como pixeles borrosos.

NVENC le quita esa sobrecarga a la CPU para ponersela a la tarjeta grafica (Solo sirve para NVIDIA), el problema de este es que no da tanta calidad como el x264.

Depende mucho el tipo de juego que streamees, si juegas a lol o hearthstone, o juegos de imagenes mas estaticas, con un bitrate de 4500 o 5000 @ 1080p 60FPS se te va a ver perfecto.

Pero si juegas a shooters vas a tener que ir olvidandote de los 1080p si quieres una calidad buena, yo lo pondría a 6000 @ 720p 60FPS

Si quieres una calidad en plan Profesional 1080p 60FPS jugando a shooters todo super nitido, no vas a poder conseguirla con un solo PC, tendrás que tener un PC para jugar y otro para hacer Streaming, con su debido hardware instalado, capturadora y demás, una pasta vamos. Como hacen los streamers profesionales ya que así tienen todo el potencial de un PC para codificar y enviar el video, y el otro para mover los juegos.

También depende mucho de la linea de Internet que tengas, si tienes 3 megas de subida y le metes un bitrate de 6000 le estás metiendo el doble de datos de los que puede llegar a enviar tu linea causando así pues parones al espectador o pixeles borrosos. Eso es algo que tienes que mirar también.

Xelux escribió:El tema es, según mis pruebas, utilizando NVENC a 1280*720 a 60p con un bitrate de 6000, se obtienen mejores resultados que utilizando 1080 a 60p (con el mismo bitrate, ya que está capado en twitch más de 6 mil, probado a 9000 y no sube de 6...).


Esto pasa por lo que te he comentado, poniendo 1080p a 60FPS le estas dando una carga de trabajo al equipo que no puede llegar a procesar y eso repercute en la calidad del Streaming. Además dices que tienes un 8750H, si no me equivoco eso es de un portatil... No es muy recomendable hacer Streaming en un portatil. Puedes jugar, pero jugar y hacer Streaming, estas forzando demasiado.

Yo tengo un i7 8700 y una 1080 con 16GB de ram y me pasa lo mismo si pongo calidades muy altas. Por ahora lo tengo en 720p 60FPS 6000kbps y me va genial. Tambien piensa que muy poca gente te va a ver a pantalla completa, con lo cual hacer Streaming en 1080p es mas pijerio que otra cosa. Incluso gente mira Twitch desde el movil... Con 720p tienes mas que suficiente.

Espero que te haya servido de ayuda.
Hhmmmm... depende.

Si tiene un procesador de 8 nucleos e hyperthread [dos hilos por nucleo] podra jugar y hacer la codificacion por software [por ejemplo con el x264 o x265 o el nuevo av1] sin perder mucho del rendimiento, claro igual tiene un Threadripper y sus 12 nucleos y 24 hilos y que decir, asi no requiere de dos computadoras.

O lo mas simple, una capturadora standalone que traera su propio chip CODEC y podra codificar sin requerir de nada mas, e incluso algunas de estaas capturadoras tienen su propio HDD o bien, graban a un dispisitivo de almacenamiento conectado a un puerto USB destinado para ello.


Si tienes una tarjeta de video potente mejor usa la codificacion pro hardware de video, que en tu caso con tu geforce seria usando el encoder NVENC [codifica al formato h264] que es ll que vienes empleando, que si bien, no logra la misma calidad que un encoder por software [por ejemplo el x264] pues para el tema de Live streaming no esta mal.

Luego, no todo es bitrate, tambien esta que tanto debe de analizar el encoder para la compresion, que entre mas tiempo le dedique mas calidad se tendra pero tambien tendra mas latencia, por ejemplo cualquier encoder [por hardware o por software] h264 tiene el parametro PRESET y entre ellos esta elegir si FAST, MEDIUM o SLOW, con ellos se le indica el tiempo de analisis que debe hacer el encoder de la imagen, asi el FAST hara la compresion mas rapida casi sin consumir recursos del GPU/CPU pero de menor calidad [el resultado seria muy similar a un video codificado con DivX/XviD de las primeras versiones], luego esta el MEDIUM donde el encoder ya se toma un poco mas de tiempo [y algo mas de recursos del GPU/CPU] y comienza a usar los algoritmos basicos del formato h264, y luego esta el SLOW donde ya se toma mucho mas tiempo de analisis y con ello mayor calidad [y mucho mas recursos del GPU/CPU], y hay mas como el FASTER o el SLOWER, pero vamios, los tres que puse serian los mas empleados. Para compresuion en tiempo real yo usaria entre MEDIUM cuando mucho en un procesador o en una GPU mas o menos potente, ya en CPUs o GPUs de gama muy alta ya podria emplear el SLOW y SLOWER ya que potencia bruta tendria suficiente para poder ahcver el trabajo del juego y de la compresion en muy alta calidad.

Luego esta el PROFILE o perfil: BASELINE, MAIN y HIGH, yo lo dejaria o en BASELINE [la codificacion h264 mas basica] o en MAIN [algoritmos algo mas avanzados de la codificacion h264], y esto tambien es valido para cualquier encoder a h264 sea por hardware de video [como el nvenc] o por software [como el x264].

Con x264 [codificacion con el CPU]
hilo_problema-con-el-obs-solucionado_2203039

hilo_grabar-con-obs-studio_2174470

del nvenc

hilo_retransmito-en-twitch-y-el-pc-se-me-relentiza_2300909
Todavia habra que configurar el encoder de nvidia para que consuma algo menos de recursos

Imagen

PROFILE/PERFIL dejalo en AUTO [en su defecto dejalo en Main], LEVEL/NIVEL tambien en AUTO [o en su defecto en 4 maximo], B-Frames igual que en la imagen en 4. En el for de OBS Studio recomiendan que para NVENC se use un keyframe mayor a 2 [el valor de 2 viene por defecto].

En estos videos aconsejan configuracione sdel NVENC
https://www.youtube.com/watch?v=A2I69Ry_vak
https://www.youtube.com/watch?v=HjrOOciLI4Q






.




.
Gracias a los 2!

@DJSyNcRo, tienes toda la razón con el 720!
3 respuestas