Качественный захват видео на TV-тюнере. Дубль 2

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


1. IUVCR

Итак, гвоздь программы - IUVCR! В отличие от узкоспециализированной FLY2000TV, IUVCR не "заточена" под использование с конкретным железом и драйверами и позволит вам произвести захват аналогового (или цифрового) видео с очень богатыми возможностями. Более того, с уверенностью можно говорить, что эта небольшая программа по возможностям захвата видео с легкостью превосходит очень многие монструозные пакеты работы с видео.

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


1.1. Отступление №1, или рассказ о форме и содержании

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

Таким образом, видеозапись состоит из видеоряда, звуковой дорожки (или нескольких), субтитров (возможно, нескольких), текстовых комментариев к ней и т. д. Файл, в который сохраняется видеозапись, имеет специальный формат. Помимо, собственно, видеоряда и звуковой дорожки, он должен содержать некоторую служебную информацию: какой формат применен для сжатия видео и звука, так называемый индекс (блок данных, который содержит адреса расположения конкретных участков записи - он используется во время перемотки), текстовые описатели (теги - название записи, автор, информация об авторских правах и прочее). Формат такого файла называют контейнером. Процесс объединения набора файлов видеозаписи в один называется mux (сокращение от "multiplex"), процесс выделения отдельных компонентов записи в файл - demux (demultiplex).


AVI

Наиболее распространенный контейнер видео - Audio Video Interleaved (AVI), разработанный небезызвестной Microsoft еще в бытность Windows 3.11. Чем же он так хорош, спросите вы? Тем же, чем и все продукты Microsoft - своей повсеместной распространенностью и практически полным отсутствием альтернативы на протяжении многих лет.

Любая версия Windows содержит демультиплексор, обеспечивающий воспроизведение файлов этого формата, в чем и заключается основное удобство - нет нужды заботиться об установке дополнительного софта. Контейнер AVI имеет целый ряд ограничений: не все программы поддерживают отображение внедренных в AVI субтитров. Нет поддержки переменной частоты кадров (variable frame rate) - отсутствует синхронизация аудио- и видеопотоков по штампу времени, что может вызывать рассинхронизацию видео и звука при наличии потерянных кадров во время захвата, отсутствие поддержки звуковой дорожки с переменным битрейтом (VBR). К счастью, все не так плохо, т.к. многие (но не все) из этих ограничений удается обойти при помощи альтернативного софта.


"Матрешка" (Matroska)

Интересная альтернатива - контейнер "Матрешка" (matroska.org) (по-английски - Matroska). Он содержит несколько уникальных возможностей, например, субтитры в "Матрешке" всегда хранятся в универсальной кодировке Юникод, что позволяет избежать проблем с кодировкой текста субтитров. Этот формат разрабатывался специально для хранения аудио- и видеозаписей. Он основан на стандарте XML и обеспечивает двухстороннюю совместимость: ваша запись может быть воспроизведена любым проигрывателем при помощи любого декодера этого формата, еще одна очень интересная особенность - поддержка оглавления (как на DVD-дисках!). "Накладные расходы" контейнера "Матрешка" (блок index и прочая служебная информация) заметно меньше, чем в AVI. Захват в этот контейнер может производить IUVCR с установленным Matroska muxer, воспроизводить видео в данном формате способен любой современный видеоплеер. "Матрешка" - активно развивающийся проект с открытым исходным кодом.


Windows Media

В этом контейнере, как правило, могут использоваться только форматы сжатия Windows Media разных версий: WMA (Audio) и WMV (Video). Сохранять видео в этот контейнер способна рассматриваемая нами iuVCR. Формат этого контейнера закрытый, поэтому очень немногие программы способны полноценно работать с ним. По этим причинам формат Windows Media не очень популярен. Видео в контейнере Windows Media может иметь расширение WMV или ASF.

Если контейнеры RealMedia, QuickTime, MP4 и пр. являются слишком специфичными и малораспространенными, и потому не представляют для нас с вами практического интереса, то контейнеры "Матрешка" и Windows Media, несомненно, интересны по причине наличия синхронизации аудио- и видеосемплов по штампу времени, а в случае с "Матрешкой" это еще и поддержка переменной частоты кадров (Variable Frame Rate - VFR). Эти свойства контейнеров позволяют свести вероятность появления рассинхронизации к нулю даже при захвате с очень старых видеокассет.


2. Вернемся к теме, или подробнее об интересных особенностях IUVCR

Если честно, когда я писал о том, что IUVCR не заточена под использование с конкретным железом, я немного соврал :-). В свое время автором программы IUVCR Иваном Усковым был модифицирован референс-драйвер для чипов Connexant BT848/878. Было исправлено большое количество ошибок, увеличена функциональность и совместимость, в результате чего у обладателей устройств на основе чипов Connexant появляется возможность творить чудеса. Несмотря на это, данный чип является морально устаревшим, с этим драйвером в программе IUVCR вы сможете захватывать видео в разрешении до 768x576 без потери синхронизации звука и видео даже при многочасовом захвате и при любом качестве исходного видео.

