Teapot 3-dimensions

обновлено 12.03.2005

Работа с видеофайлами

Простейшие приёмы записи и редактирования видеофайлов, а так же рекомендации по сокращению размера и сохранению качества видеоизображения

Возможно вы собираетесь создавать анимационные ролики на программах трёхмерного моделирования, или уже создаёте. Может быть, вы записываете видео с камеры через устройство захвата видео.

Главная проблема в этом случае - как сделать ваше видео таким, чтобы оно одновременно и занимало мало места, и было в хорошем качестве. А если вы задумали создать полнометражный мультфильм или хотите смонтировать ваш отснятый материал в один файл, то вам понадобится программное обеспечение, которое поможет вам это сделать. Но начнём по порядку.

Компрессия видео

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

В Windows изначально уже имеются какие-то средства для компрессии изображения. Если кто-то начинал с Win 95-98, и устанавливал операционку сам с параметрами по выбору, то, может быть, эти люди помнят, что были такие компоненты, как "средства сжатия видео" и "средства сжатия звука". В новых версиях Windows выбирать эти опции нельзя, но средства всё равно ставятся.

Эти средства называются в народе КОДЕКИ, и представляют собой некие драйвера, которые содержат алгоритмы запаковки и распаковки видео. Запаковка осуществляется перед сохранением в видеофайл, а распаковка - во время проигрывания видеофайла.

И все нормальные программы, которые так или иначе сохраняют информацию в видеофайлы, позволяют выбрать метод компрессии, то есть, каким кодеком кодировать и какие использовать параметры кодировки.

По умолчанию в Windows имеются кодеки Cinepac, Microsoft Video, mpeg и другие. Некоторые из них не понятно, чем потом проигрывать. На мой взгляд, лучшим является Cinepac, но и он далеко не идеален. Даже при максимальном качестве сжатия то и дело наблюдаются какие-то артефакты. А уж если вы решили, что файл занимает слишком много места, и надо бы сделать его поменьше (что достигается посредством снижения качества), то вообще пролезет жуткий неприятный квадратизм.

Но всё же, дело компрессии развивается, и в настоящее время уже существуют другие кодеки, которые не входят в Windows, их надо приобретать и устанавливать отдельно. Устанавливаются кодеки просто - как и программы, из дистрибутива. Кодеки тоже бывают разные - понятные для испльзования, и те, которые не умеют компрессить, а только распаковывают. Кодеки, которые только распаковывают, поставляются на дисках с фильмами и нужны исключительно для того, чтобы проиграть этот фильм. И ставятся такие кодеки как правило с autorun, а не из дистрибутива. Не стремитесь их использовать для компресси собственного видео.

