Относительно недавно наткнулся на одно game-видео. Первые сомнения в том, стоит ли его смотреть, у меня возникли после того, как я увидел его параметры: разрешение 1280*820, длительность 35 минут, и при этом занимает 1.3 ГБ. Первое, что пришло мне в голову - автору было лень прочитать основы кодирования видео. Второе - автору жалко было выделить пару дней на то, чтобы нормально отрендерить свое творение. Так или иначе - было очевидно, что передо мной халява.
Сегодня попробую описать свой процесс кодирования видео на случай, если Вы не хотите быть мувимейкером-халявщиком, но не знаете, с какого конца браться за дело.
EDIT: Тут раньше было демонстрационное видео, но срок его хранения на файлообменнике истек, а, судя по количеству скачиваний, перевыкладывать его нет смысла. Поэтому просто кратко опишу его основные параметры: 1280*1024, 30 FPS, длительность 4:42, весит 106 МБ. То есть в среднем 22.5 МБ на минуту видео. При этом видны малейшие детали, никаких артефактов, никакой размытости, никакой пикселяции заднего фона и т.д..
Я пробовал рендерить тот же ролик по видео-туториалу Нолана, ссылку на который бросили и моментально расхватали в соответствующем разделе на woh.ru. Единственное преимущество того, что там описано - высокая скорость рендеринга. Однако, в результате получается файл в 1.5 раза больше, чем мой, причем качество порой хромает, так что приходится поднимать средний битрейт, в результате чего видео получается почти в 2 раза больше, чем то, что отрендерил я.
Собственно, что я тут сделал. Во-первых, Вам понадобятся следующие вещи:
- Sony Vegas
- Кодек под названием Lagarith
- AviSynth
- MeGUI
- Набор профайлов x264 для MeGUI (их надо скопировать в папку с профайлами в MeGUI)
Линки я сейчас искать не буду. Google знает все и с радостью подскажет Вам, где достать это добро.
После того, как Вы все добыли, начинаем собственно процесс рендеринга:
- Подготовьте Ваш ролик в вегасе. Я рекомендую чуть-чуть повысить цветность (если обратили внимание, в моем демо-ролике цвета слегка блеклы, потому что я не стал накладывать никаких фильтров и эффектов).
- После того, как все готово, рендерим отдельно видео в формате AVI. Для этого выбираем в качестве кодека Lagarith и тыкаем "Custom...". Тут ставим:
- На вкладке Project ставим Rendering quality - Best
- На вкладке Video ставим FPS как у исходника
- Разрешение - тоже как у исходника
- Field order - None (progressive scan)
- Interleave every 0.25 sec
- Тыкаем "Configure..." и в появившемся окне ставим галочки Enable Null-frames и Use Multithreading, Mode выбираем YV12.
- Далее отдельно кодируем аудио.
- В результате мы имеем 2 файла: ужатый без потери качества видео-исходник (AVI) и WAV файл со звуками и музыкой.
- Запускаем MeGUI.
- В меню сверху тыкаем Tools -> AVS Script Creator.
- В Video Input выбираем нашу сжатую AVI-шку. Закрываем превью.
- Переходим на вкладку Filters. В Source Type выбираем Progressive.
- Жмем Save. Закрываем превью.
- В основном окне в Encoder Settings выбираем x264: Unrestricted 2pass
InsaneFast (спасибо Moira за подсказку!). - Там же в File Format выбираем RAWAVC.
- Тыкаем Config.
- Вот тут самое важное: правильно задать средний битрейт вашего видео. Скажу так: для своего видео (1280*1024) я пробовал 1000, 2000, 3000, 4000, 5000, 8000 и 10000. При 1000 нормально все видно, но на статичном более-менее монотонном фоне есть заметная пикселяция. Если Вы хотите сделать просто ролик для какого-нибудь видео-дневника, смело выбирайте этот битрейт и не парьтесь. Ведь в таких видео важны сами события, а не вооооон тот холм вдалеке. На 2000 все так же заметны пиксели на фоне, а размер файла уже выше. На 3000 никакой пикселяции, на мой взгляд, отличное изображение. Разницы между 3000, 4000 и 5000 я не заметил совсем - меняется только размер файла (притом, ощутимо). На 8000 качество лучше, но размер выходного файла не обрадует ваших зрителей. 10000 - это уже совсем маразм (как и 8000, имхо). В общем, я остановился на 3000. Однако учтите, что на более высоких разрешениях этого битрейта, возможно, будет не достаточно. Я рекомендую снять коротенький ролик (10 сек) в Вашем родном разрешении и поэкспериментировать с битрейтом, чтобы подобрать оптимальное значение.
- Тыкаем OK, в появившемся окне жмем No, чтобы не изменить профиль.
- В Audio Input выбираем WAV файл.
- В Encoder Settings выбираем FAAC: scratchpad.
- В Extension - Raw-AAC.
- Жмем Config.
- Выберите ABR или VBR. Тут вы много не выиграете, я рекомендую выбрать ABR 256 kbps. Тыкаем OK.
- В главном окне жмем Enqueue для видео и то же самое для аудио.
- Переходим на вкладку Queue, жмем Start. Будьте готовы к тому, что кодирование займет большое количество времени, которое зависит от параметров Вашего видео.
- Когда все закончилось, жмем Clear, а затем в меню сверху выбираем Tools -> Muxer -> MP4 Muxer.
- В поле Video Input выбираем получившийся файл с расширением .264.
- Убедитесь, что в поле FPS проставился родной FPS исходника. Если надо, поправьте.
- В поле Input на вкладке Audio1 выбираем файл с расширением .aac.
- Жмем Queue, на вкладке Queue жмем Start.
Все, Ваше видео готово!
У кого-то, возможно, возникнет вопрос: "И нахрена мне вся эта байда, если я могу отрендерить все абы как за 5 минут?".
На это я отвечу: Вам эта байда не нужна. Потому что если у Вас возник такой вопрос, то данный пост не для Вас. Описанное выше важно для тех, кто привык делать все хорошо, на совесть. Ведь не даром говорят, что внимание к мелочам отличает шедевр от посредственности...
7 комментариев:
12 часов на 10тиминутное видео?
Больше похоже на 6 часов. Если видел мое видео с героик Саурфанга - оно рендерилось чуть меньше, чем 1.5 часа.
сделайте на woh.ru хороший гайд и полноценный гайд, думаю многи будут благодарны.
а за этот гайт спасибо, помог.
Спасибо за позитивный отзыв. Рад, что смог помочь.
В том, что Вы предлагаете, есть 2 важных момента:
1. То, что описано тут, будет полезно далеко не всем. Как видите, для обладателей не самых сильных процессоров описанный выше метод превращается в пытку, когда 10 минут рендерятся по полсуток.
2. К моему огромному сожалению, мне до сих пор не удалось добиться оптимального варианта кодирования видео в формате 1080 HD. То, что получается в итоге, либо выглядит плохо, либо сильно тормозит. А, учитывая, что YouTube уважает только "широкоформатки", умение рендерить такие ролики очень важно. Без этого гайд будет не полон.
В целом, я могу посоветовать Вам лишь одно: если возникают проблемы, пишите сюда или в соответствующую тему на woh.ru - постараюсь помочь. Как только я пойму, что знаю и умею достаточно для написания качественного гайда, который подойдет всем, я это сделаю. А пока - увы.
Отличный гайд, стали получатся длинные видео отличного качества и которые мало весят. Сжатие не такое длительное если вместо 10.В основном окне в Encoder Settings выбираем x264: Unrestricted 2pass Insane. выбрать надо x264: Unrestricted 2pass Fast. У меня это было порядка часа-двух в зависимости от длины видео. Подсказал знакомый, выяснивший это экспериментальным путем. Надеюсь кому то поможет =)
Рад, что понравилось, и спасибо за подсказку насчет скорости! :)
Проблема появляется на шаге 7. Когда открываю сжатую авишку вылазит ошибка и программа закрывается. Пробовал другие мувики открывать (рендеренные не Lagarith) все ок. Что это может быть?
Отправить комментарий