Я записал игру, используя фрапс. Записанное видео выглядело великолепно.

Затем я отредактировал видео и закодировал его кодеком Huffyuv без потерь. Видео выглядело великолепно.

Наконец, я закодировал видео с x264 в FFmpeg, и цвета выглядели размытыми.

Скриншоты:

Хаффюв (выглядит великолепно):

оригинал

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.

Как мне исправить цвета, чтобы они выглядели так же, как в оригинальном видео?

ОБНОВИТЬ:

Пробовал настройки x264 Mulvya (цвета все еще выглядят размытыми):

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

пробовал переключатель "-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 ответ1

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

Это также может быть проблемой цветового пространства, но давайте посмотрим, если это не сработает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .