Те, кто пользуется Youtube более-менее "профессионально", постоянно сталкиваются с ухудшением качества роликов после загрузки. Особенно страдают видео, где много движения — битрейта не хватает, чтобы нормально их воспроизвести.
Проблема здесь не в параметрах компрессии ваших файлов и кодеках, не ломайте голову, это уже сделали до вас. Если вы загружаете неплохой исходник 1080p с битрейтом 30-50 Mb/s, а на выходе с Youtube получается около 6-7 Mb/s — то проблема точно не у вас 🙂
Эх, Гугль.
Можно конечно пойти на Vimeo, купить платный аккаунт и всех поиметь. Но социализация там мне не нравится. Ютуб более популярен, доступен и т.д. Поэтому я попробовал разобраться, как выжать максимум с Youtube.
Теоретически, Youtube "оптимизирует" файлы. Ну, сейчас много мобильного трафика и т.д. Практически же — убивается качество. По моему опыту больше всего страдает именно 1080p — это самый популярный HD-формат, и он после загрузки оказывается кастрирован просто отвратительно.
Смотрите, вот два скриншота — первый сделан с оригинала, второй — с файла, скачанного с Youtube (с помощью удобного, простого и бесплатного приложения 4K Video Downloader, очень рекомендую, есть под Win и Mac).
Оригинал (фрагмент 100%):
Этот исходник я запилил на Яндекс-диск: https://yadi.sk/i/UoiDJtS1gJHjq
И выход из Youtube (фрагмент 100%):
Как это выглядит на Youtube: http://www.youtube.com/watch?v=AF9iDjGIhZQ (не забывайте включать 1080p в настройках).
Видно, что от исходного качества практически ничего не осталось. Битрейт уменьшился с 34 до 4 мегабит — то есть более чем в восемь раз!
Надо понимать, что наращивать битрейт исходника при рендере выше 20-30 Mb/s практически бесполезно — все равно это будет пересчитано и пережато ютубом в те же самые 4-6 Mb/s.
Вместе с тем, понятно и другое — слишком увеличивать битрейт интернет потока все-таки бесчеловечно — у многих пользователей загрузка будет очень долгой, да и не все мобильные устройства потянут нормально проигрывание. Плохо, что управлять качеством мы уже никак не можем.
Но есть одна хитрость. Если при экспорте из монтажки выставить размер видео, немного превосходящий 1080p, то Youtube как бы переключается на более высокий битрейт.
Для эксперимента я отрендерил тот же ролик в разрешении 2048х1152. Понятно, что здесь будет интерполяция, которая сама по себе качества не прибавит, но мы пытаемся обмануть Ютуб и переключить его на повышенный битрейт, не раздувая критически исходник.
Получаем после рендера чуть более крупный файл (около 700 мб), заливаем на Youtube. И хотя при проигрывании ролика в настройках мы видим все тот же пункт 1080p, но картинка в конечном счете получается намного лучше по качеству (видео сохраняется с Youtube в формате "2K", окно проигрывателя уменьшено до 1080p):
При небольшом увеличении исходника битрейт переконвертации вырос больше чем вдвое — с 4 до 10 Mb/s, и мне кажется, что это разумный предел для интернет-загрузки.
Вот так выглядит залитый ролик на Youtube: http://www.youtube.com/watch?v=6ElvfhfFL5o (не забывайте включать 1080p в настройках).
Не идеально, конечно, но для 10 Mb/s — более чем адекватно.
Надо еще понимать, что проблема низкого битрейта актуальна конечно не для всех видео. У меня здесь трудный случай — много движения по площади кадра, и для улучшения грейдинга я добавил немного зерна, которое само по себе съедает полезный объем видеопотока.
Пока что я знаю только такой способ нарастить качество роликов до более-менее смотрибельного. Если у вас есть какие-то свои наработки — буду рад комментариям.
То ли поменяли они что, то ли ещё в чем дело, но не получается залить видео на ютуб так, что бы качество не терялось или терялось незначительно. Пробовал множество разных вариантов кодиривания, разный фреймрейт, битрейт, форматы — результат один. Рекомендации гугла соблюдаю, не помогает.
Вот например как выглядит кадр до сжатия:
habrastorage.org/files/029/975/dfe/029975dfeb884aa.
А вот как он же — после загрузки на Youtube и скачивания оттуда (специально подбирал один и тот же момент):
habrastorage.org/files/1e4/3c7/4cf/1e43c74cf98a458.
Если кто знает решение, подскажите пожалуйста.
- Вопрос задан более трёх лет назад
- 37689 просмотров
@Newbilius Гугл использует для стриминга несколько форматов, как минимум H.264, VP8 и VP9. Плюс ещё несколько разрешений. Плюс ещё есть дополнительные требования к видео, вроде ограничений на мгновенный битрейт и интервал между I-кадрами.
То есть, кмк, им реально проще не париться и всегда перекодировать видео. Так что лучше всего заливать исходник в лучшем возможном качестве и смотреть, что получится. Кмк, H.264 у них вот уже несколько лет примерно такого качества, как у вас на картинке.
И если видео есть заметный шум, дрожание или мерцание, то после их подавления при том же битрейте (и других настройках кодирования) видео будет выглядеть лучше.
"Так что лучше всего заливать исходник в лучшем возможном качестве и смотреть, что получится".
А вот кстати нет. Заливка видео с низким уровнем сжатия или со сжатием без потерь (это когда
2 с копейками минутный ролик весит 800 МБ вместо 50 :D) приводит, как ни странно, к бОльшим потерям качества. Печаль.