Данная статья расскажет вам, как быстро нарезать ваше любимое аниме (или другое видео) на мелкие кусочки. Причем не просто на мелкие кусочки, а на мелкие сцены. Что бы каждый кусочек, представляя собою законченную мини сцену. В отличие от большинства статей про VirtualDub мы не будем толкать басни про горячие клавиши. И про то как круто можно вырезать кусочки видео руками по горячим клавишам. Так как во первых статей на эту тему и так уйма в интернете, а во вторых этот метод (выделения вручную) сильно трудоемкий.
Нарезка на кусочки видео нужно рано или поздно любому человеку, который увлекается видеомонтажом. И особенно это нужно тем фанатам аниме которые делают AMV (Anime Music Video). Обычно начало создания того же AMV ведется с поиска сцен в видео ряде и нарезке маленьких кусочков из которых в последствии можно собрать свой видеоряд. Обычно это делается в VirtualDub в ручную и на глаз. Можно разбить видео на сцены в более продвинутых программах и сразу их (сцены) просмотреть и даже скомбинировать. Однако очень часто при работе приходится комбинировать разные программы и надо, чтобы исходный рабочий материал в отдельных *.AVI файлах циркулировал между ними (программами). Или даже просто хранился на диске для дальнейшего использования. И вот тут возникает первая сложность у тех людей, которые используют продвинутые редакторы видео. Разбить на сцены вроде как бы получилось, а вот как сохранить каждый кусочек на диске это дилема. Обычно любой сложный видео редактор довольно консервативен и не позволяет просто взять и сохранить распознанные кусочки видео по отдельности на диск. Автоматом. Поэтому после долгих мытарств все возвращаются к VirtualDub и работают в нем. Хоть как бы и в ручную, но зато проще и быстрее.
Мы решили пойти другой дорогой. Нас не устроил стандартный метод разбиения сцен в
VirtualDub когда надо шарится по громадному куску видео и явно указывать начало и конец вырезаемой
сцены. Так как это сложно и сильно муторно.
Поэтому мы решили сделать все по-своему. Разбить видео на кусочки и по сценам, причем без
ручного поиска в видеоряде начала и конца нужных нам сцен.
Наш метод разбиения видео на сцены базируется на том, что любой нормально кодированный видео файл стандарта MPEG4 (и не только) несет в себе уже определенные ранее зоны начала и конца искомых сцен. Почему это так. И как хранится, кодируется информация в mpeg4, мы рассказывать не будем. Это долго и не по теме. Просто остановимся на факте что такая информация (ключевые кадры) есть. И мы будем это использовать. И в конце, после основного нашего изложения, упомянем что делать если все же такой полезной информации почти нет или возникают другие проблемы мешающие применению нашего метода.
Итак берем какое ни будь видео, в нашем случае это анимешка в виде *.avi
Пихаем видео в VirtualDub и делаем для звука прямопотоковое копирование или вообще его убираем. По вкусу так сказать.
Делаем и для видео прямопотоковое копирование.
И сохраняем видео с выбранными настройками как сегментированное AVI.
При этом не забываем выставить циферку "1" в нужном окошечке. Указав этим VirtualDub что мы хотим (в каждом сохраненном кусочке) иметь ровно 1 кадр видео.
И как вы думаете, что же у нас выйдет? Куча авишек по количеству равному количеству кадров или нечто вразумительное?
Получилось 452 файла *.avi. Именно 452. Не 35415 как количество кадров в видео, а именно 452. Наибольший полученный файл в нашем примере имел размер 3697742 байтов и содержал сцену аж на 10 сек. Наименьший, который показывал, имел размер 34720 байт и содержал всего 11 кадров. Из чего следует, что получили, нечто вразумительное и годное к использованию.
Выборочный просмотр некоторых полученных файлов только подтвердил, что у нас все вышло. И в каждом полученном файлике маленькая, но законченная по смыслу сценка. Почему же так вышло. В чем изюминка нашего метода. Несмотря на то, что мы явно указали VirtualDub что желаем видеть в каждом видео файле всего 1 кадр исходного видео. У него это не вышло. Было включено прямопотоковое копирование. VD ну ни как не мог сохранить кусок видео меньше по размерам, нежели который забит между любыми 2 ключевыми кадрами.
Мы получили 452 файла с логически законченными сценами. И последнее что надо сделать. Это просто пересмотреть их все и удалить ненужные. Это конечно трудоемко. Но куда проще нежели ручками нарезать и сохранять по отдельности 452 куска видео. Как вы видите наш хитрый метод довольно прост и оригинален. И если у вас возникли вопросы, пишите на данный ниже e-mail.
Дополнение к данному методу !!!
Как и обещано в начале сейчас пойдет речь о ситуациях, когда применение данного метода не дает сразу желаемый результат. Причин может быть много. Дадим наиболее общее решение большинства проблем. Возьмем вопрос заданный одним из читателей текущей статьи, а точнее старого варианта, когда текущий абзац отсутствовал.
Как то раз пришло электронное письмо, где один товарищ спрашивал, как применить данный метод нарезки видео к материалу ужатому Huffyuv. Оказалось, что в этом случае метод не дает нужного эффекта. Нарезка получается почти по кадрам. После недолгих раздумий был найден обходной путь для таких ситуаций, Неудобный видеоматериал сначала пережимается кодеком x264 используя безпотерьный режим, а уже потом нарезается по кускам. Понятно дело, что в пережатом материале необходимые ключевые кадры расположатся как нужно и нарезка будет идти правильно. Ну а маленький минус данного метода - это сама необходимость лишний раз кодировать видео и применение x264 вместо привычного Huffyuv. Хотя насчет второго утверждения можно и поспорить.