
我用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 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
完整控制台輸出: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
有一種東西叫做顏色壓縮。 Full RGB 是您想要保持所有顏色的選擇。 YUV422 或 YUV420 會明顯去除很多顏色(YUV444 會去除一點,但幾乎無法分辨)。它在 Fraps 和 HuffYuv 上看起來很好的原因是 RGB 是它們的預設色彩空間,這意味著沒有顏色壓縮。在 x264 應該會有 YUV 420、422、444、RGB,甚至還有這個 GRAY 選項。是的,如果您這樣設置,視訊編解碼器可以輕鬆保留所有顏色。