Лучше использовать распространённые и однозначные кодеки, ставящиеся из дистребутива, такие как Xvid (http://www.videocoding.de/ - ссылка может измениться, уточнить её можно на http://forum.doom9.net/ и http://www.xvid.org/) или DivX (www.divx.com/divx/). Главное, чтобы имелась возможность доступа к параметрам компрессии, и лучше, чтобы это было не в виде движка, типа качество в процентах. В кодеке DivX качество определяется при помощи параметра Bitrate - количество бит в секунду. Чем больше Bitrate, тем качественнее изображение. Для большого изображения эту величину надо ставить больше, поскольку изображение большое, и нужно больше бит для его кодировки. Для маленького изображения нет смысла ставить слишком большие величины. Хvid немного сложнее в настройках, но он зато полностью бесплатный.

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

Возможно, бесплатная версия не самая лучшая по своим характеристикам, но она доступна вашим зрителям.

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

И ещё один важный момент: если вы планируете заниматься видеомантажом, убедитесь, что используемый вами кодек поддерживается и понимается программой видеомонтажа. Кодеки Xvid и DivX в этом плане не вызывают проблем. А вот с файлами в формате QuiqTime всегда возникают какие-то заморочки.

Кодек DivX плох тем, что некоторые форматы видео он не понимает. У него накладывается требование на соотношение ширины и высоты картинки. К примеру, если картинка имеет размер 740x480, он уже не понимает её, и не будет компрессировать. Если ширина к высоте относится как 1.3333333 и т.д., или что-то близко к этому, (как в картинках 320х240, 640х480, 800х600), то всё будет нормально.

Чем обрабатывать видео

Существуют разные программы видеомонтажа. Одни достаточно мощны, позволяют собирать видеоролики из материалов разных форматов: разный размер картинки, компрессия разными кодеками. Видео может различаться так же и по числу кадров в секунду, к примеру 25 кадров в секунду и 30 кадров в секунду. Для многих программ именно различие в частоте кадров является непреодолимой проблемой, и они отказываются совмещать такие видоматериалы. Однако, как правило, все эти программы позволяют перекомпрессить видео и изменить частоту кадров на нужную величину.

Наиболее распространены такие программы видеомонтажа как Adobe Primier, Ulead Studio и Pinnacle Studio. Это очень мощные пакеты, позволяющие склеивать фрагменты с разным размером картинки и разными методами компрессии (но одинаковой частотой кадров), создавать переходы между сценами, добавлять видеоэффекты, накладывать титры, звуки и делать многое другое. Эти же программы позволяют так же осуществлять видеозахват через устройство видеоввода. По причине своей мощности и могущественности, эти программы довольно-таки громоздки, некоторые не очень просты в освоении и, к сожалению, в некоторых случаях даже не стабильны. И эта нестабильность не только делает работу неприятной и медленной, она может привести к потере данных. Сами исходные видеоматериалы не пострадают, но, согласитесь, всё равно сверх всякой меры неприятно терять результаты нескольких дней работы. Ведь серьёзный видеомонтаж - дело не быстрое.

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

Примечание: для компрессии видео надо использовать оригинальные кодеки, а не те, что поставляются в наборах, типа "Все известные кодеки в одном флаконе". Как правило, такие наборы не позволяют получить доступа к необходимым настройкам, а так же, зачастую, не дают вам возможности нормально воспроизводить ваше видео-аудио. Если вы решили поставить такой набор, обязательно отключите галочки напротив уже установленных у вас кодеков, чтобы не попортить их.

Программа Virtual Dub

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

Для того, чтобы видеофайлы склеились, у них в точности должны совпадать следующие параметры:

  • Ширина картинки
  • Высота картинки
  • Число кадров в секунду
  • Метод компрессии (то есть, файлы должны быть закомпрессированы одним и тем же кодеком, одной и той же версии).
  • Наличие или отсутствие звука и его метод компрессии (Звук как и видео может быть закомпрессирован, и тут тоже имеются разные кодеки).

Если у вас форматы файлов не совпадают, то та же программа Virtual Dub может перекодировать их. Вы имеете возможнсть для имеющегося файла изменить размер картинки, число кадров в секунду, и кодек, которым будет осуществляться компрессия. Битрейт компрессии склеиваемых файлов может и не совпадать, это означает, что для каждого куска в отдельности вы можете оптимизировать размер. Некоторые изображения не особо чувствительны к величине битрейта. Вы можете снижать битрейт и при этом не наблюдать ощутимой потери качества. Другие фрагменты видео могут оказаться более чувствительными к битрейту, и чтобы не потерять качество, нужно ставить значения побольше. Подбирая битрейт для каждого файла индивидуально, а потом склеивая эти файлы без изменения компрессии, вы можете добиться оптимального соотрошения между качеством видео и размером файла.

И ещё один плюс: склеивание кусков осуществляется быстро, и поскольку перекомпрессии не происходит, вероятность глюка вообще практически нулевая.

Главное достоинство программы - она распространяется бесплатно, сайт программы www.virtualdub.org.

Как работать с программой Virtual Dub читайте ниже.

Захват видео

Захват видео: Если вы используете для этих целей нормальный софт, позволяющий делать настройки, то у вас должна быть возможность выбора компрессии видео и аудио. Если используется дешёвый видеовход, не поддерживающий компрессию на аппаратном уровне, но при этом компьютер достаточно быстрый, можно сразу записывать видео в формат DivX. При этом должно быть применено однопроходное кодирование.

Запись небольших фрагментов видео, например любительского видео, которое можно разбить на отдельные куски и записывать каждый кусок оддельным приёмом, иногда бывает лучше записать без копрессии, а компрессию осуществить потом, при помощи Virtual Dub.

Если вы хотите в последствии соединить всё ваше видео в один файл, обязательно позаботьтесь о том, чтобы у всех ваших фрагментов был одинаковый размер картинки, одинаковое число кадров в секунду (fps), а так же один и тот же метод компрессии для видео и аудио.

Рендеринг в 3d программах и видеомонтаж

Здесь при сохранении конечного видео, если вы используете нормальный продвинутый софт, тоже должно быть можно выбирать компрессию. Если ваш винчестер вам позволяет, лучше сохранить некомпрессированное видео, а компрессию осуществить на Virtual Dub. Если вы создаёте ваш фильм по частям, то их потом можно будет склеить в Virtual Dub, при условии, что эти части будут иметь одинаковые параметры. Каждый полученный некомпрессированный фрагмент можно обработать на Virtual Dub, при этом для DivX можно воспользоваться двухпроходным кодированием, которое даёт более высокое качество видео. Компрессия осуществляется достаточно быстро по сравнению с временем рендеринга или временем обработки видео на программах видеомонтажа.

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

Потом полученные таким образом куски (если мы сохраняли их без компрессии или в максимальном качестве) можно обработать на Virtual Dub, для каждого выбрать индивидуально битрейт и закомпрессировать аудио.

Чтобы было можно компрессировать аудио в mp3, надо предварительно установить соответствующий кодек. Тот, что имеется в Windows не позволяет осуществлять компрессию, он служит только для проигрывания.

Компрессия осуществляется быстро, время компрессии для картинки размеров 640х480 примерно равно времени длительности видеоролика. Если видеофайлы невелики, можно поподбирать для них битрейт.

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

Работа с Virtual Dub

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

Что бы вы не делали на этой программе - компрессию, склеивание кусков, наложение звука на видео, результат будет получен после выбора пункта меню: file/save as AVI...

ВНИМАНИЕ: никогда не сохраняйте ваше полученное видео в исходный файл! Исходник может вам ещё пригодиться!

Компрессия

Для того, чтобы Virtual Dub осуществлял компрессию видео и/или аудио, в соответствующих пунктах меню должно обязательно стоять full processing mode, иначе он будет писать видео и/или аудио как есть.

Почему удобно компрессить в Virtual Dub?

1) - Вожможность двухпроходного кодирования: Осуществлять видеозахват в двухпроходное кодирование просто невозможно. Выполнять рендеринг 3d либо сохронение проекта из программы видеомантажа можно, если вам охота ждать в два раза дольше, чем надо. К тому же, чем дольше процесс, тем больше вероятность того, что он сорвётся, и вы потеряете все данные. Лучше поэтапно сохранять ваши фрагменты в некомпрессированное видео, а потом каждый фрагмент компрессировать на Virtual Dub. Это полезно и для однопроходного кодирования, если вы хотите поподбирать битрейт, чтобы получить оптимальное соотношение объём-качество.

