У меня проблемы с кодированием видео для YouTube. Контент не очень «удобен для сжатия» (это кадры геймплея Battlefield 4), но я на 100% уверен, что результаты могут быть лучше. Некоторые ссылки:
- Тот же кадр извлечен из источника и из видео, обработанного YouTube: http://imgur.com/a/AwXTv
- Источник MP4: https://mega.co.nz/#!Z990iCDD!QHpW3h6ZnEy3tlhsCYAEnGGpoY4d4N9ImgdPdlWLwdE
- Само видео: http://youtu.be/0b8ollYsQU8
- Случайный клип парня, играющего на той же карте (конечно, сравните с версией 1080p): http://youtu.be/R4Nz2dBZRQY
Команда, которую я использую для вызова кодировщика:
ffmpeg.exe -i %INPUT%.avs -c:v libx264 -profile high -g 15 -keyint_min 15 -coder 1 ^
-preset slow -bf 2 -subq 9 -crf 18 -c:a libvorbis -pix_fmt yuv420p %OUTPUT%.mp4
Я пробовал много разных конфигураций:
- http://youtu.be/T9CH4ypbI_I
- http://youtu.be/eFkHGi_kj7U
- http://youtu.be/D7nZFQHWNuw
- http://youtu.be/emzQhiMHxxE
Но никто, кажется, не делает вещи по-другому. Даже необработанные неизмененные кадры, записанные с помощью ShadowPlay, выглядят плохо: http://youtu.be/bLR-QavrpGU. Может быть, я должен попробовать другой кодер? Или использовать другой контейнер? Я выбрал свои варианты в соответствии с официальным руководством YouTube: https://support.google.com/youtube/answer/1722171.
У меня сейчас нет идей. Любая подсказка будет высоко ценится.
PS Я понимаю, что фрейм, на который я ссылаюсь, - это кошмар любого кодера, но почему это так плохо? И почему это влияет на всю картину, а не только на самые сложные ее части?
РЕДАКТИРОВАТЬ: я пробовал кодирование с фиксированным битрейтом (два прохода):
- 1080p 8000k ~ 11 МБ
- 1080p 50000k ~ 72 МБ
- 1440p 50000k ~ 70mb (это не опечатка, это меньше, чем 1080p)
Альбом со скриншотами обновлен. 50 м кажется немного лучше, чем все остальные (более острые края, узнаваемые элементы HUD, такие как красная иконка танка на дереве слева от джипа; кроме уменьшенного 1440p, конечно, но это вне конкуренции), но это все еще не близко к тому, что должно быть.