Грамотная нарезка телепередач

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

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

Полагаю, с этим мы разобрались. Перейдем к описанию процесса. Итак, дано: сигнал стандарта DVB, подключиться к которому можно с обычного компьютера. Требуется: записать какую-либо передачу и почистить ее от рекламы, ненужных заставок и проч. Постараюсь обойтись без излишнего теоретизирования. Все приложения, о которых пойдет речь ниже, бесплатные, в свое время я рассказывал о них в «Маленьких программах». Теперь настало время показать, как их можно использовать для решения конкретной задачи.

Сперва, понятное дело, надо как-то получить исходник для дальнейшей обработки. Нам потребуется VLC media player. Нужен еще плей - лист, в котором содержится список каналов. Ищите его на сайте провайдера, либо в разделе, посвященном цифровому телевидению, либо на форуме. В особо запущенных случаях, когда поставщик услуг доступа предлагает собственную сборку какого-нибудь медиа - плеера с намертво «зашитым» в нее плей - листом, а в отдельности оного не существует, придется обратиться в службу тех - поддержки.

Запись

Сначала открываем в плеере плей - лист, потом выводим оный при помощи горячих клавиш Ctrl + 1, кликаем правой кнопкой мыши по нужному каналу в списке и выбираем пункт «Сохранить». Тут нас интересует крайняя строка «Профиль»из выпадающего списка нужно выбрать тот, который называется «Video - MPEG - 2 + MPGA ». Если вы записываете трансляции регулярно, лучше создать аналогичный профиль, но с другим, легче запоминающимся, названием. Этим мы сейчас и займемся: жмем на крайнюю справа кнопку, при наведении курсора мыши на которую всплывает подсказка «Создать новый профиль». Появится окно с несколькими вкладками. На первой включаем тип инкапсуляции MPEG - TS. На второй надо проставить галку напротив пункта «Видео», а затем выбрать из выпадающего списка кодек MPEG - 2. На третьей активируем опцию «Аудио» и в качестве кодека оставляем MPEG Audio. Внимание: обязательно задействуйте на вкладках «Видеокодек» и «Аудиокодек» опции, приказывающие плееру сохранять исходные потоки без перекодирования! Теперь осталось лишь задать название профиля и сохранить его. Конечно, хорошо было бы обойтись без всей этой мышиной возни, но, увы, ни скопировать существующий профиль, ни сохранить его под другим именем в VLC media player нельзя. Затем нужно вернутся к плей - листу, снова щелкнуть на пункте «Сохранить» в контекстном меню канала, в появившемся диалоговом окне найти свой только что созданный профиль в соответствующем списке, задать имя файла на локальном диске и, наконец, нажать на кнопку «Начать». Все, запись пошла. Чтобы остановить ее, просто закройте плеер.

Редактирование

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

Задача решается при помощи так называемых программ - демультиплексоров. Нельзя сказать, что наблюдается дефицит такого рода ПО. Перепробовав около десятка приложений, я остановился в итоге на оупенсорсном Project X, который, по словам автора, как раз и создан для обработки записей цифрового телевидения. Он всегда сохраняет синхронизацию аудио и видео, даже если происходили выпадения сигнала. С шириной канала это не связано, выпадения являются следствием высокой загрузки сервера, который «раздает» трансляции цифрового ТВ. Так вот, «битые» записи Project X раскладывает на потоки без проблем; если выпадения были кратковременными, после обработки вы вообще можете их не заметить. Это достоинство программы с лихвой перекрывает все ее недостатки. Для работы она требует наличия в системе пакета Java RE, найти последнюю версию которого всегда можно на страничке www.java.com/ru/download/manual.jsp. Установка демуксера сводится к распаковке в любую удобную папку на диске содержимого загруженного архива ZIP. Для запуска нужно дважды кликнуть на файле ProjectX.jar.

Сам процесс достаточно прост. Прежде всего откроем контейнер при помощи пункта меню File Add или клавиатурного сокращения Ctrl + О. Затем определимся с папкой для сохранения извлеченных потоков. Для этого сначала нажмем на кнопку с зелененьким «плюсиком» в нижней части программного окна, снабженную всплывающей подсказкой «Add directory to recent output directory list», потом укажем нужный каталог на винчестере, а затем выберем его из раскрывающегося списка. Особого смысла ковыряться в опциях нет - разве что можно включить автоматическую генерацию индекса для видеоредактора, который будет использоваться в дальнейшем. Остальное лучше не трогать, поскольку с контейнерами, созданными при помощи VLC media player, программа превосходно справляется и без дополнительной настройки.

После всех этих манипуляций самым разумным будет нажать на кнопку Quick Start и дождаться завершения демультиплексирования. В результате на диске появляются новые файлы с именем, соответствующим исходному, и расширениями.m2v,.тр2,.m2v.info, а также еще один текстовый, в котором Project X сохраняет свой лог. Возможностей у данного демуксера намного больше, чем описано в этой небольшой статье. Но поскольку для решения нашей задачи они нам не пригодятся, то тратить на них ценную журнальную площадь сейчас не стоит.

Монтаж

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

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

Окно редактора разделено на несколько частей. Наверху, сразу под главным меню, выводятся различные сведения об открытых потоках. Так как в данном конкретном случае толку от этой инфы никакой, смело убирайте ее с глаз долой. Область current frame предназначена для просмотра видео, а в той, что расположена немного левее, под названием «Последний кадр», отображается последний отмеченный фрейм. Под этим хозяйством находится «Балка прокрутки» для перемещения по загруженным файлам. В правой части поселилась панель инструментов «Навигация». Наконец, в самом низу расположен монтажный лист «Список фрагментов».

