Статьи пользователей » 28.07.2005 - Захват и однопроходное перекодирование - Ямпольский Андрей

Захват и однопроходное перекодирование.

Автор: Ямпольский Андрей

Редакция: GOTVIEW

Глава 1. Установка главного героя.

Всё началось в один прекрасный день с того, что я установил в компьютер ТВ-тюнер PCI 7135 от GOTVIEW. Довольно симпатичная внешне карточка из фиолетового текстолита с внушительными размерами, конечно, не такими как у последних моделей видеокарт, но всё же немаленькая. Также в коробке я обнаружил пульт ДУ, если не пригодиться, то лишним уж точно не будет. В итоге оказалось очень удобным в использовании устройством.

 

 

Загружаю компьютер, и виндоус тут же обрадовал меня своей сообразительностью, он обнаружил у себя внутри какие-то изменения и попросил драйвер от непонятного устройства, которое он назвал «мультимедиа контроллером». С драйверами проблем не возникло, и установка прошла довольно быстро. Чтобы как-то заставить работать нового жильца в компьютере потребовалось установить ПО производителя, а точнее программу GOTVIEW Pro v. 4.0.0.470. И снова никаких проблем с установкой, всё работает. Подобрал себе скин по душе, теперь не только всё работает, но и всё красиво.

 

 

Перед тем, как приступить к основной задаче данного девайса, т.е. к захвату, я решил ознакомиться, что есть в программе – много возможностей и большое количество настроек меня очень заинтересовали и обрадовали. Возможности программы не ограничивались только захватом изображения, можно совершить отдельно захват звука, сделать скриншоты с заданным интервалом времени, скачать программу ТВ-передач на несколько дней вперёд, распланировать задания с точностью до секунды и многое другое.

Глава 2. Собственно захват.

Для проверки захвата я решил выбрать что-нибудь не очень долгое по времени и моим подопытным стал мультфильм продолжительностью примерно 17 минут. Перед захватом надо было выставить подходящий профиль. Из предустановленных профилей я не нашёл подходящего для моей машины (Duron 1,2 ГГц), пришлось создавать свой собственный профиль на основе существующих. Результатом стал профиль со следующими настройками: формат AVI, контейнер AVI, разрешение 384х288, я посчитал, что данное разрешение будет оптимальным для машины с процессором Duron 1,2 ГГц, если выставить разрешение больше, то возможны пропускания кадров. Чтобы избежать очень большого размера результирующего файла, выбрал сжатие видео кодеком DivX версии 5.1.1 с битрейтом 800 кбит/с; звук лучше не сжимать, для меньшей загрузки процессора и улучшения качества, а также для возможной рассинхронизации звука (PCM 32 КГц, 16 бит, стерео, 125 кбит/с). Выбор 32 КГц оптимален для наших каналов, т.к. в России частота звука выше 32 КГц не используется. На этих настройках я и остановился. Выбор между стерео и моно зависит от канала, с которого производится захват. При разрешении выше 300 по вертикали, лучше использовать деинтерлейс для устранения эффекта «гребёнки». Если изображение на канале кажется шумным, то можно включить шумоподавление, но и тут главное не переборщить, методом проб и ошибок можно подобрать наилучший вариант, я для себя выбрал значение 50. Пришло время захватывать изображение, нажимаю кнопку «Старт» и слежу за показателями.

 

 

Самый главный показатель – это счётчик пропущенных кадров, он напрямую зависит от загрузки ЦП, которая показана чуть ниже. Чем меньше кадров пропущено, тем приятнее будет смотреть свои записи. И ещё немаловажно слушать звук при захвате, т.к. все возможные «подёргивания», щелчки и т.п. будут слышны и в записи. Посмотрев первые несколько минут захвата на датчики и убедившись, что всё идёт нормально я развернул изображение на весь экран и ждал окончания мультфильма. И вот я нажимаю кнопку «Стоп», а это значит, что мои ожидания закончились. Лезу в папку, указанную для сохранения записанного файла, чтобы проверить наличие файла и заодно качество записи. Быстренько просматриваю запись, убеждаюсь в том, что всё прошло нормально. Качество записи очень хорошее, как и качество звука, но размер в 230 мегабайт за 17 минут записи меня совсем не устраивает, так как моего жёсткого диска не хватит, поэтому я решил перекодировать запись.

Глава 3. VirtualDub: боремся с большим размером записи.

Но перед кодированием я подумал, что надо бы убрать титры, которые я случайно захватил, заодно и занимаемое место уменьшится и лишней информации меньше. Открываю программу VirtualDub, в которой урезание кадров делается просто элементарно. Ищу место начала титров и жму на кнопку с изображением этакой «полу-стрелки», направленной влево, потом на временной линии кликаю на конец мультика и нажимаю на правую «полу-стрелку». И последний штрих - кнопочка Del. Точно таким же образом можно вырезать рекламу. Если устраивает размер и качество захваченного видео фрагмента, то в VirtualDub есть возможность сохранения файла без пережатия, т.е. можно вырезать рекламу и титры и сохранить файл в исходном качестве. Для этого надо в меню «Видео» и «Аудио» выбрать пункт «Прямопотоковое копирование», а потом сохранить файл как AVI. Также есть возможность вырезания рекламы программным методом, путём анализа изображения на наличие логотипа. Но есть проблема в отображении логотипа - он может быть анимированным или не появляться во время рекламы, и тогда данная функция работает некорректно. В результате всё равно придётся использовать VirtualDub для вырезания рекламы.

 

 

Для перекодирования я выбрал всё ту же программу VirtualDub. Для уменьшения размера файла уменьшил битрейт видео дорожки и пережал звуковую дорожку в MP3 формат. Начну с аудио дорожки. В меню «Аудио» выбираю «Режим полной обработки», далее выбираю пункт «Компрессия». Т.к. захват производился с канала не поддерживающего стерео, то и в настройках выбираю компрессию 32000 Hz, 48 kbps CBR Mono кодеком Lame MP3 v3.93.1. Пришло время и для видео. Точно так же, как и в случае с Аудио, надо выбрать «Режим полной обработки» для доступа к настройкам перекодирования видео. Захожу в пункт «Компрессия» и выбираю кодек DivX pro(tm) 5.1.1 Codec. Захожу в настройки кодека, путём нажатия на кнопку «Изменить». В настройках изменяю только битрейт на 600 кбит/с и жму «ОК».

 

 

По истечении примерно 6 минут получаем результат в 77 мегабайт. Качество, конечно, не очень получилось, но для мультфильма вполне сойдёт, особенно, если просматривать на телевизоре. Осталось только записать на болванку и можно наслаждаться проделанной работой.

Глава 4. А теперь немного экспериментов.

Попробовав кодек DivX, я подумал: а ведь в Интернете полно других кодеков, в том числе и бесплатных, в отличие от DivX. Мой выбор пал на кодек с аналогичным названием, только наоборот – XviD. Предпочёл по причине его халявности и по хорошим отзывам в интернете по поводу данного кодека. Помимо абсолютной бесплатности XviD кодека у него есть ещё один немалое достоинство – это так называемый «free source», т.е. открытый код. Снова выставляю настройки профиля. Все настройки оставляю старые, изменяю только кодек и снова ставлю битрейт 800 кбит/с, а так же стоит по мере надобности настройки звука, а точнее Mono или Stereo, зависящие от канала. Данный битрейт я выбрал, потому что считаю его оптимальным по качеству и не слишком большим в размерах готового файла записи.

 

 

400 kbit/s

800 kbit/s

Битрейт от 600 до 800 кбит/с оптимальный для захвата. Битрейт ниже 600 кбит/с я решил не использовать из-за плохого качества при просмотре. А плохое качество – это испорченное впечатления даже от хорошего фильма. На этот раз я решил захватить одну серию из сериала. И тут качество гораздо важнее, чем в мультфильмах, т.к. детальность больше. Кусок видео получился длительностью в 23 минуты и размеров в 330 мегабайт. Качество записи мне очень понравилось, но сериал прерывался рекламой, и теперь было бы просто замечательно её вырезать, а так же немного уменьшить размер файла, т.е. снова придётся перекодировать.

