Fraps -> Huffyuv -> x264 编码:颜色看起来褪色了

Fraps -> Huffyuv -> x264 编码:颜色看起来褪色了

我使用 fraps 录制了一场比赛。录制的视频看起来很棒。

然后我编辑了视频,并用 Huffyuv 无损编解码器对其进行了编码。视频看起来很棒。

最后,我用 FFmpeg 中的 x264 对视频进行编码,但颜色看起来很褪色。

截图:

Huffyuv(看起来很棒):

原来的

x264(看起来褪色了):

复制

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

当我使用 x264 编码时,收到以下警告:

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

我该如何修复颜色让它们看起来与原始视频一样?

更新:

尝试了 Mulvya 的 x264 设置(颜色仍然看起来很褪色):

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

穆尔维亚

尝试了“-pix_fmt yuv420p”x264 开关(图像看起来更暗,颜色仍然褪色):

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

尝试了“-pix_fmt yuvj420p”x264 开关(图像看起来比原始图像更暗):

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

完整控制台输出:http://pastebin.com/3cJNvVjL

答案1

尝试

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

这也可能是色彩空间的问题,但让我们看看这是否不起作用。

答案2

有一种东西叫做颜色压缩。全 RGB 是您想要选择以保留所有颜色的东西。YUV422 或 YUV420 会明显带走很多颜色(YUV444 会带走一点但几乎无法区分)。它在 Fraps 和 HuffYuv 上看起来不错的原因是 RGB 是它们的默认颜色空间,意味着没有颜色压缩。在 x264 中应该有 YUV 420、422、444、RGB,甚至这个 GREY 选项。是的,如果您这样设置,视频编解码器可以轻松保留所有颜色。

相关内容