Теперь надо настроить перекодирование видеосигнала, поскольку без этого не всегда возможно установить желаемые границы фрагмента. Дело здесь вот в чем: в видеопотоке есть т. н. группы картинок GOP, которые состоят из кадров нескольких типов. I.frame - это сжатая картинка, для распаковки которой не нужна дополнительная информация. P.frame содержит в себе только изменения, произошедшие в видеосигнале после предшествующего кадра, и для построения изображения требует раскодирования предыдущего фрейма. Наконец, В.frame использует информацию как из предшествующего, так и из последующего кадров. Подробнее об этом можно почитать на страничках en.wikipedia.org/wiki/Group_ of_pictures и en.wikipedia.org/wiki/Video_ compression_picture_types. Фрагмент всегда должен начинаться с кадра I, а заканчиваться - кадром I или Р. Может запросто получиться так, что при «нарезке» нужная точка просто не содержит фреймов требуемого типа. А это, в свою очередь, приведет к тому, что, например, при удалении рекламного ролика придется либо отрезать идущий после него кусок «полезной» записи до того места, где находится ближайший подходящий фрейм, либо оставить секунду - другую чего-то лишнего. Хочу подчеркнуть, что это не является недостатком Cuttermaran, это ограничение формата сжатия. Решить проблему можно только созданием кадра нужного типа, то есть перекодированием. Вы спросите: а как же качество, ведь оно теряется при этой операции... Да, все верно, но тут я просто обязан воспеть хвалу создателям Cuttermaran. Они сделали так, что при перекодировании создается только одна группа картинок GOP в нужной точке, а остальной видеопоток остается нетронутым! Гениально.

Нам потребуются кодировщик, который «дружит» с нашим видеоредактором. Если мы хотим обойтись только бесплатным софтом, то выбора нет: заходите на страничку www.bitburners.com/ QuEnc и качайте дистрибутив QuEnc v0.72. Это просто архив ZIP, который надо распаковать в любое удобное место на диске. Кроме того, потребуется еще дополнительный инструмент - фреймсервер Avi - synth, который проживает здесь: source - forge.net/projects/avisynth2/. После инсталляции последнего надо в видеоредакторе зайти в «Операции» «Установки» Encoding, проставить галку напротив пункта «Включить режим кодирования» и выбрать в списке QuEnc 0.70-0.72. Вот теперь все готово.

Для загрузки потоков следует нажать кнопку со стандартным значком и всплывающей подсказкой «Открыть видео». Нужно указать только файл с видео - звук «подцепится» автоматически. Для быстрого перемещения используется ползунок в «Балке прокрутки», который захватывается мышкой и перетаскивается в нужное место. Клик по панели правее этого самого ползунка сдвигает текущую позицию вперед, а левее - соответственно, назад на 25 кадров. Границы фрагмента выбираются кнопками «Установить точку старта» и «Установить точку финиша» в панели инструментов. Для добавления оного в монтажный лист имеется кнопка с «плюсиком». Запомните: выделять нужно только те участки, которые требуется сохранить. Все, что не отмечено, будет удалено.

Дальнейшие действия зависят от того, что именно вы монтируете. Если это фильм, запись спортивного соревнования или какая-то передача, то после того, как будут отмечены все нужные участки, надо просто задействовать пункт меню «Операции» «Резать видео / аудио», указать в открывшемся диалоговом окне имя результирующего видеофайла.m2v, папку для размещения оного на диске, а потом нажать на кнопку «Старт». Если же вы, например, вырезаете видеоклипы, то каждый из них придется обрабатывать по отдельности. Это, в общем, несложно, только возни много. Потребуется определить нужный

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

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

Сборка

Теперь осталось только собрать «обрезанные» видео - и аудиопотоки в единый файл. Для этого идеально подходит крошечная утилитка ImagoMPEG - Muxer, которая предназначена для создания контейнеров MPG или VOB. Она представляет собой один - единственный экзешник, не требующий установки в систему. После запуска оного надо выбрать файл с видеопотоком кнопкой Select Video Source, ну а звук софтина найдет сама. Поскольку дополнительных аудиодорожек в нашем случае нет, можно сразу после открытия исходников запустить процесс кнопкой Multiplex.

Добавлю, что сей муксер нетрудно подружить с Cuttermaran. Для этого надо в видеоредакторе включить на вкладке Muxing в пункте меню «Операции» «Установки» соответствующую опцию, выбрать в выпадающем списке название утилиты и указать путь к исполняемому файлу lmagoMPEG - Muxer.exe. Тем, кто не планирует дальнейшую обработку, вероятно, именно так и следует поступить, чтобы свести к минимуму ручной труд. Обращаю ваше внимание на то, что при таком варианте «обрезанные» потоки будут сохраняться в той папке, которую вы выбрали для них ранее в настройках Cuttermaran, а результаты сведения - в другой директории, которая прописана в табе Muxing видеоредактора. Если не хотите потом чистить диск от ненужных исходников, лучше сразу включите в последней вкладке опцию «Удалить исходные потоки».

Вот, пожалуй, и все. Как видите, мы прекрасно обошлись только бесплатными инструментами, чтобы решить непростую, в общем - то, задачу. Описанный в статье алгоритм проверен мною неоднократно и работает превосходно. Так что удачных вам нарезок! Ну а правильный рецепт вы теперь знаете.