Оцифровка VHS или захват видео в VirtualDub (2003 г.)
Рассмотрим для начала преимущества и недостатки оцифровки видео снятого Вашей домашней видеокамерой перед записью на видеокассету посредством видеомагнитофона:
1. При аналоговом копировании имеет место обычная потеря качества, она наблюдается и при оцифровке (аналого-цифровое преобразование), но в меньшей степени, плюс после получения финального AVI, Вы можете копировать его сколь угодно раз без какой либо потери качества
2. Если у Вас Video8, то при копировании на видеомагнитофон наблюдается потеря информации: у старых видеомагнитофонов стандарта PAL VHS эффективное разрешение по горизонтали - 220 линий, у современных 240-250, в то время как видеокамеры формата Video8 пишут от 220 до 270 линий, видеокамеры SONY - до 280. В зависимости от видеомагнитофона при перезаписи, картинка либо отмасштабируется, либо обрежется, ни тот ни другой вариант не приведет к желаемому результату: увидеть в полной мере то, что Вы наснимали, уже не получится. Тем более качество потеряется, если Вы - счастливый обладатель камеры Hi8 или SVHS, где, во-первых, выше разрешение видео (до 400 строк), во-вторых стерео звук (особенно, если Вы снимаете с выносными микрофонами)
3. Запись на кассете, даже очень хорошей, проживет максимум 3 года, после этого качество начнет, увы, теряться. Если же Вы записали видео на CD, то в теории он может жить у Вас вечно (на практике, конечно, лет 10-15 при надлежащем обращении), однако в любой момент Вы можете создать его копию - в цифре копирование не ухудшает качества.
4. Единственный серьезное преимущество записи на VHS-кассете перед цифровым видео на CD на сегодняшний день - это то, что для проигрывания цифрового видео (в формате MPEG4) нужен компьютер, класса P-II и выше, с частотой процессора не менее 400 МГц. Для оцифровки, кроме того, нужно еще и достаточно много места на диске (хотя иногда я цифрую записи, имея всего 3-4 Гигабайта свободного места, пяти мне обычно хватает за глаза для перевода в цифру полуторачасовой кассеты, снятой на моей SONY Video8).
5. Не нужно также забывать, что Вы имеете в своем распоряжении замечательные средства редактирования цифрового видео, которые Вам практически недоступны при просто записи на видеомагнитофоне.
Итак, если Вы прочли все написанное выше, и Вас это не остановило, давайте рассмотрим, что понадобится при работе:
Железо:
Видеокарта. В общем-то, любая видеокарта с видеовходом. Конечно, замечательно, если она будет поддерживать аппаратную компрессию, например, MPEG-2 или MJPEG, причем без искусственно ограничиваемого в драйверах битрейта, но, если у Вас достаточно быстрый процессор, Вы прекрасно обойдетесь и без этого. Из всех непрофессиональных видеокарт, присутствующих на рынке сегодня, наиболее подходящи для оцифровки видео карты на базе чипов ATI (почему именно, я постараюсь осветить в статье, посвященной аспектам видеозахвата на видеокартах с чипами от ATI). Если Вы только выбираете видеокарту, и в списке возможностей, которая она должна поддерживать, определили для себя видеовход-видеовыход, присмотритесь к картам группы ATI Radeon - немного уступая по скорости в 3D-приложениях карточкам от с чипами от nVidia, он значительно превосходит их в 2D и в оцифровке, плюс часто имеет ряд дополнительных "фич", но об этом не в этой статье.
Процессор. Чем быстрее - тем лучше. Причем Pentium III, Pentium IV, Athlon предпочтительнее, чем Celeron или Duron с теми же частотами. Замечено также, что некоторые кодеки и программы редактирования видео хуже работают с процессорами от AMD, чем с процессорами от Intel (кодек для сжатия без потерь HUFFYUV, вся линейка Adobe Premire). Для работы с видеозахватом с камеры формата Video8 или VHS нужен минимум Pentium III-450 (Celeron-500), Hi8 S-VHS достаточно неплохо захватываются уже на PIII-733 (Celeron-800). Если у Вас менее быстрый процессор, можно работать либо со встроенными аппаратными кодеками, либо с HUFFYUV, но тогда Вам понадобится больше места на жестком диске.
Жесткий диск. Не рекомендую начинать, не имея 2.5 Гб свободного места на диске (за исключением тех моментов, когда Вы хотите оцифровать небольшой фрагмент, либо черновой вариант). Винчестер должен быть достаточно быстрым, на мой взгляд, обязательно с поддержкой UDMA. Конечно, видеопоток обычно не бывает слишком большим, поэтому не обязательно иметь SCSI винчестер, IDE - вполне достаточен. Лишь должны быть обязательно установлены драйверы для IDE контроллера. Я обычно предпочитаю IBM'овские диски. Но в данном случае, это не важно. Единственное, что нужно запомнить, это обязательно дефрагментировать жесткий диск перед стартом серьезного проекта.
Звуковая карта. На мой взгляд, подойдет практически любая, умеющая качественно оцифровывать звук.
Оперативная память. Критично количество. Во-первых, файловый кэш, во-вторых, кэширование при видео- и аудио-захвате, в-третьих, если Вы будет обрабатывать видео в каком-либо серьезном редакторе, то память Вам понадобится для нормальной работы. 96 Мб под Windows 98 и 128 Мб под Windows 2000 - минимальные, на мой взгляд, требования. Больше - лучше. Что касается типа памяти (PC100 или PC133 или DDR), то, конечно же, чем быстрее память, тем лучше, но влияние типа памяти гораздо меньше, чем скорость CPU.
Программное обеспечение:
Операционная система. Windows 2000 или Windows 98? Первая - гораздо стабильнее, лучше работает с памятью, дисками, но требует больше ресурсов и для некоторых видеокарт с видеовходом имеет "неполнофункциональные драйвера". Так что, решать Вам. Я выбрал Windows 2000. Что касается Windows ME, Windows NT и Windows XP, то первая - чересчур "глючная", вторая часто не имеет всех средств поддержки оцифровки видео, а третья пока не исследована, да и ставить ее до выхода первого апдейта (ServicePack) нет желания. (Примечание от House Studio: к настоящему моменту Windows XP + Service Pack 1 наилучшее решение для видео захвата. Такая конфигурация имеет наиболее оптимальные затраты ресурсов. Не рекомеднуется использовать под Windows XP Service Pack 2, из-за его глючности, высоких требований к ресурсам ПК и не стабильности в работе драйверов для видеокарт с видеовходом).
Драйверы. Рекомендую скачать и установить последнюю версию драйверов для Вашей видеокарты. Однако будьте внимательно с бета-версиями, часто они содержат неполную поддержку видеовхода, или вообще не содержат. Если у Вас видеокарта на чипсете от nVidia, а производитель, допустим, ASUS или Creative, лучше не пользоваться референсными драйверами, а использовать официальный драйвер от производителя карты (Возможно, скоро это станет актуально и для видеокарт на чипах от ATI, которая теперь поставляет их сторонним производителям).
Кодеки. Вам понадобятся:
1. DivX - наилучший, на мой взгляд, кодек MPEG-4 на сегодняшний день. Скачать последнюю версию можно на сайте кодека или здесь.
2. HUFFYUV - кодек сжатия без потерь, предпочтителен для захвата видео, однако создаваемый им видеопоток очень велик. Взять можно здесь.
Большинство видеокарт имеют встроенную (в драйверах или железе) поддержку MPEG-1, MPEG-2 или MJPEG кодеков, но чаще всего они доступны либо через специальное программное обеспечение и (или) имеют ограничение по битрейту (читай: качеству). Поэтому Вы можете захотеть обзавестись своим собственным MPEG-1,2 или MJPEG-кодеком, взять его Вы можете на Doom-9 или на House Studio.
Программы для захвата и редактирования. Конечно же никто не мешает использовать для захвата тот же софт, что и для редактирования и финальной обработки видеопотока, - Выбирать Вам. Я приведу несколько самых популярных программ для захвата:
1. VirtualDub - программа "на все руки", умеет захватывать видео, используется для кодирования видео и звука, имеет массу встроенных фильтров для обработки изображения, практически незаменим. Вам он точно понадобится! Кстати, бесплатная.
2.PowerVCR - тоже очень замечательная программа именно для захвата. Поддерживает MPEG-1 и MPEG-2. Замечательна тем, что поддерживает многие современные видеокарты и встроенные в них функции обработки видеопотока, в итоге снижаются треюования к процессору при захвате видео высокого разрешения. Очень хорошо использовать в качестве цифрового видеомагнитофона. Имеет функции пропуска рекламных блоков, TimeShift (одновременный просмотр начала передачи, пока пишется ее конец) и др. К сожалению, не бесплатен.
3. AVI_EDIT - уже не бесплатная, но очень дешевая для граждан России, программа для захвата и редактирования видео. Как пишет сам автор, "младший брат Adobe Premiere". Попробуйте, может понравиться.
4. Adobe Premiere, Ulead Media Studio - "навороченные" программные пакеты захвата, обработки, вывода видео. На мой взгляд, для простой обработки домашнего видео они не нужны, хотя Ulead Media Studio предоставляет возможности, расчитанные как раз на новичков.
Собственно захват видеоизображения.
Я рассмотрю в этой статье общий подход к оцифровке, вне зависимости от видеокарточки, а именно: Захват в AVI на примере работы с VirtualDub. Для начала давайте решим, каким кодеком воспользуемся для сжатия входящего видеопотока на лету. Если Вам нужен только черновой вариант фильма или эпизода, и у Вас процессор PIII-450 (Celeron-500) и выше, можно воспользоваться DivX, тогда Вы сэкономите место на диске. Если Вам предстоит дальнейшая работа с полученным цифровым фильмов и Вы захотите оставит его на память в своей видеоколлекции, тогда лучше воспользоваться одним из кодеков MJPEG. Например: Pegasus MJPEG codec, PICVideo Motion JPEG Codec или кодеком HUFFYUV. Если мне приходится работать не с карточками от ATI, то я обычно пользуюсь последним вариантом. В списке его достоинств - сжатие абсолютно без потерь и малая задействованность процессора, что позволяет исключить потерянные кадры (Dropped Frames), а главный и единственный недостаток - видеопоток все равно остается большим (максимальное сжатие, которое мне удалось получить - 2.5:1, т.е. при разрешении 640х480 и формате видеопотока 4:2:2 мы имеем около 5 Мегабайт/сек. - даже если Вы возьмете чистый винчестер объемом 40 Гб, Вам его хватит на 2 часа видео) , следовательно нужно много места на жестком диске. (Заметка от House Studio: кодек PICVideo Motion JPEG Codec обеспечивает отличное для обработки качество в битрейде чуть более 1-го Мегабайт/сек.)
Подготовка к захвату.
Видеокабель от видеокамеры должен быть подключен к видеовходу Вашей видеокарты (четыре слова "видео в одном предложении, н-да :)). Аудио кабель - в Line-In звуковой карты. Проверьте в микшере, разрешено ли проигрывание звука с Линейный входа (Line-In). Закройте все приложения, запретите на время антивирус, установите в настройках Audio в Панели управления настройки Аппаратное ускорение (Hardware acceleration) и Качество выборки (Sample rate conversion quality) для Проигрывания (Sound playback) и Записи звука (Sound recording) в максимум (правое положение ползунков). Вот например, как выглядит окно управления в английской версии Windows 2000. Вам необходимо нажать кнопку Advanced для Sound Playback, выбрать вкладку Performance и установить ползунки в крайнее правое положение. То же самое сделать и с Sound Recording:
Запустите VirtualDub. (Я не буду рассматривать процесс установки этой программы - все, что Вам нужно, это скачать архив с сайта программы - см. выше, распаковать в любую директорию и при запуске прочитать и согласиться с правилами пользования программой. Войдите в режим захвата, нажав на элемент меню File/Capture AVI
Настройки программы для захвата:
а. настройки захвата
Зайдите в меню Capture/Settings (или просто нажмите F9), установите флажок 'Capture audio'(захвата звука), параметр 'Frame rate' (число кадров секунду) установите в 25.00 (PAL), параметр 'Drop % limit' служит для задания максимально возможного количества потерянных кадров в режиме совместимости со стандартом Video For Windows 1.0 (который разрабатывался еще для Windows 3.1), мы же будем производить захват в режиме VfW версии 1.1+ , так что для нас этот параметр не важен (однако, возможно, Ваша видеокарточка не поддерживает режим 1.1+ (честно говоря, маловероятно, что сейчас Вы где-нибудь раздобудете этот реликт, но если Вам все-таки удастся, смело выставляйте его на аукцион антиквариата! :)), так что Вам придется производить захват в режиме совместимости с о стандартом 1.0, тогда обратите внимание на этот параметр). Еще два важных параметра - 'Video buffer limit' и 'Audio buffer limit' - кэширование потока в памяти. Если у Вас достаточно медленный жесткий диск, Вам необходимо увеличить значение этих параметров. Обычно я выставляю 'Video buffer limit' в 32 (10 по умолчанию), а 'Audio buffer limit' - в 10 (4 - значение по умолчанию, 10 - максимальное значение), параметр Audio buffer size можно установить в 0 (автоматический подбор размера буфера), я обычно выставляю 10 килобайт или 10240 байт - максимально возможное значение для этого буфера.
б. настройки программы
Зайдите в меню Capture/Preferences (или просто нажмите F10). Если у Вас установлено больше одного устройства видеозахвата, Вы можете выбрать, какое именно Вы будете использовать - параметр 'Default capture driver', параметр 'Default capture file' позволяет Вам настроить, куда Вы хотите записывать захваченный файл AVI. Идеально, конечно, писать его на чистый диск или раздел, причем отформатированный под NTFS (Однако, если у Вас не стоит Windows 2000, Вы не сможете использовать NTFS). Если такой возможности у Вас нет, выберите диск, на котором больше всего свободного места, обязательно дефрагментированный перед использованием. Имя файла и папку, где он будет находиться, выбирайте как Вам угодно, единственное, что посоветую, используйте английские символы в пути и имени файла. В нижней части диалогового окна Вы можете настроить, как будет отображаться видео (или вообще не будет отображаться), если у Вас проблемы с драйвером видеозахвата, или Вы хотите сэкономить часть процессорного времени, запретив отображение видео во время захвата. В центре диалогового окна - запись сохраненных настроек.
в. условия прекращения захвата Меню Capture/Stop Conditions позволит Вам задать (если необходимо) условия для остановки процесса захвата - соотвественно: по времени, по размеру файла, по оставшемуся на диске свободному месту и если количество потерянных кадров превысит определенный процент.
г. Меню Capture/Enable multisegment capture переведет VirtualDub в режим разбиения получаемого файла на сегменты (полезно, если у Вас FAT32, а не NTFS: в FAT32 существует ограничение размера файла в 2 Гигабайта). Остальные элементы меню Capture лучше всего оставить по умолчанию.
Настройки видео и звука: выбор кодека и параметров кодирования:
а. Настройка захвата звука Зайдите в меню Audio/Compression.
Здесь Вы можете выбрать кодеки для сжатия звука, которые установлены у Вас в системе, либо оставить звук без сжатия. Последний вариант - лучше всего, особенно при не очень быстром процессоре - дополнительная обработка звукового потока будет отнимать нужное для обработки видео процессорное время. Поэтому выбирайте формат PCM, 48.000 kHz, 16 bit и, в зависимости от того, какая у Вас камера, моно или стерео. Если же все-таки хочется сразу сжать звук (у Вас мало места, или Вы делаете черновой вариант), выбирайте формат одного из Ваших кодеков. Обычно это MPEG Layer-3. Выбирайте для него максимальные параметры (обычно - 128 кБит/с для стерео и 64 кБит/c для моно, 48 кГц частота выборки).
б. Важные детали настройки захвата видео. Нажмите проигрывание видеозаписи на видеокамере. Настраивать следующие параметры видеозахвата удобнее при наличии входящего видеопотока. Зайдите в меню Video/Format:
Левое выпадающее меню позволяет Вам выбрать разрешение захватываемого видеопотока, правое - тип компрессии и глубину цвета. Сразу скажу, что формат UYVY - наиболее часто встречающийся, его понимают практически все кодеки. Для использования кодека без потерь HUFFYUV лучше выбрать формат YUY2 (если драйвер Вашей видеокарты не поддерживает этот формат - не беда, выбирайте смело UYVY). Если Вас интересует другое разрешение видеопотока, а в списке его нет, Вы можете попробовать установить свой формат, выбрав элемент меню Video/Set custom format:
Выбор нестандартного разрешения обычно бывает успешным, а вот выбор формата видео, отличного от тех, что поддерживает Ваша видеокарта, лишен смысла: у Вас ничего не получится.
Меню Video/Source.
Первая вкладка: Верхнее выпадающее меню позволяет выбрать драйвер устройства захвата (если в системе несколько драйверов для одного устройства) или само устройство захвата (если таковых устройств в системе несколько). Нижнее меню позволяет выбрать тип подключения внешнего источника видеоданных - в данном случае это композитный вход (тюльпан).
Вторая вкладка:
Здесь Вы можете настроить, не отходя от кассы, параметры видеоизображения: яркость, контрастность, оттенок и насыщенность. Лучше сделать это сразу, чем накладывать затем фильтр. Просто подвигайте ползунки, пока Вам не понравятся цвета видеоизображения. Обычно, правда передача цветов более или менее удовлетворительна.
И, наконец, выбор кодека для компрессии и его настройка. Мы договорились, что для "чистового" захвата видео мы будем использовать кодек сжатия без потерь HUFFYUV, а для чернового - DivX. На самом деле, Вам выбирать, какой кодек Вы будете использовать. Тот же DivX при высоких битрейтах неплохо подходит для "чистового" захвата, также Вы можете использовать любые программные MJPEG и MPEG-2 кодеки. Но в качестве примера неплохо подойдут и те два, котрые я назвал. Итак, заходим в меню Video/Compression (существует также меню Compression (compatibility), где Вы можете произвести настройку кодека для версии Video for Windows 1.0, но, как я упоминал ранее, вероятность того, что драйвер захвата видео Вашей видеокарты умеет работать только в этом стандарте, очень мала, поэтому я даже не рассматриваю настройки кодека для VfW 1.0, хотя они практически такие же, только слегка изменен вид настроек):
Мы выбираем кодек. Если мы выберем HUFFYUV, то нажимать кнопку Configure наверняка необязательно (кодек работает практически со всеми драйверами видеозахвата), но давайте все-таки рассмотрим и то, как его настраивать:
В верхних двух выпадающих меню лучше всего выбрать именно те опции, что показаны на рисунке. Все остальное обычно не нужно. Скажу лишь, что если Ваша программа видеозахвата не работает с установками HUFFYUV по умолчанию, попробуйте установить опции Always suggest RGB format for output. Если же полученный AVI не проигрывается затем в Microsoft Media Player'е, то выберите опцию Swap fields on decompress.
Если же Вы решили выбрать DivX для сжатия получаемого видео, то выберите кодек и обязательно нажмите кнопку Configure, при этом Вы увидите вот это диалоговое окно:
Рекомендую параметры в разделе 1-pass encoding parameters оставить по умолчанию. Так как мы собираемся делать видеозахват в реальном времени, то выбираем bitrate mode 1-pass, perfomance/quality выставляем в slowest. Output video bitstream неободимо выставить в зависимости от того, черновой или "чистовой" захват Вы делаете: если "черновой", то вполне достаточно 1000, если "чистовой", то 1800 - минимум, а лучше 2400 бит/c (начиная с бета-версий DivX 4, 1 кбайт/c =1000 кбит/с, а не 1024). Если у Вас достаточно быстрый процессор, можно сразу же выставить опцию Deintelace, если же нет, то не страшно: это можно проделать уже после захвата, в процессе последующей обработки фильма. Жмем Ок. Мы готовы к захвату.
Проверяем по небольшой панели статуса в правом нижнем углу VirtualDub'а параметры аудио/видео:
Должно быть в первом окошке "48k/16/m", что означает 48 кГц, 16 бит, моно. Во втором окошке - 25.00 fps (частота кадров - 25 в секунду), в третьем окошке стоит битрейт входящего потока, который зависит от формата потока и разрешения. Теперь нам остается глубоко вздохнуть :) и нажать кнопку F6 (или F5, если Вы вдруг решили, что Вам нужно вести захват в режиме совместимости с VfW 1.0). Через несколько секунд после этого нажать кнопку Play на видеокамере. В начале AVI-файл у нас получится несколько секунд отсутствия картинки (материала) и звук, но мы их затем вырежем, зато, во-первых, мы избежим потерянных кадров при старте, во-вторых, начнем видеозахват с самого начала пленки. После старта захвата в информационном окне справа показывается информация о ходе захвата:
Данные, выводящиеся в этом окне значат (сверху вниз):
1. число захваченных кадров,
2. время, прошедшее со старта захвата,
3. время, в течение которого захват еще возможен (зависит от свободного места на диске),
4. размер файла AVI на данный момент,
5. свободное место на диске, куда производится захват,
6. "занятость" процессора в данный момент,
7. размер видеоданных в файле,
8. средняя частота кадров,
9. видео битрейт,
10. уровень сжатия (в данном случае 8.4 к одному),
11. средний размер кадра в байтах,
12. число потерянных, т.е. пропущенных по какой-то причине (нехватка скорости процессора, малая скорость записи на винчестер и т.д.) кадров,
13. размер звуковых данных в файле,
14. относительная частота выборки звукового ряда,
15. битрейт звукового потока,
16. уровень сжатия,
17. синхронизация с видеопотоком (ненулевая в случае, если есть потерянные кадры).
Данная информация - результат пробного захвата с помощью кодека PICVideo MJPEG (скачать кодек можно по этой ссылке) сигнала с телевизора с разрешением 640х480 (жена как раз смотрела какой-то южноамериканский сериал). Нужно следить за информационной панелью: если число потерянных кадров будет слишком большим (скажем, 1 и больше на минуту), следует остановить захват и подумать, что могло привести к такому результату (фрагментация винчестера, чересчур высокое качество компрессии, неверно выбранный кодек, запущенная параллельно задача и т.д.), устранить помехи и начать захват сначала.
По окончанию видеоматериала нажмите Escape, захват прекратится, мы получим AVI-файл с нашим, уже оцифрованным, видео.
Взято с: http://www.playland.ru/