Журнал «4pda» №2 2006 г., стр. 9

БАЗА ЗНАНИЙ

КОНВЕРТИРУЕМ ФИЛЬМЫ ДЛЯ КПК

Текст: Mioker

Людей, которые не любят смотреть кино, наверное, очень мало. И, тем более, найти того, кто не смотрел фильмов вовсе, можно, пожалуй, только в джунглях. Прочувствовать все прелести современной киноиндустрии в полном объеме позволит только поход в кинотеатр и, возможно, просмотр дома за рюмкой чая на любимом домашнем кинотеатре, оборудованном по последнему слову техники. Так зачем же лишать себя удовольствия от лицезрения блокбастеров, пялясь в маленький экранчик, а производителей фильмов от их законной прибыли, спрашиваем мы? И сами себе отвечаем, что причины есть.

Первое, что приходит в голову: «А почему бы и нет?». Вспомните, когда Вы последний раз ходили в кинотеатр, и достоин ли был этот фильм, чтобы его посмотреть на большом экране? Вот, и я о том же!

С другой стороны, ведь у Вас уже есть КПК, так почему бы не посмотреть фильм и скоротать, к примеру, длинную дорогу на работу или время на скучной лекции, присутствие на которой обязательно.

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

Итак, мы морально решились на просмотр фильмов на мобильном устройстве. Но, опять возникает вопрос: а зачем что-то конвертировать, если у меня в локальной сети лежит полно готовых фильмов?

Объясняю: все зависит от Ваших возможностей и способностей Вашего КПК. Если он (КПК) относится к разряду бизнес класса, есть карточка памяти большого размера или удалось подключить «винчестер», куда можно залить фильм размером 700 Мб, а то и все 1,5 Гб, и обеспечить все это хозяйство достаточным количеством энергии, тогда да, пожалуй, не стоит. А если Вы не можете сказать, что у Вас есть все вышеперечисленное, тогда — вперед!

Форматы сжатия

Рассмотрим возможные форматы сжатия видео. Как всегда, Microsoft позаботилась о своих любимых пользователях, предоставив полную поддержку формата WMV (Windows Media Video) как на настольном ПК, так и на КПК. Для подготовки видеоматериала в формате WMV проще всего воспользоваться имеющейся в составе Windows ХР программой Movie Maker, которая с задачей перекодирования видео для наладонника справляется вполне успешно. Кроме того, Movie Maker обладает расширенным набором пресетов (предварительных настроек) для экспорта видео, в том числе и для Pocket Media Player — предустановленного проигрывателя мультимедийных файлов. Обратная сторона простоты использования — небольшой выбор параметров результирующего видео.

Более продвинутый вариант подготовки видеоматериала в формате WMV — использование Windows Media Encoder. По сравнению с Movie Maker у Windows Media Encoder есть некоторые преимущества, в частности: более гибкие настройки параметров компрессии и возможность редактирования встроенных профилей кодирования. Однако, Windows Media Encoder иногда отличается некоторой нестабильностью работы.

Но, есть и альтернатива закрытому стандарту Windows Media от Micro$ofta. Это открытый стандарт сжатия MPEG-4. Каковы возможные преимущества этого стандарта? В том, что он открыт для всех, желающих создать свой проект. Поэтому, уже сейчас существует множество разных продуктов, совместимых как со стандартом MPEG-4, так и друг с другом.

Стандарт MPEG-4 разделён на множество разных подстандартов, из которых к видео относятся:

ISO 14496-2. Продвинутый Простой Профайл (Advanced Simple Profile — ASP). На данное время доступны следующие ASP кодеки: XviD, DivX, DivX4/OpenDivX, ffmpeg/ffvfw/ffdshow, 3ivx, Nero Digital, Skal, Quicktime, mpegable, Envivio, Sorenson и многие другие.

ISO 14496-10 . Продвинутое Кодирование Видео (Advanced Video Coding — AVC), так же известное как H.264. В настоящее время наиболее доступны следующие реализации AVC/H.264: x264, MainConcept, Ateme, ffdshow и Nero (тот же Ateme).

Кодеки AVC обеспечивают лучшее сжатие и качество картинки, но, к сожалению, нет полной поддержки всех возможностей этого стандарта проигрывателями на КПК. Поэтому, MPEG-4 AVC — дело будущего и, судя по темпам развития не очень отдаленного. Мы же пока, говоря о MPEG-4, будем подразумевать именно ASP кодеры.

Зачем сжимать и чем нам это грозит?

На первую часть вопроса мы частично ответили в начале статьи. Допустим, мы сохраняем видео без сжатия с размером кадра 352х288 пикселей и цветностью 24 бит на пиксель. Для сохранения минуты видео потребуется примерно 435 Мбайт. В этом и есть основная проблема цифрового видео — неимоверные размеры файлов.

Для борьбы с таким аппетитом существует два основных способа: уменьшение основных параметров видеоряда (размер кадра, кодировка цвета и частота кадров) и сжатие.

Сжатие разделяют на два типа: «без потери качества» и «с потерей качества». Разница между этими типами понятна из их названия. Максимальная степень сжатия, достигаемая с помощью алгоритмов «без потерь», не превышает 3 к 1, поэтому они не очень помогут в решении нашей задачи. В то время, как алгоритмы, работающие с потерей качества, могут сжимать вплоть до 100 к 1 по отношению к несжатому потоку.

Каким же образом методы сжатия видео достигают столь впечатляющих результатов? Как известно, пороговая частота дискретного восприятия человеком сменяющих друг друга графических образов — 25 кадров/сек. В силу этого обстоятельства, наличие в выходном потоке большего числа кадров не оправдано. Более того, смежные кадры содержат одни и те же объекты сцены. Следовательно, хранение каждого из кадров можно заменить хранением изменений, произошедших со времени показа предыдущего кадра. Таким образом, весь фильм можно представить в виде последовательности ключевых кадров, сохраненных с небольшим коэффициентом сжатия и промежуточных (зависимых) кадров, ссылающихся на предыдущие ключевые или зависимые кадры. Зависимые кадры минимальны по размеру и содержат только изменения, которые претерпела сцена. При этом, алгоритм выясняет то, что глаз может не заметить, и выбрасывает это, а затем вычисляет лучший способ для сохранения оставшегося. Вот за счет этого и достигается впечатляющая экономия дискового пространства.