Volgograd

Волгоград Linux User Group

Организована 23 ноября 2002 года

Проект заморожен Птн Июл 6 02:11:14 MSD 2012


Вход:  Пароль:  

TarasAblamsky/articles/digitalvideofromvhs


Оцифровка видео


Старая версия, дабы не портить, находится здесь
В ней описывается(частично) долгая и упорная борьба Тараса с моим тюнером.

Название не совсем верно – правильнее было-бы Оцифровка видео на карте Aver Media? mencoder-ом

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

С помощью своего тюнера (Aver Media? 105, Brooktree Corporation Bt 878?, rev. 11) я года два назад уже это делал. В памяти отложилось, что делать это было просто, было только две проблемы – какие-то помехи, решенные мною пересжатием с масштабированием, и проблема со звуком, решенная мною захватом видео и звука отдельно и последующей подгонкой потоков.

На этот раз времени было мало и плюс к тому, система уже изменилась за те месяцы, что жила без тюнера. Пришлось начинать с начала.

Дано – тюнер Aver Media? 105, сорок минут видео с профессиональной камеры, но на VHS-кассете (увы), и пожелание получить качество повыше.

Начнем по-порядку.
1. Сначала нужно было заставить карту просто заработать. Единственный затык на этом этапе для Aver Media? 105 и 205 – это упорное желание MPlayer-а включать Video 4 Linux 2? вместо Video 4 Linux?. Поборов это пагубное стремление к новому (с легкостью, в отличие от массовой миграции виндузятников на Windows XP, даже дома) указанием ключей --enable-tv-v4l и --disable-tv-v4l2, переходим ко второму пункту.
2. Нужно получить звук. Ранее это решалось плохо – звук из колонок шел, а mencoder его не брал. Не помогали никакие ухищрения, кроме запуска отдельной программы звукозаписи. Ну или нужно было поднимать alsa, как заметил Тарас. Однако в MPlayer1.0pre4 все вдруг заработало и через OSS. Главное – выбрать в микшере канал записи Line In?.
3. Собстенно процесс захвата. Просто захват видео осуществляется через указание tv:// как источника видео. Однако неплохо на всякий случай сказать, что мы берем с v4l указанием ключа driver=v4l. Далее затык с размерами кадра. Дело в том, что указать можно любой, и некоторые размеры тюнер поймет. Однако если размер не нативный, будет производиться масштабирование, что, как выяснил Тарас, и приводит к проблемам. Максимальный размер кадра, полученный на моем экземпляре – 720 х 480. Меньшие размеры получаем пропорциональным масштабированием. Так что размер кадра 640х480 с тюнера в нормальном режиме не снять никогда. Указываем этот размер так: width=720:height=480. Итак, строчка захвата имеет вид:

mencoder tv:// -tv driver=v4l:input=1:width=720:height=480:immediatemode=0 -vf pp=lb

Здесь input – выбор источника сигнала (антенный вход, композитное видео – наш случай, и S-Video). Immediatemode=0 как раз и заставляет брать звук. Если указать здесь 1, то будут проблемы, так как придется повозиться с настройкой btaudio и прочей ерунды. Нам это не надо, поэтому оставим как есть. Опции перекодировки формата входного сигнала не используем – кодек у нас будет обычный, карта тоже, поэтому outfmt здесь не нужен. Возможно, понадобится указать формат записи на кассете – PAL или SECAM через norm=.

-vf просто необходим – так как видео-то мы берем в виде полукадров. Чтобы избавиться от этого, и нужно указать режим деинтерлейсинга. Можно выбрать разные режимы, но я предпочитаю этот – lb.

Помимо собственно захвата, неплохо бы еще указать опции сжатия, так как хранить в несжатом виде – никакого винта не хватит. Опции сжатия расписывать не буду – многие ведь жмут на досуге DVD, верно?. Просто приведу их:

-oac mp3lame -lameopts vol=3:vbr=3:q=0:aq=0:mode=1 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=3000

Используется однопроходное сжатие, так как трудно заставить начать захват с тюнера дважды с одной и той же позиции. Размер файла, конечно, велик, но 3 часа без проблем влезут на любой нормальный современный винчестер (в смысле, не 3-4 гига который), а качество будет приемлемым для дальнейшей работы. Конечно, начнутся проблемы с размером avi файла, но есть Open VDML?. Оно, правда, не совсем ещё, но тем не менее видео живет. Потом этот гигантский файл можно еще раз перекодировать двухпроходовым сжатием, уже под свои размеры и прочее

Итоговая строчка:

mencoder tv:// -tv driver=v4l:input=1:width=720:height=480:immediatemode=0 -oac mp3lame -lameopts vol=3:vbr=3:q=0:aq=0:mode=1 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=3000 -vf pp=lb -ofps 25 -o test.avi


[ / Category Tips ]