x264Encoder: оптимальный кодек для публикации видео в Сети

Видеокодек H.264 давно прижился на Маках и мобильных устройствах Apple. Этот кодек уже несколько лет используется и на YouTube для хранения HD-контента. Поэтому неудивительно, что многие, готовя видео к публикации на YouTube (например, скринкасты), перегоняют готовый видеоряд в QuickTime-формат, используя кодек H.264. Многих же удивит тот факт, что для интернет-видео (особенно на низких битрейтах) H.264 — не лучший вариант.

Японский разработчик Такаши Моцизуки создал свой аналог кодека H.264, у которого при том же размере файла картинка получается куда лучше. В качестве тестового видео я взял FullHD-версию рекламного ролика iPad, опубликованного в официальном канале Apple на YouTube. Уменьшив его средствами QuickTime 7 на 70%, я экспортировал его кодеками H.264 и x264Encoder, воспользовавшись рекомендациями Крэйга Рида, видеоинженера из «Колледжа Беркли музыкальной онлайн-школы».

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

В опциях H.264 Крэйг рекомендует выставить параметры следующим образом:

Compression Type H.264 (стандартный кодек Apple)
Frame Rate Current
Key Frames Every 240 frames*
Frame Reordering Включено
Quality High
Encoding Best Quality (Multi-pass)
Data Rate Restrict to 200 kbits/sec
Optimized for Download


Диалог настройки кодека H.264.

Свойства кодека x264Encoder следует настроить так:

Compression Type x264Encoder
Frame Rate Current
Key Frames Every 240 frames*
Frame Reordering Включено
Quality Medium
Data Rate Restrict to 200 kbits/sec


Диалог настройки кодека x264Encoder.

Вдобавок, щелкнув в диалоге настройки x264Encoder на кнопке Options, и перейдя в новом окне в категорию Values, следовало установить новые значения таким параметрам:

Faster FirstPass Disabled
b_Frame_strategy Optimal (Slow)
refs 5
Max B 8


Тонкая настройка параметров кодека x264Encoder.

* Cуществует правило, согласно которому ключевые кадры следует добавлять в видеоряд каждые 10 секунд — чтобы периодическое снижение качества не носило «мерцающий» характер.

Перегонка и результат

По ходу дела отметил, что кодирование видео кодеком H.264 у QuickTime забирает несколько больше времени, чем в случае с x264Encoder. Впрочем, главная разница таки оказалась в качестве, причем разительном.

Итоговые файлы оказались примерно одного размера — файл, сохраненный при помощи H.264 «весил» 6,5 МБ, а кодек x264Encoder дал выходной файл размером 6,4 МБ. Самое очевидное отличие в качества заметно на динамических кадрах, где объекты движутся сравнительно быстро. Но и статичные области (в том числе размытый задний план) в случае с H.264 оказываются более искаженные, чем в видеоряде, сформированном кодеком x264Encoder. Вместо слов предлагаю просмотреть некоторые кадры ролика и сравнить оригинальное качество с качеством картинки, которую дали H.264 и x264Encoder.

Где? Дайте!

Скачать свежую версию кодека x264Encoder (кодек, кстати, бесплатный) можно в блоге Такаши Моцизуки. Скачав DMG-дистрибутив и подмонтировав его, скопируйте файл x264Encoder.component в каталог /Library/QuickTime — при следующем запуске вашего видеоредактора x264Encoder будет уже доступен в общем наборе кодеков.


Редакция пока не поставила оценку
1 Star2 Stars3 Stars4 Stars5 Stars6 Stars7 Stars8 Stars9 Stars10 Stars (проголосовали 4, рейтинг: 7,00)
Загрузка...
Рейтинг читателей:7,0



Автор:
Маководом Саша стал семь лет назад, и с тех пор ни разу об этом не пожалел. Одно из его хобби — копаться в Мак-программах и искать простые решения повседневных задач маковода. О самом интересном он регулярно рассказывает на страницах «ПростоМАКа».

