Любители мувиков наверняка заметили, что все первоклассные мувики, вышедшие за последнее время, будь то Mercurial от Shaolin Productions или Speed Trial от Seven-video используют новый кодек x264 вместо привычного XviD.
В своей статье я хочу рассказать, как можно закодировать мувики с помощью х264. Необходимо отметить, что технология очень требовательна к ресурсам и (особенно – к процессору) и не до конца отлажена, но дает потрясающие результаты. Тем не менее на слабых машинах мувики на х264 могут тормозить даже при правильной установке всех компонентов, поэтому лучше сделать и XviD версию для зрителей со слабыми компьютерами.
Необходимое программное обеспечение:
Для кодирования:
•x264 video encoder
•AviSynth
•FAAC audio encoder
•MP4Box
Для проигрывания:
•Ffdshow – берем тут
•Haali Media/MatroskaSplitter – качаем отсюда
Итак, начнем кодирование. По умолчанию я буду полагать, что у нас есть 2 файла:
Видео как несжатый AVI. (Хотя лучше использовать lossless codec, например Huffyuv)
Звук как несжатый WAV.
Пусть для простоты видеофайл называется video.avi, а звуковой – audio.wav
В процессе кодирования мы создадим аудиофайл в формате .m4a, затем закодируем видео с помощью х264 и, наконец, создадим единый .mp4 файл.
Перво-наперво установите все программы и подготовьте к работе утилиты. Скопируйте файлы x264.exe, faac.exe и mp4box.exe в папку с исходными файлами мувика (video.avi и audio.wav)
Кодирование аудио:
Для кодирования аудио используем faac.exe. Откройте командную строку (Пуск-> Выполнить->”cmd”) и перейдите в директорию с исходниками. Теперь, чтобы закодировать звук, введите в командной строке:
FAAC –w –b 128 audio.wav
Убедитесь, что получившийся после кодирования файл имеет формат .m4a (если получится, скажем .mp4 – ничего страшного, просто смените расширение ручками)
Создание скрипта AviSynth:
x264 понимает только скрипты AviSynth, мы не можем импортировать видео напрямую, так что придется этот скрипт создать, что, впрочем, весьма несложно: просто создайте пустой текстовый документ с расширением .avs и запишите в него следующие строки:
AVISource("video.avi")
Crop(0,0,-0,-0)
ConvertToYV12()
AVISource указывает x264 какой файл мы хотим закодировать, ConvertToYV12 переводит видео в цветовое поле YV12. Параметр Crop обрезает указанное число пикселей в кодируемом файле (в таком порядке – слева, сверху, - справа, - снизу), что может пригодится, тк x264 работает только с видеофайлами, разрешение которых без остатка делится на 16 как по вертикали, так и по горизонтали.
Кодирование видео:
Итак, пришло время закодировать видео, для этого мы используем MeGUI, который шел в комплекте с инсталлятором x264. Там есть целая куча настроек, так что поле для экспериментов огромно; я, в свою очередь приведу здесь те настройки, которыми я пользовался, когда кодировал Speed Trial.
Запустите x264 Command line interface encoder (ярлык находится в меню «Пуск» в каталоге с установленным x264). Загрузите созданный AviSynth скрип, откроет окно предпросмотра, закройте его. MeGUI сам создаст видеофайл, можете изменить его имя (хотя нужды в этом нет). Измените File Type с MP4 на RAW, потом нажмите Config для установки настроек x264.
Рекомендуемые настройки (именно они использовались при кодировке Speed Trial):
Вкладка General:
Вкладка Rate Control:
Вкладка Quantization:
Вкладка Zones: оставьте все настройки нетронутыми.
Нажмите OK для сохранения настроек и возвращайтесь в главное окно. Теперь нажмите Queue и откройте закладку Queue, там уже должны стоять 3 пункта кодирования, дожидающихся начала обработки. Нажмите Start, чтобы начать кодирование и можете смело идти гулять – кодирование 10-минутного Speed Trial на моем не самом слабом Athlon 3200+ заняло 5 часов.
Создание MP4:
После кодирования, нам нужно создать из аудио- и видеофайлов единый mp4. Для этого откройте командную строку, перейдите в директорию с закодированными файлами и наберите:
MP4Box -new -add video.264#video -add audio.m4a#audio -fps 25 final.mp4
(Убедитесь, что параметр fps совпадает с частотой кадров вашего видео).
Это позволит создать хорошо сжатый мувик с высоким качеством видео.
Надеюсь что эта статья поможет отечественным мувимейкерам научится использовать все преимущества x264 и новые проекты будут иметь высокое качество картинки и скромный размер.
Примечание редакции:
Вместо того, чтобы использовать командную строчку, можно сделать гараздо проще. Создаем файлик в директории со всеми файлами с разширением *.bat. Открываем его с помощью блокнота, просто челкаете правой кнопкой на файл и далее на "Изменить". Прописываем в нем все, что нам нужно, например, для кодирования звука:
FAAC –w –b 128 audio.wav
Закрываем блокнот и два клика по файлу. Эффект будет такой же. Этот файл является неким скриптом для командной строки.
Комментарии (67)
Язык:
•x264 video encoder – можно скачать с нашего сайта тут
•AviSynth – можно скачать с нашего сайта тут
•FAAC audio encoder - можно скачать с нашего сайта тут
•MP4Box - можно скачать с нашего сайта тут
Для проигрывания:
•Ffdshow – берем тут
•Haali Media/MatroskaSplitter – качаем отсюда"
залейте пожалуйста еще раз, ссслки все не рабочие
•AviSynth – можно скачать с нашего сайта тут
•FAAC audio encoder - можно скачать с нашего сайта тут
•MP4Box - можно скачать с нашего сайта тут
перезалейте эти файлы плиз )
я скоко читал, скоко пробывал но все немогу здаелать ! ( настроить x264 )
есть у кого ВидеоУрок по этой теме ? )
•x264 video encoder – можно скачать с нашего сайта тут
•AviSynth – можно скачать с нашего сайта тут
•FAAC audio encoder - можно скачать с нашего сайта тут
•MP4Box - можно скачать с нашего сайта тут
не находит
avisynth script errror
avisource autodetect: coud't open file 'test.avi'
пишет что нет такой команды -new
1 gb DDR
Video GeeForce 6600 GT 256
норм для этого кодека ?
Перезалейте плиз, или дайте живые ссылочки плиз
http://sourceforge.net/projects/megui - MeGUI (MP4Box)
http://www.codecguide.com/download_mega.htm - K-Lite Mega Codec Pack (x264 (Video), FAAC (Audio), Ffdshow)
кодек хороший
Xvid #1
в статье все написано, не удивляйтесь тормозам, х264 стоит юзать только если машина позволяет
Так что используем XviD, а лучше всего Windows Media ИМХО
Чувак, насколько я понял, вся эта требовательность сводится только лишь ко времени, которое понадобиться на кодирование моему компу. Если так, то это не беда - времени мне не жалко. Я боялся, что железо влияет еще и на качество.. а если только на время - то все нормуль =)
хорошая статья thx ^^