2) Возможность подбора битрейт (в том числе и для отдельных фрагментов): Компрессия (один проход), как правило, осуществляется примерно за время длительности видеоролика. При этом вы можете посмотреть, удовлетворяет ли вас качество, если нет - увеличить битрейт. Либо, если вы погорячились и поставили слишком большой битрейт - можете уменьшить его, и скомпрессировать заново. Для склеивания фрагментов необходимо, чтобы они имели один и тот же размер картинки, один и тот же fps, один и тот же вид (способ) компрессии. Но при этом битрейт может быть разным! Таким образом, для каждого куска вы можете подобрать степень компрессии. Для некоторых фрагментов даже очень малый битрейт не даёт видимой порчи изображения, так зачем же ставить его большим? Для других же - необходимо поставить его побольше, чтобы сохранить красивую картинку.

Склеивание фрагментов

Для склеивания фрагментов сначала надо открыть первый фрагмент (file/open), затемнадо открыть file/append AVI segment, и выбрать следующий по порядку фрагмент. Если у вас их много, надо повторить операцию append AVI segment для каждого фрагмента, либо склеить и сохранить сначала два первых, потом открыть их заново и точно так же прилепить к ним следующий фрагмент и т.д. Если у вас каждый фрагмент уже компрессированный (особенно, если вы подбирали эту компрессию указанным выше спсобом, и подобрали оптимально), в пункте меню video необходимо выбрать direct stream copy, тогда у вас куски будут просто склеиваться, без перекомпрессии. Можно поставить full processing mode, если видео не компрессированное, либо вы не хотите сохранять имеющуюся компрессию. Для компрессии аудио всё совершенно аналогично.

Наложение звука

Звуковая дорожка для наложения должна быть смонтирована и готова заранее. Она может быть и некомпрессированной, тогда её можно скомпрессировать в процессе наложения.

Для того, чтобы наложить звук, выберите audio/wav audio, а затем укажите файл со звуком, который надо наложить. Wav может быть и компрессированный, к примеру - та же mp3 с переименованным расширением.

Видеофайлы можно создать и без звука, склеить их, а звук наложить либо во время склеивания, либо потом. Опять же, если видео у вас компрессированное нужным образом, поставьте для него direct stream copy. Если звук компрессированный - с ним поступите так же.

Примечание: почему-то многие программы (3d моделирования и видеозахвата) позволяют выбрать компрессию для видео, но не позволяют выбрать таковую для аудио. Поэтому, чтобы уменьшить объём видеофайла, компрессировать аудио приходится уже потом, на Virtual Dub (ставим direct sream copy для видео, и full processing mode для аудио).

Ссылки на обзоры и статьи по теме:

  • audioservis.narod.ru - видеосервис, здесь можно прочитать, как осуществляется кодирование видео и звука. Mpeg1, DivX. Обзор для спецов, которым интересно, как устроен формат и как он появился.

Ссылки на программное обеспечение

  • www.divx.com/divx/ - лучший кодек для компрессии видеоизображения. Будьте внимательны, здесь есть и freeware-версия! (то есть, бесплатно).
  • www.virtualdub.org - сайт программы Virtual Dub, простой, но очень удобной программы для работы с видеофайлами. Здесь же есть ссылки по которым можно БЕСПЛАТНО скачать эту замечательную программу.

homepage: http://teapot3d.narod.ru

friendpage: http://hydroph.fatal.ru

e-mail: contact@hydroph.fatal.ru