Таким образом, если вы являетесь обладателем тюнера или карты захвата на чипе Connexant, усиленно рекомендую попробовать IUVCR совместно с замечательными драйверами от Ивана Ускова.


IUVCR и "Матрешка"

Помимо полезных свойств "Матрешки", указанных выше, есть и еще два - контейнер является бесплатным и поддерживается IUVCR.

После скачивания с сайта www.matroska.org Matroska Pack и его установки, в IUVCR на закладке "Видео" в разделе "Мультиплексор" появляется возможность выбора муксера "Матрешка" и записи видео при захвате в этот формат.

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


Подключаемые фильтры

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

При помощи фильтров можно значительно снизить количество времени, требуемое на обработку видео. Если ваш компьютер достаточно мощный, всю обработку можно произвести в реальном времени и после захвата у вас будет готовый файл в формате MPEG2 или MPEG4 (правда, в таком случае вы сильно выиграете во времени, но проиграете в качестве видео, или в его размерах). Вообще, тема фильтров (как и обработки видео) очень обширна и в рамках данной статьи неисчерпаема. Скажу только, что во время захвата в большинстве случаев есть смысл использовать несильное шумоподавление, так как оно повышает коэффициент сжатия видео. Пример - фильтр динамического шумоподавления с vlafy.iulabs.com/rus. Уместно и обрезание краев кадра (пример - входящий в IUVCR iulab Video Crop), так как операцию эту делать все равно придется и на качество оно не повлияет. Еще одним приятным свойством DS-фильтров является возможность подключения их к любому приложению, построенному на технологии DirectShow, например, к FLY2000 TV. К сожалению, FLY2000 поддерживает подключение лишь одного внешнего DS-фильтра, да и то, только для просмотра.


Работа с ТВ-тюнером

IUVCR позволяет захватывать видео с эфира. За настройки ВЧ-модуля ТВ-тюнера отвечают опции на закладке "Тюнер". При нажатии кнопки "Сканер" мы увидим окно, позволяющее произвести поиск каналов. После нахождения всех доступных каналов они будут добавлены в левую часть. Кнопка "Тюнер" позволяет отобразить стандартный DirectShow-диалог настройки тюнера.


Выводы

Итак, мы рассмотрели две программы для захвата и просмотра видео на компьютере - FLY 2000 TV и IUVCR. Каждая из них в связке со "своими" драйверами обеспечит оптимальную работу с устройствами, основанными на чипах семейства Philips SAA713x (FLY 2000TV+Philips Reference Driver) и Connexant BT 848/878 (IUVCR+ WDM драйвер от Ивана Ускова). Обе программы по возможностям захвата примерно одинаковы, но IUVCR позволяет выбирать больше контейнеров для видео, формировать последовательность DS-фильтров, подключать дополнительные разделы винчестера для записи видео. FLY 2000 TV имеет много тонких настроек для чипов Philips SAA713x. Таким образом, если вы производите запись видео на своем компьютере и хотите использовать свой ТВ-тюнер или карту захвата по максимуму, рекомендую попробовать эти незаурядные программы.

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

Андрей АЧИНОВИЧ,
bopox@tut.by

Версия для печатиВерсия для печати

Номер: 

08 за 2006 год

Рубрика: 

Multimedia
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Страницы

Аватар пользователя Андрей Ачинович
<Кстати, "ныне почивший" мод MPEG-2 дорос до версии 1.6.14 (новейшего VD)>

В таком случае рад, что ошибся. ПРосто была официальная инфа, что этот проект заморожен, и наработки от нескольких проектов (VDub mpeg2, AVS, и т.д.) были вложены в DubMOD.

<Реставрация видео начинается не с "качественного захвата", а именно с матчасти, к которой вы так любите меня отсылать. Ссылки "в студию".>

Полностью согласен - дело говорите. Насчет ссылок - справедливо, но желательно сузить проблему...

<"По-моему", на многих кассетах (ну уж вот попадались мне такие оригинальные) нижние поля (20-30 полей) содержали практически один только шум. Проблема решалась, как описано.>

Взято с XBT (году в 2003), называлась вроде "Захват, обработка и хранение видео с использованием ПК"

<Следует понимать, что в ТВ сигнале или при съёмке камерой каждый полукадр содержит изображение, отснятое на 1/50 секунды позже: то есть между первым и вторым полукадром проходит 20 мс. <....> С другой стороны поля — элементы полного кадра, то есть 2–я строка (принадлежащая второму полю) расположена ниже 1–й строки (принадлежащей первому полю), 4–я (2–е поле) — ниже 3–й (1–е поле) и так далее. Таким образом, чётные полукадры находятся ниже нечётных. >

