Регистрация  Забыли пароль?
Кодирование превью при помощи x.264 и Nero AAC

"Кодирование превью при помощи x.264 и Nero AAC"

В этом руководстве мы расскажем о том, как наиболее эффективно и качественно подготовить превью-версию AMV-клипа для публикации, на примере соответствия требованиям конкурса AKROSS Con, правила которого ограничивают максимальный размер превью соотношением 1,5 мегабайта на 1 минуту.

Для этой цели, видео сжимать мы будем при помощи кодека x.264, а аудио - Nero AAC, после чего всё это положим в контейнер mp4. В статье мы не будем касаться тонких настроек, так как, во-первых, и со значениями по умолчанию результат должен быть как минимум удовлетворительным, а во-вторых - чем тоньше настройки, тем они индивидуальней, и подбирать их лучше для каждого отдельного случая. Разумеется, на основе рассматриваемого в руководстве метода возможно кодирование не только превью, но и полноценных качественных версий - просто экспериментируйте с настройками и битрейтом.

Для работы понадобится

1. Подключение к Интернету, чтобы иметь возможность скачать и обновить всё необходимое.

2. Файл с готовым видеоклипом. Это тот файл, который получается, когда вы экспортируете (рендерите) свой клип из вашего видеоредактора (Adobe Premiere, Sony Vegas, Adobe After Effects и т.п.). Сохранять результат нужно не абы во что, а в несжатое видео (Uncompressed, оно же None при выборе энкодера) или один из "беспотерьных" (lossless) кодеков (например, Huffyuv), чтобы не растерять качество ещё до начала кодирования. В качестве контейнера нужно использовать, конечно, старый добрый avi. Кстати говоря, если у вашего видео есть чёрные полосы сверху и снизу (или по бокам, что встречается реже), то вы в самом начале неправильно задали настройки проекта в видеоредакторе. Также в этом файле уже не должно быть гребёнки (интерлейса), неправильного соотношения сторон и любых других дефектов, сразу же выдающих начинающего автора с головой. :)

3. Файл со звуком от клипа. Звук тоже сжимать не надо, лучше оставить PCM. Можно включить его в один файл с видео, но в данном руководстве мы рассматриваем экспорт звука в отдельный файл. То есть, вам надо получить wav, в котором будет несжатый звук (PCM).

Таким образом, у нас должен быть один видеофайл "avi" (размером примерно в 3-5 гигабайт, если использовался Uncompressed, или 1-2 гигабайта, если использовался lossless-кодек) и один аудиофайл "wav" (размером около 40-50 мегабайт).

Необходимые программы

Первым делом, идём на SourceForge, где скачиваем и устанавливаем AviSynth (желательно не бету, т.к. их поддержка не гарантируется разработчиками meGUI, а нормальную стабильную версию).

Далее, идём на Nero.com и скачиваем энкодер Nero AAC. Распаковываем его, куда нам удобно.

Если у вас не Windows Vista, при необходимости скачайте и установите Microsoft .NET Framework 2.0.

Наконец, скачиваем и устанавливаем программу meGUI, в которой и будем кодировать клип.

 

Запускаем meGUI. Если он скажет, что много чего можно (точнее, нужно) обновить - соглашаемся. Все галочки оставляем на месте, пусть даже нам не всё понадобится в этот раз. Жмём "Update" и обновляемся. Это может занять некоторое время. Под конец обновления нас раза три спросят, импортировать ли профили (наборы установок) для видео и аудиокодеков. Выберем всё предложенное и нажмём "Import". Обновление, наконец, заканчивается, а meGUI просит себя перезапустить. Раз просит - перезапустим.

 
 
 

Если сам meGUI по какой-либо причине не перезапустился, сделайте это вручную.

Настройка видео

Открыв meGUI, вы увидите не самый дружелюбный интерфейс, но нас это не остановит. Заканчивая подготовительный этап перед кодированием, пройдём в Tools > Settings, где на закладке Program Paths в строке neroAacEnc укажем, где он находится (а находится он там, куда мы распаковали скачанное с Nero.com, в подпапке win32). Жмём Save.

 

План дальнейших действий следующий. Мы должны указать исходный видеофайл, выставить настройки для его сжатия, потом добавить задание на его сжатие в очередь. То же самое проделаем с аудиофайлом. Затем, выполняем эти задания и получаем, вдобавок к тому, что имели, ещё один файл со сжатым видео и один со сжатым аудио. После чего, наконец, скажем meGUI, в каком контейнере мы хотим получить результат, добавим новое задание в очередь и выполним его. Теперь, обо всём подробнее.

Указать исходный видеофайл. Тут есть одна хитрость: meGUI не работает напрямую с видеофайлами - он работает только со скриптами AviSynth. Благодаря этому, можно между делом использовать и все богатые возможности по обработке видео, которые предоставляет AviSynth. В meGUI есть специальный редактор: Tools > AviSynth Script Creator, но он любит падать, поэтому лучше сделаем скрипт сами. Открываем "Блокнот" и пишем в нём следующий код:

clip=AVISource("C:/MyAMV/MyAMV.avi")

В скобках указывается полный путь к вашему исходному видеофайлу.

Ещё нам надо раза эдак в четыре уменьшить площадь нашего видео, чтобы можно было тратить на него меньше битрейта. Так что уполовиним ему ширину и высоту с помощью следующего алгоритма, честно взятого из AmvSimpleGUI:

w=320
hb=Round((w*Height(clip))/Width(clip))
a=Round(hb%2)
ha=hb+a
BicubicResize(clip,w,ha)
b=(ha%16)/2
c=b%2
d=b+c
e=b-c
Crop(0,d,0,-e)

Заодно, мы подрезали края видео таким образом, чтобы соблюдалась кратность 16-ти по горизонтали и вертикали. Это требование энкодера x.264. Другое его требование состоит в том, что видео на входе должно быть в цветовом пространстве YV12. Добавим соответствующую проверку и, если нужно, проведём конвертацию:

IsYV12() ? last : ConvertToYV12()

Сохраняем написанный код в файл с расширением "avs" (например, MyAMV.avs).

 

Возвращаемся к meGUI. В поле "AviSynth Script" указываем путь к только что сделанному нами MyAMV.avs. Выскакивает превью. Можно убедиться, что видео действительно играется, полюбоваться, а потом закрыть это окошечко - оно нам сегодня не понадобится.

В основном окне meGUI ставим:

Codec – x264
File format - mp4
Video Profile – HQ-Insane

Также можно обратить внимание на то, что в поле "Video Output" появился путь к будущему файлу со сжатым видео. При желании, его можно поменять.

 

После этого, жмём на кнопку "Config". В открывшемся окне с настройками ставим:

Mode – Automated 3pass
Bitrate – 170

Битрейт - это самый главный параметр. Только от него зависит размер сжатого видео на выходе. У нас есть жёсткое ограничение по размеру, поэтому особого выбора не остаётся, и мы ставим максимальный битрейт, при котором имеется шанс уложиться в рамки требования "1,5 мегабайт в минуту". Причём не забываем, что ещё надо оставить место для звука.

Всё! Жмём OK. Профиль обновлять, пожалуй, не стоит (No).

 

Настройка аудио

Переходим к аудио. Указываем в поле "Audio Input" наш wav-файл (кстати, обратите внимание, чтобы все файлы на выходе имели разные имена, иначе они друг друга затрут).

Теперь, в главном окне meGUI ставим для аудио:

Codec - ND AAC
Container – MP4-AAC

Теперь, Нажимаем Config. В открывшемся окне выбираем "Adaptive Bitrate" и ползунком выставляем 32kbit/s. В "AAC Profile" используем HE-AAC. Жмём ОК.

 
 

Теперь, наше главное окно выглядит вот так:

Кодирование клипа

Добавим задания в очередь. Жмём сначала на Enqueue в разделе "Video", после чего жмём Enqueue в разделе "Audio". По одному разу. Может показаться, что ничего не произошло, но на самом деле это не так (если всё идёт как надо, конечно). Сейчас проверим.

 

Открываем вкладку "Queue". Здесь мы видим очередь, в которую только что добавили задания. Заданий должно быть 4 штуки. Почему четыре, если кнопки нажимали всего две и по одному разу? Потому, что в настройках видеокодека мы выбрали автоматическое трёхпроходное кодирование. То есть, по одному заданию на каждый из трёх проходов. И ещё одно задание для аудио. Итого четыре.

Если всё в порядке, даём Start!

Начнётся кодирование, которое занимает ощутимое количество времени. После второго прохода нас будут спрашивать, перезаписать ли существующий файл. Да, перезаписать (Yes).

 

После окончания кодирования, напротив каждого задания появится статус "done", а вы должны обнаружить в своей папке с исходниками (или там, куда вы указали meGUI сохранять результаты) два новых файла (видео и аудио). Осталось положить их в один контейнер.

 

Возвращаемся в meGUI и выбираем опцию: Tools > Muxer > MP4 Muxer. Появится ещё одно окно.

Выбираем в "Video Input" наш сжатый видеофайл MyAMV.mp4,
в "Audio Input" - наш сжатый аудиофайл au_output.mp4,
в "Muxed Output" пишем, как будет называться и где лежать наш финальный файл с готовым клипом.

Жмём Queue и видим, что в очереди появилось ещё одно задание. Очень хорошо. Жмём Start!

 

Вылетает снова окошечко с прогрессбаром, но совсем ненадолго. Все работы вновь выполнены, а в рабочей папке вас ждёт... готовое превью!

 

P.S. Если файл не соответствует желаемому размеру - повторяем всё заново, снизив или увеличив параметр "Bitrate".

Lirinis
10.10.2007
УЧАСТИЕ В AKROSS CON
1.  Москва120
2.  Санкт-Петербург47
3.  London24
4.  Paris23
5.  Минск23
6.  Киев22
7.  Buenos Aires20
8.  Athens20
9.  Tokyo17
10.  Харьков17
11.  New York16
12.  Владивосток16
13.  Сургут16
14.  Челябинск14
15.  Bucharest12
16.  Beijing11
17.  Тверь11
18.  Херсон11
19.  Ульяновск11
20.  Красноярск11
21.  Архангельск10
22.  Milan10
23.  Новосибирск10
24.  San Pedro Sula9
25.  Гомель9
Sayan Visual Studio
SPOIL
 ЛУЧШИЙ КЛИП AKROSS CON 2007 17.12.2007  
Death Note
Celldweller - Last Firstborn
Character Profile, Thriller
Костоправ
WOLF'S PAIN
 18.10.2007  
Wolf's Rain
Фактор страха - Ночь
Action, Drama
HQ-MEDIA
BLOODLUST
 ФИНАЛИСТ AKROSS CON 2008 14.12.2008  
Vampire Knight
Lunatica - Who You Are
Drama, Romance