Прочувствовать все прелести современной киноиндустрии в полном объеме позволит только поход в кинотеатр и, возможно, просмотр дома за рюмкой чая на любимом домашнем кинотеатре, оборудованном по последнему слову техники. Так зачем же лишать себя удовольствия от лицезрения блокбастеров, пялясь в маленький экранчик, а производителей фильмов от их законной прибыли, спрашиваем мы? И сами себе отвечаем, что причины есть.
Первое, что приходит в голову: «А почему бы и нет?». Вспомните, когда Вы последний раз ходили в кинотеатр, и достоин ли был этот фильм, чтобы его посмотреть на большом экране? Вот, и я о том же!
С другой стороны, ведь у Вас уже есть КПК, так почему бы не посмотреть фильм и скоротать, к примеру, длинную дорогу на работу или время на скучной лекции, присутствие на которой обязательно.
Подготовить фильм для просмотра на КПК не так сложно, как может показаться на первый взгляд, и практически каждый может научиться делать это в домашних условиях. Именно этой благородной цели и посвящена данная статья.
Итак, мы морально решились на просмотр фильмов на мобильном устройстве. Но, опять возникает вопрос: а зачем что-то конвертировать, если у меня в локальной сети лежит полно готовых фильмов?
Объясняю: все зависит от Ваших возможностей и способностей Вашего КПК. Если он (КПК) относится к разряду бизнес класса, есть карточка памяти большого размера или удалось подключить «винчестер», куда можно залить фильм размером 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 кадров/сек. В силу этого обстоятельства, наличие в выходном потоке большего числа кадров не оправдано. Более того, смежные кадры содержат одни и те же объекты сцены. Следовательно, хранение каждого из кадров можно заменить хранением изменений, произошедших со времени показа предыдущего кадра. Таким образом, весь фильм можно представить в виде последовательности ключевых кадров, сохраненных с небольшим коэффициентом сжатия и промежуточных (зависимых) кадров, ссылающихся на предыдущие ключевые или зависимые кадры. Зависимые кадры минимальны по размеру и содержат только изменения, которые претерпела сцена. При этом, алгоритм выясняет то, что глаз может не заметить, и выбрасывает это, а затем вычисляет лучший способ для сохранения оставшегося. Вот за счет этого и достигается впечатляющая экономия дискового пространства.
А к каким проблемам приводит сжатие видео? Оно приводит к, так называемым, артефактам. Артефакты — это видимые нарушения качества видео, возникающие в процессе сжатия с потерями. Искажения, получаемые при сжатии, варьируются от алгоритма к алгоритму. Наиболее часто встречающийся артефакт сжатия — разбиение картинки на квадратные блоки. Также часто наблюдаются: «мусор» рядом с контрастными границами и движущимися объектами, «волнующиеся» и «расплывшиеся» цвета или «замыливание» картинки.
Здесь ключевым моментом является количество бит, выделяемых для хранения цвета одного пикселя. В этой связи появляется термин «битрейт». Битрейт — это размер видеопоследовательности в битах, отнесенный к его длительности в секундах. Единицей измерения битрейта служит 1 бит/с — один бит в секунду (1bps — 1 bit(s)-per-second). Поскольку 1 бит/с — величина очень маленькая в приложении к цифровому видео, также вводятся килобит/с (кбит/с). Чем выше битрейт и, соответственно, бит выделено под хранение одного пикселя, тем реалистичнее картинка, но тем больше объем конечного файла.
Параметры кодирования
Итак, из всего вышесказанного можно сделать вывод, что основные параметры, на которые мы можем повлиять — это битрейт и размер картинки. Частоту кадров не стоит трогать, так как это может привести к рывкообразному воспроизведению видеоряда и проблемам синхронизации со звуковой дорожкой.
Но, это еще не все рычаги управления. Повлиять на качество можно, выбирая режимы сжатия. Существует четыре режима: однопроходный с постоянным битрейтом, однопроходный с переменным битрейтом, однопроходный с постоянным качеством и двухпроходный. Рассмотрим подробнее принципы работы каждого из режимов.