Т.е. поля являются частью ОДНОГО кадра! Шум будет в КАДРЕ, но не в отдельных полях! Да еще как вы смогли удалить "20-30 полей" ?!? Их же 2 всего! Либо Вы имели что-то другое, или "изучайте матчасть!"

<Винда у меня установлена на разделе 6Гб, поэтому FAT32. Было бы 500-1000Мб - был бы FAT.>

Поверхностные суждения. Изучайте матчасть!!!

http://www.osp.ru/pcworld/2003/01/060.htm

http://www.osp.ru/win2000/2001/07/030.htm

http://www.osp.ru/win2000/2001/08/031.htm

http://www.osp.ru/win2000/2000/04/018.htm

http://www.osp.ru/pcworld/1999/10/20.htm

http://ixbt.com/storage/ntfs.html

http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windowsserver2003/proddocs/techref/W2K3TR_ntfs_how.asp

http://www.microsoft.com/whdc/hwdev/tech/storage/ntfs-preinstall.mspx

Аватар пользователя Maxe_Erte_the_Mad
>Т.е. поля являются частью ОДНОГО кадра! Шум будет в КАДРЕ, но не в отдельных полях! Да еще как вы смогли удалить "20-30 полей" ?!? Их же 2 всего! Либо Вы имели что-то другое, или "изучайте матчасть!"

Спасибо, про отличия чересстрочной развёртки я знаю неплохо - в стандартах PAL и NTCS - передача полукадров с частотой промышленной сети. В понятие поля иногда вкладывается смысл строки, т.к. Многие любят сокращать понятие "строки чётного поля" (и звучит-то как-то по-дурацки) до "чётные строки", "чётные поля". Я один из них. В книжном понятии я действительно ошибся.

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

Но на всякий случаем глянем эти ссылки.

http://www.osp.ru/pcworld/2003/01/060.htm

http://ixbt.com/storage/ntfs.html

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

http://www.osp.ru/win2000/2001/07/030.htm

http://www.osp.ru/win2000/2001/08/031.htm

http://www.osp.ru/win2000/2000/04/018.htm

http://www.osp.ru/pcworld/1999/10/20.htm

Возможности NTFS меня мало интересуют, я не не собирался на системном диске использовать сжатие. Между прочим, есть мнение (не моё), что на разделе FAT инфу поднять проще (сам когда-то пытался восстановить с NTFS только что стёртый по Shift-Del файл - ни одна восстанавливалка его не нашла). А зачем на диске до 1 Гб файловая система FAT32 (а не FAT), объясните что ли... я пробовал оба варианта - ничего страшного не было, разницы особой не увидел. поделитесь. Вернёмся к возможностям NTFS. Приходилось видеть, как намертво зависал комп с WinXP с включенной службой "отслеживания распределенных связей" при попытке скопировать данные на другой HDD. Так что NTFS использую только, когда критична надёжность. Для диска под виндой я считаю её некритичной, т.к. в своё время одна винда последовательно пережрала все FAT-диски (даже 600Мб C:, сама она была на D), кроме своего.

С матчастью у вас всё в порядке. Наверняка, вы не будете спорить, что FAT быстрее? Или будете? Кроме того, я не знаю, зачем мне все возможности NTFS в области безопасности, если я один юзер на моём компе ). Конечно же, на работе я так не поступаю и на компах поставил под операционкой NTFS.

Привожу вашему вниманию также следующие цифры моего системного диска:

Ёмкость: 6.82 Гб

Занято: 5.39 Гб (5.48 на диске)

Количество файлов/папок: больше 44000/больше 3000

Файловая система вам известна. Это я называю "поставил и забыл". На диске туча мелких файлов (винда, вебсервер, временные интернет), а потери-то места - всего 100Мб (интересно, какие потери были бы на NTFS). Есть ли смысл загоняться из-за этих копеек?

Я надеюсь, тема виндов удачно закроется.

PS. ссылки на MS не открываются (провайдер Деловая сеть). Посмотрю позже.

Аватар пользователя Андрей Ачинович
< В понятие поля иногда вкладывается смысл строки, т.к. >

У Вас, как во времена марксизма-ленинизма "говорим - партия, подразумеваем - Ленин!".

Как, в таком случае вообще можно придти к общему мнению, если каждый имеет ввиду нечто, понятное только ему?

< Многие любят сокращать понятие "строки чётного поля" (и звучит-то как-то по-дурацки) до "чётные строки", "чётные поля".>

Предупреждать надо!!! А то прям как в анекдоте - "что имею, то и ввиду!!"

<Что касается виндов, то тут мы с вами к единому мнению не придём никогда.>

Ну да Бог с ними... это вообще оффтоп.

Но про винды мы упомянули всвязи с расхваливаемой Вами BorgTV.

< Кстати, вы до сих пор не заикнулись о BorgTV>

Вообще не понимаю, что Вы на нее так запали? Увлечение юности? Прога-то глюкавая! Да и заброшена давно.

Страницы