Комментарии

  1. Дмитрий говорит:

    По ходу дела отметил, что кодирование видео кодеком H.264 у QuickTime забирает несколько больше времени, чем в случае с x264Encoder. Впрочем, главная разница таки оказалась в качестве, причем разительном.

    Неправильное какое-то предложение. Может названия кодеков местами поменять?

  2. Athirn Eleidan говорит:

    Нет, x264Encoder у меня сработал быстрее, чем H.264. Так что со смыслом все правильно 🙂

  3. Ibry Chivos говорит:

    Очень интересный материал. Отправлю себе в закладки. Но есть вопросы,
    — как я понял, основная цель (описаная в статье) сжать видео помаксимуму. И при таком сжатии потери (и серьезне) неизбежны
    — мне же важно как раз высококачеситвенное видео, но желательного (по возможности) меньшего размера.
    Я режиссер, и храню кучи своих архивных материало. Вото потихоькеу цифрую. Может пригодится потом. По этому, мне очень важно качество.
    Подскажите, какие настройки в этом случае использовать?

  4. Athirn Eleidan говорит:

    Если вам крайне важно качество, то стоит запасаться архивными накопителями как можно с большей емкостью — у вас не получится держать архив в очень сжатом виде и одновременно в хорошем качестве. Что до параметров видео, то, пожалуй, при максимальном качестве тому же кодеку x264Encoder можно ограничить битрейт от 1500 до 2000 Кб/с — этого вполне хватит для хорошего качества HD-видео. Впрочем, вам, как режиссеру, планирующему когда-нибудь использовать архивные записи в работе, стоит хранить материалы в каком-нибудь менее деструктивном профессиональном формате, который к тому же поддерживается профессиональным «железом» и ПО. По своему крошечному опыту работы с профессиональной техникой, могу сказать, что было не очень приятно, когда пришлось перегонять видео из любительского формата в «промышленный», чтобы сделать простой монтаж и собрать банальный двухслойный видео-DVD. Но какой именно формат вам подошел бы лучше всего, не могу сказать — спросите у знакомых видеоинженеров, что они могут посоветовать.

  5. Ibry Chivos говорит:

    До сего дня я успешно жал AVC кодеком H.264 используя определеные параметры.
    Что-о вроде этого:
    ref=10:mixed-refs=1:bframes=8:weightb=1:direct=auto:b-pyramid=1:me=umh:subq=10:analyse=all:8x8dct=1:trellis=1:no-fast-pskip=1:psy-rd=1,1:deblock=-2,1:merange=32
    CABAC Entropy Coding = 1
    Пожалуй это настройки ри которых сжатие максимально, потеря минимальна.
    30 гиг ункопрессета утаптываем в 4 с минимальными артефактами.
    x264Encoder меня очень заинтересовал, как возможность (судя по статье) еще повысить качество при схожем с H.264 обьеме файла.
    То что битрейт нужно поставить не 200 а 2100 или около того, это понятно. Но все прочие настройки, и в частности те, что вы упомянули в стате, кк они влияют на качество и на вес?

    К примеру в H.264, если отключить CABAC (который так не любят железячные устройства Apple) то мы потеряем выигрышь в весе AVC кодека перед ASP
    Думаю что-то подобное в настройках есть и у x264Encoder

  6. Athirn Eleidan говорит:

    Честно сказать, в экспериментах с кодеком настолько не углублялся. Да и не преследовал цель всесторонне охватить вопрос кодирования видео при помощи конкретного кодека. Вот к субботе планирую сделать серию скринкастов. Попробую сжать x264-м оригинальное несжатое видео — смогу дать более объективную оценку этому кодеку.

    Пока мне ничего не остается, как предложить вам самому провести изыскания, помучав какой-нибудь n-секундный ролик. В том же диалоговом окне тонкой настройки кодека есть последняя категория (x264 preset) — там можно выбрать как степень качества (вплоть до Placebo — максимальное качество), как и тип видеоизображения. В текстовых полях для каждого пресета дается перечень параметров, которые каждый из них затрагивает — это может стать для вас отправной точкой в экспериментировании с опциями x264.

  7. Cupola говорит:

    Когда же будут обещанные скрикасты?

Оставьте комментарий

© 2011 Программы для Mac OS, iPhone и iPad