Fraps -> Huffyuv -> codificación x264: los colores parecen descoloridos

Fraps -> Huffyuv -> codificación x264: los colores parecen descoloridos

Grabé un juego usando fraps. El vídeo grabado se veía genial.

Luego edité el vídeo y lo codifiqué con el códec sin pérdidas Huffyuv. El vídeo se veía genial.

Finalmente, codifiqué el video con x264 en FFmpeg y los colores parecían descoloridos.

Capturas de pantalla:

Huffyuv (se ve genial):

Original

x264 (parece descolorido):

Copiar

Configuración x264:

ffmpeg -y -i "D:\Project\TestHuffyuv.avi" -c:v libx264 -b:v 1000k -pass 1 -passlogfile D:\Project\Stats -f mp4 NUL
ffmpeg -y -i "D:\Project\TestHuffyuv.avi" -c:v libx264 -b:v 1000k -pass 2 -passlogfile D:\Project\Stats D:\Project\FFmpeg_MP4.mp4

Cuando estaba codificando con x264, recibí la siguiente advertencia:

No pixel format specified, yuv444p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.

¿Cómo arreglo los colores para que se vean igual que en el video original?

ACTUALIZAR:

Probé la configuración x264 de Mulvya (los colores todavía parecen descoloridos):

ffmpeg -y -color_range 2 -i "D:\Project\TestHuffyuv.avi" -vf scale=in_range=full:out_range=tv -c:v libx264 -b:v 1000k -color_range 1 -pass 1 -passlogfile D:\Project\Stats -f mp4 NUL
ffmpeg -y -color_range 2 -i "D:\Project\TestHuffyuv.avi" -vf scale=in_range=full:out_range=tv -c:v libx264 -b:v 1000k -color_range 1 -pass 2 -passlogfile D:\Project\Stats D:\Project\FFmpeg_MP4.mp4

Mulvya

Probé el interruptor x264 "-pix_fmt yuv420p" (la imagen se ve más oscura, los colores aún están descoloridos):

ffmpeg -y -i "D:\Project\TestHuffyuv.avi" -c:v libx264 -pix_fmt yuv420p -b:v 1000k -pass 1 -passlogfile D:\Project\Stats -f mp4 NUL
ffmpeg -y -i "D:\Project\TestHuffyuv.avi" -c:v libx264 -pix_fmt yuv420p -b:v 1000k -pass 2 -passlogfile D:\Project\Stats D:\Project\FFmpeg_MP4.mp4

-pix_fmt yuv420p

Probé el interruptor x264 "-pix_fmt yuvj420p" (la imagen se ve más oscura que la original):

ffmpeg -y -i "D:\Project\TestHuffyuv.avi" -c:v libx264 -pix_fmt yuvj420p -b:v 1000k -pass 1 -passlogfile D:\Project\Stats -f mp4 NUL
ffmpeg -y -i "D:\Project\TestHuffyuv.avi" -c:v libx264 -pix_fmt yuvj420p -b:v 1000k -pass 2 -passlogfile D:\Project\Stats D:\Project\FFmpeg_MP4.mp4

pix_fmt yuvj420p

Salida de consola completa:http://pastebin.com/3cJNvVjL

Respuesta1

Intentar

ffmpeg -y -color_range 2 -i "D:\Project\TestHuffyuv.avi" -vf scale=in_range=full:out_range=tv -c:v libx264 -b:v 1000k -color_range 1 -pass 1 -passlogfile D:\Project\Stats -f mp4 NUL
ffmpeg -y -color_range 2 -i "D:\Project\TestHuffyuv.avi" -vf scale=in_range=full:out_range=tv -c:v libx264 -b:v 1000k -color_range 1 -pass 2 -passlogfile D:\Project\Stats D:\Project\FFmpeg_MP4.mp4

También podría ser un problema de espacio de color pero veamos si esto no funciona.

Respuesta2

Hay algo llamado compresión de color. Full RGB es lo que desea seleccionar para mantener todo el color. YUV422 o YUV420 eliminarán notablemente mucho color (YUV444 lo hace un poco, pero casi indistinguible). La razón por la que se veía bien en Fraps y HuffYuv es porque RGB es su espacio de color predeterminado, lo que significa que no hay compresión de color. En x264 debería haber YUV 420, 422, 444, RGB e incluso esta opción GRIS. Sí, el códec de vídeo puede conservar fácilmente todos los colores si lo configura de esa manera.

información relacionada