Глава 5. Режем рекламу, уменьшаем размер.

Открываю уже знакомый мне VirtualDub и начинаю выискивать рекламу. Удобнее всего вырезать рекламу по ключевым кадрам (кнопка с изображением ключа), так можно наиболее точно выловить момент перед началом рекламы и после её завершения. Естественно я оставил первоначальный файл захваченного видео, на случай, если результат перекодирования меня не устроит. Реклама вырезана, теперь можно приступить к перекодированию звуковой дорожки. Но надо ещё выбрать кодек и оптимальные настройки для рекомпрессии. В меню «Аудио» выбираю пункт «Режим полной обработки», иначе настройки рекомпрессии не будут доступны. В пункте «Громкость» можно выставить оптимальную громкость звучания каналов. В пункте «Компрессия» надо выбрать кодек для сжатия аудио потока. Я выбрал один из самых распространённых кодеков Lame MP3 v3.93.1. В настройках кодека выставляю 32000 Hz, 96 kbps CBR, stereo (в зависимости от канала, стерео у меня есть только на каналах ОРТ и MTV). Видео решил пережать с тем же кодеком, что и совершал захват, т.е. XviD. В программе VirtualDub в меню «Видео» выбираю «Режим полной обработки» для доступа к настройкам перекодирования. В пункте «Компрессия» выбираю кодек XviD MPEG-4 Codec и нажимаю кнопку «Изменить», чтобы изменить настройки рекомпрессии. Количество проходов лучше ставить 2, что даст лучшее качество изображения и вполне возможно, что и меньший размер файла, но я использовал однопроходный механизм обработки из-за нехватки времени. При однопроходном кодировании используется постоянный битрейт, выставленный пользователем для всех кадров, так называемый CBR (constant bit rate), при использовании двухпроходного механизма сжатия, за первый проход кодек анализирует видео файл и создаёт текстовый файл с информацией о битрейте, рекомендуемом для каждого фрагмента. Меняю битрейт на 600 кбит/с.

 

 

В меню «Файл» выбираю «Сохранить как AVI», указываю имя сохраняемого файла и кодирование начинается. В результате моя запись стала занимать размер всего 120 мегабайт, вместо 330. По моему мнению, качество изменилось в худшую сторону некритично, а экономия места составляет почти 60%. Я уверен, что некоторые не особо придирчивые люди даже не заметят разницу в качестве, а при просмотре на ТВ уж тем более. Теперь можно набирать записей на 700 мегабайт, записывать их на болванку и смело просматривать на телевизоре, при условии наличия плеера с поддержкой MPEG-4. А если такового не имеется, то можно соединить компьютер с ТВ с помощью TV-Out, опять же при условии наличия этого выхода у видеокарты.

Глава 6. Выводы.

На основе полученных результатов, могу отметить следующее: скорость перекодирования (на моем компьютере), используя кодек XviD быстрее в среднем на 5 кадров в секунду. При перекодировании небольших фрагментов видео это незаметно, но если предстоит перекодировать полнометражный фильм, то выигрыш в скорости при использовании кодека XviD будет существенным. Также в XviD’е больше количество настроек связанных с 2-х проходным перекодированием. Размер результирующего файла меньше в процентном соотношении, чем при использовании кодека DivX, а качество лучше, но это уже моё субъективное мнение. Я бы всем советовал пользоваться именно кодеком XviD. Очень удобно, что можно делать захват с высоким битрейтом и на высоких разрешениях на слабых машинах, т.к. присутствует возможность отключения просмотра и звука во время захвата, это сильно снижает нагрузку процессора. Также хочу отметить, что с программой GOTVIEW PRO очень удобно работать. Её функциональность максимальна на сегодняшний день среди подобных программ. Настроек хватит даже самому привередливому пользователю, а также порадовал большой выбор скинов, которые разнообразят внешний вид программы и которые постоянно обновляются.

Обсудить на форуме

@Mail.ru Rambler's Top100