Как склеить видео?

В процессе подготовки субтитров для видеоинтервью с Napalm Death возник ряд чисто технических задач. Например, как склеить несколько клипов в один? Понятно, что для большинства людей, занимающихся видео профессионально, эта даже не задача, а так — рутина, которая выполняется на автомате. Но для человека, имеющего скромный опыт видеообратоки, задача может оказаться сложной и даже невыполнимой.

К примеру, что делать, если Adobe Premiere при импорте клипа импортирует только аудиодорожку без видео? Хотя известно, что оно там есть, и его можно посмотреть в любом плеере?

Вот купил пользователь программу Adobe Premiere CS3, запустил её. Пока ждал загрузки, предствлял, как во все кинотеатры мира ломятся толпы жаждущих посмотреть фильм, который сейчас он, этот пользователь, в программе, в этой программе, будет делать. Пользователь умён и одарён, а видеоматериалы — шедевры, осталось лишь сделать монтаж. Но... в компании Adobe решили иначе: шедевры оказывается записаны в каком-то неправильном формате, поэтому монтировать их сегодня не будут. Хотя нет, аудио, так и быть, пусть монтирует, но никак не видео.

И вот мы видим красноглазого, заросшего щетиной пользователя, злобно выстукивающего на клавиатуре вопросы к поисковикам, которые в итоге дают ему намёк: поставь кодеки, друг. Большинство начинающих режиссёров скорее всего подумают: какие еще, бл[censored]дь, кодеки?! Я же купил Adobe Premiere?!

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

Ну да ладно, не будем больше отвлекаться. Каков же путь металиста, желающего склеить несколько «вшивых» клипов? Металист не тратит своё время на всякую цветастую херню, не лазает по сети в поисках спасительных программок, снабженных лживыми обещаниями и напичканных вредными вирусами — ведь так он впустую потратит время, которое с пользой можно было бы использовать на прослушивание или запись новой музыки! Он идет на сайт hellcome.ru и ищет правильный ответ!

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

Задача: есть несколько видеоклипов, которые надо склеить в один. Интервью с Napalm Death было разбито на 5 частей. Вначале склейку пытались проводить в Adobe Premiere, а когда не получилось, то в нескольких программах, скаченных с инета. Некоторые не умели склеивать вообще, другие изготавливали файлы размером 2 гигабайта, третьи делали как надо, но шла рассинхронизация звука с видео. Короче, результата всё не было.

Рабочим решением оказался AVISynth. Вообще, более элегантной штуки для работы с видео я не видел.

На вход AVISynth подается... программа, то есть скрипт, в котором описано, что откуда брать и что с этим делать. Рассмотрим на примере видеоинтервью. Скрипт из одной строчки (для удобства чтения добавлены новые строки):

UnalignedSplice(     DirectShowSource("mp4\Strong-Arm.mp4"),     DirectShowSource("mp4\Diktat.mp4"),     DirectShowSource("mp4\On The Brink OF Extinction.mp4"),     DirectShowSource("mp4\Time Waits For No Slave.mp4"),     DirectShowSource("mp4\Life And Limb.mp4")).   LanczosResize(480,272)

Берем 5 треков из папки MP4, склеиваем, меняем размер видео на 480x272 (стандарт). Вы не поверите, но на этом можно остановиться — клип уже почти готов.

Подобные файлы-скрипты (расширение .avs) можно делать в любом текстовом редакторе, например в Notepad. Скрипты также открываются свободным видеоредактором VirtualDub, который показывает скрипт, как будто это видео, причем уже конечный результат всех обработок, сделанных в скрипте. Т.е. если открыть вышеуказаный скрипт в VirtualDub, то мы увидим склеенный клип, который без перерывов и всякой рассинхронизации играет от начала до конца.

Теперь осталось просто экспортировать этот виртуальный клип в реальный .avi файл и выложить на youtube.com. В том же VirtualDub делаем «Save...», предварительно выбрав видеокодек. Нам нравится свободный кодек H.264. Всё готово.

Если вы заметили, в видео есть логотип «subtitled by Hellcome.ru». Это тоже сделано средствами AVISynth. Вот простой пример наложения логотипа на видео:

overlay(   DirectShowSource("myvideo.avi"),   ImageSource("mylogo.png"))

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

К этой заметке прикреплён .avs файл, который использовался для склейки видео с Napalm Death.

Комментарии

#1
v аватар

Подобное можно еще сделать с помощью mplayer / mencoder
Там аналогичный подход к решению задачи.

#2
eDeth аватар

Ну, цель была сделать это на винде :)

По поводу mencoder много не скажу, опыта не имел, но линейную склейку по жизни делаю просто:

mencoder -oac copy -ovc copy file1.avi file2.avi -o out.avi

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Glossary terms will be automatically marked with links to their descriptions. If there are certain phrases or sections of text that should be excluded from glossary marking and linking, use the special markup, [no-glossary] ... [/no-glossary]. Additionally, these HTML elements will not be scanned: a, abbr, acronym, code, pre.
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании