Жмем видео, или снова поединок форматов
Пожалуй, одной из главных (если не самой главной) проблем человечества лет эдак через пятьдесят-сто будет нехватка свободного места. В некоторых регионах Земли, как известно, люди и так вынуждены едва не ходить по головам друг друга. Впрочем, какое нам с вами дело до будущего, если проблем с местом хватает и у многих из нас — если не с физическим, то с виртуальным пространством точно? Именно о гуманности к собственному жесткому диску и пойдет сегодня речь.
Куда деваться, скажите мне, если теперь некоторые игры "едят" по 4-6 гектаров штука? А добавить сюда Windows XP, Microsoft Office, музыку (у меня лично последняя занимает порядка 11 гигабайт), всякий нужный софт и хлам, который жалко удалять, да еще полностью установленную последнюю версию Visual Studio?! Хоть вешайся иди:(. Ваш покорный слуга имеет два жестких диска и — о ужас — скоро будет вынужден (в самом прямом смысле этого слова — вынужден) приобретать еще один. И это далеко не предел. "Мягкий" способ увеличения свободного пространства, а именно очищение винта от всяческого барахла, уже неоднократно был — и, вероятно, еще не один раз будет описан на страницах многих изданий, в том числе и КГ. Так что сегодня мы поговорим несколько о другом, а именно о сжатии видео (как можно было бы догадаться из названия). В принципе, чтобы обрисовать насущность поставленной проблемы, можно было бы начинать статью и другими зловещими описаниями — говорить о том, каким медленным соединением с Интернетом довольствуется большинство наших сограждан, или даже прямо — как сложно правильно выбрать кодек для видеофайла — и т.д., и т.п. В принципе, все это тоже весьма актуально и вполне соответствует действительности. Просто непосредственной причиной написания статьи, которую вы читаете, стал довольно необычный случай. А может, и обычный — но я такое увидел впервые. Итак, один обладатель цифровой видеокамеры и довольно объемного ресурса физической памяти, жалуясь на катастрофическую нехватку места, сказал мне, что главная причина вышеозначенной недостаточности — то, что очень и очень много пространства "пожирают" его видеозаписи. Хм-м, сколько же надо снимать человеку с таким-то винтом, чтобы забить его до отказа, подумалось мне. Оказывается, немного. Просто держал он свои записи в несжатом AVI. А это — если кто не в курсе — совсем не рационально. О том же, что рационально, читайте ниже.
Итак, прелюдия закончена. Переходим к делу. В качестве тестового видеофрагмента я составил небольшое слайд-шоу из скачанных из Сети картинок, игровых скриншотов, виндовых фонов рабочего стола и фотографий счастливого кошачьего семейства. Возможно, те, кто читал мою статью о форматах растровой графики, опубликованную в КГ года полтора назад, помнят, что тогда в качестве образца была взята фотография моего кота. Так вот, к вопросу о парадоксах природы: как так происходит, что вы считаете зверя котом, а он почему-то оказывается кошкой и осчастливливает вас своим потомством:)? Отсюда и "кошачье семейство". Далее первым попавшимся под руку видеоредактором — им оказался Jasc Animation Shop старой версии — я упихал мои десять изображений в видеофрагмент с частотой 10 кадров в секунду, поставил им некоторую задержку и вставил простые переходы. Если кого-то интересуют подробности, то вот они: каждая картинка держалась на экране ровно секунду (стало быть, по десять кадров на картинку), и еще 0,4 секунды (4 кадра) отводились на переход. В итоге получился клип с разрешением 640x480 из 140 фреймов длительностью 14 секунд. Для начала я сохранил его в несжатый AVI с глубиной цвета 24 бит…
I. Несжатый AVI
Качество: абсолютное
Переносимость: абсолютная
Тоннаж ролика: 123 Мб
Как следовало ожидать, видео получилось не самым маленьким. А точнее — огромным. Если бы ролик имел частоту 25 кадров и длился хотя бы час, то занимал бы где-то 79 гигабайт(!!!). А ведь это еще без звука (про сжатие аудио, возможно, поговорим в другой раз)! Теперь понимаете, как можно моментально "скушать" все свободное место? Просто сграбьте DVD-диск в несжатое AVI — если только влезет…
Стало быть, необходимость сжимать видеофайлы очевидна. Поговорим сначала о кодеках для AVI-файлов, которые в домашних условиях используются намного чаще, чем совершенно новые форматы. Учитывая, что большинство кодеков позволяют настраивать качество сжатия, сразу оговорюсь, что я выставлял это параметр (если он присутствовал) равным 100 процентам, что, по идее, должно давать достаточно высокий уровень качества, и — для сравнения размеров и качества — 80 процентам. Таким образом, если размер файла или его качество будут указаны через дробную черту, знайте: первый показатель дается для 100-процентного качества, второй — для 80-процентного. Для сжатия была использована программка VirtualDub ( сайт которая, хотя и не предназначена специально для этой цели, справляется с ней вполне успешно (и, что главное, быстро) и имеет еще массу полезных возможностей. Ну, а на вопрос "откуда брать кодеки?" существует несколько ответов. Можно каждый раз заходить на сайт разработчиков и выкачивать их оттуда, но намного проще скачать и установить комплект K-Lite Codec Pack, в который входят все нижеописанные, а также многие другие видео- и аудиокодеки сразу. Второй вариант быстрее и, по-моему, намного практичней. Никогда ведь не знаешь наверняка, какого формата файл, возможно, придется читать. Скачать (причем совершенно бесплатно) этот шедевр человеческого гения можно отсюда: сайт .
II. Кодеки AVI
DivX Pro 5.0.5
Качество: высокое
Переносимость: высокая
Размер файла: 1,66 Мб
Начать обозрение кодеков логично с наиболее распространенного и популярного, в частности, у видеопиратов8-) кодека DivX. Вообще говоря, VirtualDub с ним не дружит, сразу предупреждая, что он создан хакерами на основе алгоритма, украденного у честнейшей души человека по имени Билл Гейтс (никогда не слыхали?:)). Впрочем, работать с DivX программа все же не отказывается. Ну, а мы этим и воспользуемся. Настроек качества как таковых нет — можно указать только максимальный битрейт (количество килобит, "съедаемых" в секунду) конечного файла, что по умолчанию составляет 780 килобит в секунду. Действует регуляция битрейта, в сущности, примерно так же, как и настройка качества, только в таком случае нам дают более конкретный показатель. С другой стороны, что значат для нас цифровые показатели, если мы не ориентируемся в возможностях кодека? Кстати, на самом деле битрейт в 780 килобит в секунду так и не был достигнут: средняя частота конечного файла составила всего 122 Kbps.
3ivX D4 4.0.4
Качество: очень высокое
Переносимость: низкая
Размер файла: 2,96/2,55 Мб
Этот кодек является чем-то вроде модификации DivX (как и следует из названия). Однако при всем этом закодированные им файлы имеют один существенный недостаток — размер. Зато даже при 80-процентном качестве картинка выглядит лучше, чем после использования большинства других кодеков на максимуме.
XVid
Качество: высокое
Переносимость: низкая
Размер файла: 1,56 Мб
Еще одна вариация на тему MPEG4, также позаимствовавшая свое название у "первенца" DivX. По умолчанию имеет максимальный битрейт в 900 Kbps. Перед сжатием я установил его на 780 килобит в секунду для равенства с DivX. Конечный файл получился почти на сотню "килограммов" легче.
Intel IYUV
Качество: абсолютное
Переносимость: очень высокая
Размер: 61,5 Мб
А этот кодек сжимает видео без искажения качества. Правда, сжимает не ахти — посмотрите на размер:(. Но и то — файл результата уже в два раза меньше, чем без сжатия совсем. Впрочем, применимость кодека в бытовых условиях довольно сомнительна: час полноформатного, но "немого" видео занимает в нем порядка 40 гектаров.
Intel Indeo 3.2
Качество: среднее
Переносимость: очень высокая
Размер: 4,28/1,95 Мб
Очень старый, зато широко распространенный кодек. На 80 процентах показывает довольно неплохой размер, но при стопроцентном качестве — сами видите. Впрочем, главный недостаток формата — то, что при обоих уровнях качества получается почти одинаковая, не очень четкая картинка.
Microsoft MPEG-4
Качество: выше среднего
Переносимость: высокая
Размер: 2,56 Мб
А вот и прообраз DivX — оригинальный видеоформат, разработанный Microsoft еще в конце минувшего столетия (сколько сменилось поколений;-)). Именно его код был использован в большинстве последующих кодеков, показавших себя более эффективными как в плане качества, так и в отношении результативности (правда, дядю Билла предупредить об этом сразу почему-то не догадались:)). Однако не будь его — не было бы и всего остального. Этим его заслуга и ограничивается8[. В принципе, оригинальный MPEG-4 мы с вами рассматриваем больше из теоретического интереса, нежели руководствуясь практическими побуждениями. Моя версия кодека почему-то выдавала совершенно одинаковые файлы на всех установках качества, ну, а размер — сами видите — отнюдь не рекордный. Так что — печально вздохнем над его прахом и поехали дальше.
Windows Media Video 9
Качество: высокое
Переносимость: у формата в целом высокая, у последней версии — не очень
Размер: 4,97 Мб/926 Кб
Вот мы и доползли до нашего лидера. Вообще говоря, мелкомягковский кодек (соответствующий и отдельно существующему формату WMV/ASF) оказался до странности неоднозначным. С одной стороны, на стопроцентном качестве мы получили довольно громоздкий файл. Вместе с тем, при снижении качества на 20 процентов картинка почти не потеряла четкости, но видеофайл достиг рекордно маленьких размеров. Так что, если соберетесь использовать кодек от Microsoft — смело выставляйте уровень картинки на 80 процентов, и получите качественный и компактный видеофайл.
III.Форматы
Ну, а теперь поговорим о независимых форматах, вернее, о тех немногих из них, которые встречаются в природе достаточно часто, чтобы говорить о них как о возможной альтернативе AVI-файлам и их кодекам.
RAD Game Tools BINK
URL: сайт
Качество: очень высокое/среднее
Переносимость: низкая
Размер: 12,3/1,23 Мб
Стандарт BINK (как ранее его предшественник Smacker) приобрел широкую популярность среди разработчиков игр. Простыми смертными за пределами обожаемых Battlefield, Hearts of Iron, Alone In The Dark 4, Broken Sword 3 и т.д. он практически не применяется и в обзор включен по большей части просто из любопытства. Настроек качества как таковых в конвертере нет — можно указывать либо требуемый битрейт, либо процент от размера оригинального файла, к которому нужно сжать BINK-видео. В результате экспериментов с настройками я получил два файла: один очень большой, но зато внешне не подающий никаких признаков искажения качества (скриншот под лупой разглядывал3)), а второй — очень компактный, но с видимыми искажениями, несколько более заметными даже по сравнению с DivX или Windows Media Video.
Также среди независимых форматов можно отметить приобретший довольно широкое распространение стандарт аудио/видео RealMedia сайт и стандарт от Apple под названием QuickTime сайт, являющий собой комбинацию средств MPEG-, JPG-, Flash- и других технологий. Конвертированием непосредственно в эти форматы я не занимался (а в QuickTime и особого резона-то нет), но можете попробовать, если кого заинтересует. Надо сказать, что RealMedia больше распространен на "их" половине земного шара (хотя это и не правило), а QuickTime пользуется одинаковым успехом и на Западе, и на Востоке.
Вот и все на сегодня. Да будет место на ваших винтах отныне и вовеки веков:). Увидимся!
Искренне ваш, Михаил Федотов AlsoKnownAs $ky$pe@R, skyspear@tut.by, Минск, 2005
Куда деваться, скажите мне, если теперь некоторые игры "едят" по 4-6 гектаров штука? А добавить сюда Windows XP, Microsoft Office, музыку (у меня лично последняя занимает порядка 11 гигабайт), всякий нужный софт и хлам, который жалко удалять, да еще полностью установленную последнюю версию Visual Studio?! Хоть вешайся иди:(. Ваш покорный слуга имеет два жестких диска и — о ужас — скоро будет вынужден (в самом прямом смысле этого слова — вынужден) приобретать еще один. И это далеко не предел. "Мягкий" способ увеличения свободного пространства, а именно очищение винта от всяческого барахла, уже неоднократно был — и, вероятно, еще не один раз будет описан на страницах многих изданий, в том числе и КГ. Так что сегодня мы поговорим несколько о другом, а именно о сжатии видео (как можно было бы догадаться из названия). В принципе, чтобы обрисовать насущность поставленной проблемы, можно было бы начинать статью и другими зловещими описаниями — говорить о том, каким медленным соединением с Интернетом довольствуется большинство наших сограждан, или даже прямо — как сложно правильно выбрать кодек для видеофайла — и т.д., и т.п. В принципе, все это тоже весьма актуально и вполне соответствует действительности. Просто непосредственной причиной написания статьи, которую вы читаете, стал довольно необычный случай. А может, и обычный — но я такое увидел впервые. Итак, один обладатель цифровой видеокамеры и довольно объемного ресурса физической памяти, жалуясь на катастрофическую нехватку места, сказал мне, что главная причина вышеозначенной недостаточности — то, что очень и очень много пространства "пожирают" его видеозаписи. Хм-м, сколько же надо снимать человеку с таким-то винтом, чтобы забить его до отказа, подумалось мне. Оказывается, немного. Просто держал он свои записи в несжатом AVI. А это — если кто не в курсе — совсем не рационально. О том же, что рационально, читайте ниже.
Итак, прелюдия закончена. Переходим к делу. В качестве тестового видеофрагмента я составил небольшое слайд-шоу из скачанных из Сети картинок, игровых скриншотов, виндовых фонов рабочего стола и фотографий счастливого кошачьего семейства. Возможно, те, кто читал мою статью о форматах растровой графики, опубликованную в КГ года полтора назад, помнят, что тогда в качестве образца была взята фотография моего кота. Так вот, к вопросу о парадоксах природы: как так происходит, что вы считаете зверя котом, а он почему-то оказывается кошкой и осчастливливает вас своим потомством:)? Отсюда и "кошачье семейство". Далее первым попавшимся под руку видеоредактором — им оказался Jasc Animation Shop старой версии — я упихал мои десять изображений в видеофрагмент с частотой 10 кадров в секунду, поставил им некоторую задержку и вставил простые переходы. Если кого-то интересуют подробности, то вот они: каждая картинка держалась на экране ровно секунду (стало быть, по десять кадров на картинку), и еще 0,4 секунды (4 кадра) отводились на переход. В итоге получился клип с разрешением 640x480 из 140 фреймов длительностью 14 секунд. Для начала я сохранил его в несжатый AVI с глубиной цвета 24 бит…
I. Несжатый AVI
Качество: абсолютное
Переносимость: абсолютная
Тоннаж ролика: 123 Мб
Как следовало ожидать, видео получилось не самым маленьким. А точнее — огромным. Если бы ролик имел частоту 25 кадров и длился хотя бы час, то занимал бы где-то 79 гигабайт(!!!). А ведь это еще без звука (про сжатие аудио, возможно, поговорим в другой раз)! Теперь понимаете, как можно моментально "скушать" все свободное место? Просто сграбьте DVD-диск в несжатое AVI — если только влезет…
Стало быть, необходимость сжимать видеофайлы очевидна. Поговорим сначала о кодеках для AVI-файлов, которые в домашних условиях используются намного чаще, чем совершенно новые форматы. Учитывая, что большинство кодеков позволяют настраивать качество сжатия, сразу оговорюсь, что я выставлял это параметр (если он присутствовал) равным 100 процентам, что, по идее, должно давать достаточно высокий уровень качества, и — для сравнения размеров и качества — 80 процентам. Таким образом, если размер файла или его качество будут указаны через дробную черту, знайте: первый показатель дается для 100-процентного качества, второй — для 80-процентного. Для сжатия была использована программка VirtualDub ( сайт которая, хотя и не предназначена специально для этой цели, справляется с ней вполне успешно (и, что главное, быстро) и имеет еще массу полезных возможностей. Ну, а на вопрос "откуда брать кодеки?" существует несколько ответов. Можно каждый раз заходить на сайт разработчиков и выкачивать их оттуда, но намного проще скачать и установить комплект K-Lite Codec Pack, в который входят все нижеописанные, а также многие другие видео- и аудиокодеки сразу. Второй вариант быстрее и, по-моему, намного практичней. Никогда ведь не знаешь наверняка, какого формата файл, возможно, придется читать. Скачать (причем совершенно бесплатно) этот шедевр человеческого гения можно отсюда: сайт .
II. Кодеки AVI
DivX Pro 5.0.5
Качество: высокое
Переносимость: высокая
Размер файла: 1,66 Мб
Начать обозрение кодеков логично с наиболее распространенного и популярного, в частности, у видеопиратов8-) кодека DivX. Вообще говоря, VirtualDub с ним не дружит, сразу предупреждая, что он создан хакерами на основе алгоритма, украденного у честнейшей души человека по имени Билл Гейтс (никогда не слыхали?:)). Впрочем, работать с DivX программа все же не отказывается. Ну, а мы этим и воспользуемся. Настроек качества как таковых нет — можно указать только максимальный битрейт (количество килобит, "съедаемых" в секунду) конечного файла, что по умолчанию составляет 780 килобит в секунду. Действует регуляция битрейта, в сущности, примерно так же, как и настройка качества, только в таком случае нам дают более конкретный показатель. С другой стороны, что значат для нас цифровые показатели, если мы не ориентируемся в возможностях кодека? Кстати, на самом деле битрейт в 780 килобит в секунду так и не был достигнут: средняя частота конечного файла составила всего 122 Kbps.
3ivX D4 4.0.4
Качество: очень высокое
Переносимость: низкая
Размер файла: 2,96/2,55 Мб
Этот кодек является чем-то вроде модификации DivX (как и следует из названия). Однако при всем этом закодированные им файлы имеют один существенный недостаток — размер. Зато даже при 80-процентном качестве картинка выглядит лучше, чем после использования большинства других кодеков на максимуме.
XVid
Качество: высокое
Переносимость: низкая
Размер файла: 1,56 Мб
Еще одна вариация на тему MPEG4, также позаимствовавшая свое название у "первенца" DivX. По умолчанию имеет максимальный битрейт в 900 Kbps. Перед сжатием я установил его на 780 килобит в секунду для равенства с DivX. Конечный файл получился почти на сотню "килограммов" легче.
Intel IYUV
Качество: абсолютное
Переносимость: очень высокая
Размер: 61,5 Мб
А этот кодек сжимает видео без искажения качества. Правда, сжимает не ахти — посмотрите на размер:(. Но и то — файл результата уже в два раза меньше, чем без сжатия совсем. Впрочем, применимость кодека в бытовых условиях довольно сомнительна: час полноформатного, но "немого" видео занимает в нем порядка 40 гектаров.
Intel Indeo 3.2
Качество: среднее
Переносимость: очень высокая
Размер: 4,28/1,95 Мб
Очень старый, зато широко распространенный кодек. На 80 процентах показывает довольно неплохой размер, но при стопроцентном качестве — сами видите. Впрочем, главный недостаток формата — то, что при обоих уровнях качества получается почти одинаковая, не очень четкая картинка.
Microsoft MPEG-4
Качество: выше среднего
Переносимость: высокая
Размер: 2,56 Мб
А вот и прообраз DivX — оригинальный видеоформат, разработанный Microsoft еще в конце минувшего столетия (сколько сменилось поколений;-)). Именно его код был использован в большинстве последующих кодеков, показавших себя более эффективными как в плане качества, так и в отношении результативности (правда, дядю Билла предупредить об этом сразу почему-то не догадались:)). Однако не будь его — не было бы и всего остального. Этим его заслуга и ограничивается8[. В принципе, оригинальный MPEG-4 мы с вами рассматриваем больше из теоретического интереса, нежели руководствуясь практическими побуждениями. Моя версия кодека почему-то выдавала совершенно одинаковые файлы на всех установках качества, ну, а размер — сами видите — отнюдь не рекордный. Так что — печально вздохнем над его прахом и поехали дальше.
Windows Media Video 9
Качество: высокое
Переносимость: у формата в целом высокая, у последней версии — не очень
Размер: 4,97 Мб/926 Кб
Вот мы и доползли до нашего лидера. Вообще говоря, мелкомягковский кодек (соответствующий и отдельно существующему формату WMV/ASF) оказался до странности неоднозначным. С одной стороны, на стопроцентном качестве мы получили довольно громоздкий файл. Вместе с тем, при снижении качества на 20 процентов картинка почти не потеряла четкости, но видеофайл достиг рекордно маленьких размеров. Так что, если соберетесь использовать кодек от Microsoft — смело выставляйте уровень картинки на 80 процентов, и получите качественный и компактный видеофайл.
III.Форматы
Ну, а теперь поговорим о независимых форматах, вернее, о тех немногих из них, которые встречаются в природе достаточно часто, чтобы говорить о них как о возможной альтернативе AVI-файлам и их кодекам.
RAD Game Tools BINK
URL: сайт
Качество: очень высокое/среднее
Переносимость: низкая
Размер: 12,3/1,23 Мб
Стандарт BINK (как ранее его предшественник Smacker) приобрел широкую популярность среди разработчиков игр. Простыми смертными за пределами обожаемых Battlefield, Hearts of Iron, Alone In The Dark 4, Broken Sword 3 и т.д. он практически не применяется и в обзор включен по большей части просто из любопытства. Настроек качества как таковых в конвертере нет — можно указывать либо требуемый битрейт, либо процент от размера оригинального файла, к которому нужно сжать BINK-видео. В результате экспериментов с настройками я получил два файла: один очень большой, но зато внешне не подающий никаких признаков искажения качества (скриншот под лупой разглядывал3)), а второй — очень компактный, но с видимыми искажениями, несколько более заметными даже по сравнению с DivX или Windows Media Video.
Также среди независимых форматов можно отметить приобретший довольно широкое распространение стандарт аудио/видео RealMedia сайт и стандарт от Apple под названием QuickTime сайт, являющий собой комбинацию средств MPEG-, JPG-, Flash- и других технологий. Конвертированием непосредственно в эти форматы я не занимался (а в QuickTime и особого резона-то нет), но можете попробовать, если кого заинтересует. Надо сказать, что RealMedia больше распространен на "их" половине земного шара (хотя это и не правило), а QuickTime пользуется одинаковым успехом и на Западе, и на Востоке.
Вот и все на сегодня. Да будет место на ваших винтах отныне и вовеки веков:). Увидимся!
Искренне ваш, Михаил Федотов AlsoKnownAs $ky$pe@R, skyspear@tut.by, Минск, 2005
Компьютерная газета. Статья была опубликована в номере 19 за 2005 год в рубрике soft :: мультимедиа