НЕ ПРОПУСТИТЬ ИНТЕРЕСНОЕ

Свежие обсуждения

Sorry. No data so far.

Секреты качественного воспроизведения видео на компьютере. Часть 1: Основные понятия и определения

Здравствуйте уважаемые читатели блога www.ithabits.ru.

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

Тогда ни для кого не секрет, что с компьютерным воспроизведением видеоконтента не всегда все гладко. Слово “гладко” в данном случае имеет именно прямое, а не переносное значение.

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

В зависимости от характеристик воспроизводимого видео неприятные эффекты могут проявляться в большей или меньшей степени.

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

К этой «ленивой» категории граждан до самого недавнего времени относился и ваш покорный слуга.

В немалой степени этому способствовало и то обстоятельство, что долгое время я снимал HDV камерой Canon HV20 и смотрел отснятый материал не с компьютера, а непосредственно с видеокамеры.

Если с самого начала снимать правильно и только то, что нужно, то это вполне реально. Да и, если честно, то просто не хватало времени на монтаж с добавлением титров и музыки. Редактирование видео, как известно, требует ну очень много времени.

Отснятый в одной из недавних поездок фотоаппаратом Nikon 1 J1 видеоматериал, естественно, потребовал компьютерной обработки, но просмотр полученных в конечном итоге фильмов на удивление не сопровождался никакими упомянутыми выше неприятностями.

Ситуация резко изменилась после того, как в моем распоряжении оказалась видеокамера Canon Legria HF R506. Она то, по сути, и явилась главной причиной появления данной публикации. Вернее сказать, не сама видеокамера как таковая. Она как раз в большей или меньшей степени справилась со своей задачей.

Почему “в большей или меньшей степени”? К нашей сегодняшней теме это никакого отношения не имеет, но может быть кому-то информация будет полезной.

Оказалось, что реально эта относительно недорогая камера годится только для съемок при хорошем освещении. Днем на улице или в светлом помещении она показывает себя вполне пристойно.

А вот снимать ей при дефиците света лучше не стоит. Крошечная матрица 1/4,85” в Legria HF R506 шумит как закипающий чайник. Причем шумит она так явно и так нехорошо, что даже считающийся одним из лучших шумодав от Neat Video ничего с ним сделать не может — на выходе результат оказывается еще хуже и взору предстает нечто кипяще- бурлящее серо-буро-малиновое в крапинку.

С просмотром на компьютере видеофайлов, записанных Legria HF R506, неожиданно (на самом деле, как станет ясно из нижеследующего материала, очень даже «ожиданно») возникла серьезная проблема. Он сопровождался настолько сильным дерганьем, подтормаживанием и сползанием части строк на панорамных сценах, что мириться с таким положением вещей оказалось категорически невозможно.

Происходило такое независимо от того, какой софт использовался для проигрывания видеофайлов. То есть, перебор различных популярных видеоплееров, таких как Windows Media, VLC, MPC-HC  и KMPlayer ничего не дал.

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

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

Существует несколько причин дерганого проигрывания видео.

Одной из них может стать недостаточная производительность компьютера, когда он просто не успевает обрабатывать поступающий объем данных и начинает пропускать кадры. Этому может способствовать плохо реализованный алгоритм, как это было, например, в Adobe Flash Player для Linux.

В данном случае файлы проигрывались на компьютере с процессором I7 и внешней видеокартой AMD (ATI) Radeon HD 5770.

Видеокарта далеко не новая и отнюдь не самая быстрая, но можно было предположить, что для беспроблемного, с точки зрения производительности, воспроизведения любого типа видео, включая и 1080Р50/60, ее возможностей должно хватать.

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

Стало быть проблема связана с форматом файлов камеры Legria HF R506. Вернее, опять же, в самих файлах никакой проблемы нет, но графическая подсистема компьютера почему-то не хочет по-умолчанию воспроизводить их правильно.

Legria HF R506 умеет записывать видео в форматах AVCHD и MP4 с частотой 25 и 50 кадров в секунду. Максимальный битрейт (скорость ) потока составляет 35 Мбит в секунду для записи видео 1080Р50 в контейнер MP4.

Давайте разбираться что же было не так.

Сегодня я хочу сказать большое спасибо видеокамере Canon Legria HF R506 за то, что она наконец-то заставила меня разобраться с воспроизведением видео на компьютере и найти способы сделать его если не идеальным, то как минимум правильным. Поверьте, время потраченное на это, того стоило.

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

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

Справка — мультимедиаконтейнеры и кодеки

DirectShow

Начиная с 1997 года основой для работы с мультимедийными данными и аудио/видео устройствами в Windows является фреймворк DirectShow (framework — каркас, структура программной среды).

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

Помимо этого, что чрезвычайно важно, DirectShow предоставляет API (интерфейс программирования приложений) и является расширяемым. Именно это его свойство сделало возможным поддержку самых различных устройств и форматов мультимедийных данных.

Контейнер

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

Некоторые медиаконтейнеры предназначены для сохранения исключительно аудиоданных. К таковым относится широко известный контейнер WAV.

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

Если речь идет о файле, то его расширение, как правило, определяет тип контейнера.

Характерным примером сказанного является один из самых распространенных до недавнего времени контейнер AVI (Audio Video Interleave). Этот контейнер может хранить видео закодированное с помощью самых разнообразных методов и алгоритмов, например DivX, XviD, Huffyuv и др.

То же самое относится к аудеокодекам.

Кодек

Кодек (codec, от coder/decoder — кодировщик/декодировщик) – математический алгоритм кодирования и декодирования видео или аудио данных.

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

Вместе с тем существуют кодеки преобразующие данные без потерь. К таковым относится, например, видеокодек Huffyuv. Их использование целесообразно на стадии захвата и предварительного редактирования медиаконтента, так как при этом не вносятся дополнительные искажения и потери.

Наиболее популярными и наиболее часто используемыми кодеками являются MPEG-2, DivX, Xvid и H.264.

В последние годы H.264 (или AVC, или MPEG-4 Part 10), явившийся дальнейшим развитием MPEG-2, стал фактическим стандартом кодирования видео для всех устройств, осуществляющих запись на карты флеш-памяти.

По сравнению с MPEG-2, который смело можно назвать классическим, при одинаковой скорости видеопотока H.264 позволяет получить более качественную картинку. Соответственно, при одинаковом визуальном качестве видео в случае кодирования с помощью H.264 объем сохраняемых файлов по сравнению с MPEG-2 будет меньше. Собственно, за это и идет борьба.

Нужно иметь в виду, что кодек H.264 коммерческий. Однако существует его открытый аналог – X.264, мало чем уступающий по качеству кодирования своему платному образцу.

Бесплатный X.264 успешно используется в различных программах обработки видео, например в популярном видеоредакторе Avidemux.

Большинство операционных систем имеет в своем составе некоторый набор предустановленных кодеков.

В Windows файлы кодеков имеют расширения .ax и .dll, а модули обработки мультимедийных данных, не только декодеры, принято называть фильтрами.

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

Так, в Windows до сих пор изначально отсутствует предустановленный фильтр MPEG-2, не получится с помощью проигрывателя Windows Media увидеть содержимое файла mkv — контейнер открытого формата Matroska (похоже, что в Windows 10 уже получится, если не уберут поддержку в окончательном релизе) и др.

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

Недостающие для воспроизведения или кодирования медиафайлов фильтры можно установить вручную или, что значительно проще, с помощью популярных в настоящее время пакетных установщиков, таких как K-Lite Codec Pack, CCCP и др.

На мой взгляд инсталлировать тот или иной пакетный набор кодеков стоит только тогда, когда это действительно необходимо. И уж точно не нужно использовать одновременно различные варианты таких сборок. Лучше не станет точно, а вот получить в этом случае неудобоваримую и неуправляемую цепочку фильтров очень даже можно.

Популярные свободные библиотеки аудио/видео фильтров

Со стопроцентной вероятностью распространяемые сегодня пакетные наборы кодеков включают в себя одну, а иногда и не одну, из следующих реализаций свободных, то есть с открытым исходным кодом, библиотек аудио/видео фильтров.

FFmpeg

Название данного проекта образовано от MPEG (Moving Picture Experts Group) и FF (fast forward).

Скорее всего я не сильно ошибусь, если скажу, что FFmpeg, первый выпуск которого состоялся в декабре 2000 года, стал пионером свободных расширений для DirectShow.

FFmpeg является кроссплатформенным, хотя изначально он разрабатывался в Linux и имел тесную связь с проектом MPlayer.

Включает в себя несколько библиотек, основными из которых являются библиотека аудио/видео кодеков libavcodec и мультиплексирования libavformat.

Мультиплексор – программа (или устройство), осуществляющая объединение нескольких потоков (аудио и видео) в один поток или файл.

Сплитер (split — разделять) /демультиплексор – выполняет функции прямо противоположные мультиплексору. При воспроизведении файла (или потока) эта программа (или устройство) осуществляет разделение и вывод аудио и видео в самостоятельные информационные каналы.

При необходимости последние версии сборок FFmpeg можно загрузить с сайта проекта. 

ffdshow

Следующим распространенным и крайне популярным медиадекодером в системе DirectShow является ffdshow. Он основан на библиотеке libavcodec и ряде других открытых (open source) пакетах декодирования.

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

После ухода в 2006 году основателя и главного разработчика — Milan Cutka, проект был продолжен другими разработчиками и переименован в ffdshow-tryouts. Судя по дате последнего обновления сборки ffdshow-tryouts продолжает развиваться.

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


LAV

Еще один очень интересный и активно развивающийся (по крайней мере на момент написания данной статьи) проект, основанный на библиотеках FFmpeg.

Судя по тому, что можно видеть на форуме doom9.org, проект LAV ведется силами всего лишь двух человек.

Не смотря на это в последнее время он приобрел достаточно большую популярность и набор LAV-кодеков стандартно включается в состав многих программных медиаплееров. Примером этому могут служить такие популярные проигрыватели, как Media Player Classic Home Cinema (MPC-HC) и KMPlayer.

Если нет задачи во что бы то ни стало проигрывать абсолютно все медиафайлы с помощью Windows Media Player, то при использовании данных плееров дополнительные кодеки в систему можно и не устанавливать вовсе.

Отличительными особенностями декодера LAV являются: большое количество поддерживаемых аудио и видео форматов, например Dolby TrueHD и DTS-HD, реализованная многопоточность, высокая скорость, качество и стабильность.

При всем этом LAV не может пока полностью заменить ffdshow из-за отсутствия постпроцессинговых фильтров.

Разработчики LAV определенно тяготеют к видеокартам Nvidia. Так, в видеодекодер включена собственная реализация CUDA, которая имеет название CUVID. Описание возможностей и требования к оборудованию можно найти на этой странице.

LAV_Nvidia_cuvid_deinterlacing

В частности реализован полный высококачественный аппаратный деинтерлейсинг. При этом можно как собирать один полный кадр из двух чередующихся полей интерлейсного видео – 25р/30р (Film Mode), так и получать на выходе два полных кадра из двух полей – 50р/60р (Video Mode).

Представляется несколько странным, что деинтерлейсинг реализован исключительно для Nvidia карт.

Более того, могу отметить, что на нескольких моих компьютерах с видеокартами ATI (AMD) после включения в LAV видеодекодере функций аппаратного декодирования DXVA возникали проблемы со скоростью обработки на тяжелых Full HD 50p/60р фильмах. Могу предположить, что это не проблема AMD.

К сожалению, ничего не могу сказать по поводу Intel QuickSync, так как под рукой не оказалось соответствующего компьютера.

Не смотря на отмеченные особенности, декодеры LAV заслуживают самого пристального внимания. Кстати, совершенно не факт, что во всех случаях аппаратное декодирование дает лучшие результаты по сравнению с программным по скорости и качеству картинки.

Лично я прочно перешел на плеер MPC-HC с внутренними LAV кодеками. Он привлек мое внимание давным-давно, еще в бытность ЭЛТ мониторов тем, что умел перебрасывать вывод при переходе в полноэкранный режим на второй монитор (телевизор).

Плеер MPC-HC регулярно обновляется, что в совокупности с другими его достоинствами позволяет чувствовать себя весьма комфортно.

Аппаратное декодирование

Рассмотренные выше варианты декодеров являются программными. Это значит, что для декодирования и обработки видеопотока используются ресурсы центрального процессора компьютера. Вместе с тем, практически все современные видеокарты имеют встроенные возможности декодирования и обработки видео.

Для того, чтобы их задействовать, существуют различные механизмы.

  • DXVA (DirectX Video Acceleration) – разработанный Microsoft как компонент DirectX интерфейс программирования (API), предназначенный для обработки видеопотока, в том числе декодирования и деинтерлейсинга с помощью графического процессора (GPU) видеокарты.

В настоящее время используется реализация DXVA версии 2.0, впервые появившаяся в Windows Vista.

В настройках видеодекодера LAV можно выбрать один из двух вариантов DXVA2native или copy-back. Очень коротко разберем их отличия.

DXVA2 native – декодированное изображение остается в памяти видеокарты вплоть до его вывода (визуализации). В этом варианте декодер DXVA должен быть напрямую подключен к видеорендеру – модулю визуализации. Между ними невозможно включение никакого фильтра, что, естественно, заметно ограничивает возможности дополнительной обработки видеоизображения (постпроцессинга).

DXVA2 copy-back копирует декодированное с помощью GPU видеокарты изображение в обычную память компьютера, что делает возможным любые манипуляции с картинкой до ее передачи видеорендеру и визуализации. В этом смысле работа DXVA2 copy-back очень похожа на работу программного декодера.

! Однако необходимо иметь в виду то обстоятельство, что не все видеокарты умеют одинаково быстро передавать декодированное изображение обратно в память компьютера. В этом случае результатом подобного “ускорения” может явиться заикающееся видео из-за невозможности обработки нужного количества кадров в процессе вывода.

Это к вопросу о том абсолютно ли во всех случаях включение аппаратного ускорения является благом.

  • CUDA (Compute Unified Device Architecture) — архитектура параллельных вычислений, разработанная компанией NVIDIA. Направлена на увеличение вычислительной производительности компьютера за счет использования ресурсов графического процессора (GPU).

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

Впервые архитектура CUDA (версия 1.0) появилась в 2006 году с выходом графического процессора G80 (GeForce 8800GTX и др.).

  • Intel Quick Sync – встроенная в некоторые процессоры компании Intel технология аппаратного ускорения обработки видео.

Впервые была представлена в начале 2011 года в контексте процессорной архитектуры Sandy Bridge.

Особенностью является аппаратная поддержка не только декодирования, но и кодирования видео кодеками MPEG-2, H.264/AVC, VC-1. Современная Quick Sync версии 2.0 поддерживает разрешения вплоть до 4096 х 4096.

Имеются проблемы с использованием Quick Sync при установке на материнскую плату внешней видеокарты, так как в этом случае встроенная графика попросту отключается.

  • OpenCL (Open Computing Language) — открытый язык вычислений.

Еще один вариант организации параллельных вычислений, но в отличие от CUDA, OpenCL – полностью открытый стандарт. Позволяет использовать в вычислительных задачах различные по архитектуре графические процессоры (GPU) разных производителей.

Разрабатывается под эгидой рабочей группы Khronos Group с 2008 года. В консорциум разработчиков входят представители компаний NVIDIA, AMD, Intel, IBM, Motorola и целого ряда других.

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

Интерлейсное видео

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

Интерлейсинг (Interlacing) – чересстрочность. Чаще говорят не об интерлейсном видео как таковом, а о том, как его смотреть на мониторах и телевизорах с прогрессивной разверткой, то есть о деинтерлейсинге.

Интерлейсное видео пришло к нам из эпохи аналогового телевидения с эфирной передачей сигнала. Полоса пропускания радио каналов связи является ограниченной и для получения приемлемого качества было придумано следующее.

Суть интерлейсного видео заключается в том, что в единицу времени передается не полный кадр (frame), а лишь его половина по высоте. Такие полукадры принято называть полями (field). Одно поле, которое носит название “верхнее” (Top), содержит лишь нечетные строки (1, 3, 5…), другое, “нижнее” (Bottom), только четные (2, 4, 6…). Разные поля следуют строго друг за другом, причем в зависимости от формата первым может идти как нечетное , так и четное.

Приемное устройство, а изначально это был телевизор с электронно-лучевой трубкой, отлично справлялось, и справляется до сих пор, с обработкой и визуализацией видеопотока в таком формате.

Луч ЭЛТ через равные промежутки времени (1/50 секунды в PAL/SECAM и 1/59,94 в NTSC) прорисовывает вначале все четные 288 (576/2) строк (в NTSC вначале нечетные, а строк 240 (480/2) информацией из соответствующих видео полей.

С учетом послесвечения экрана ЭЛТ и особенностей человеческого восприятия, в результате получается полный по высоте кадр, информация в котором обновляется 50 (или 59,94) раз в секунду.

А вот при выводе чересстрочного видео на монитор или телевизор с прогрессивной разверткой, естественно, возникли проблемы.

interlacing_video

В силу того, что соседние поля содержат информацию со сдвигом по времени на 0,02 секунды для PAL, или округленно на 0,017 для NTSC, их одновременный вывод даст для движущихся объектов картинку, аналогичную представленной на левой части рисунка. Такой эффект обычно называют “расческой” или “гребенкой”.

В настоящее время придумано большое количество математических методов борьбы с этим неприятным эффектом. Именно они и называются деинтерлейсингом.

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

Представленная выше картинка была взята со страницы, датированной 2005-м годом и посвященной технологиям Avivo в видеокартах ATI Radeon. На ней, в том числе, говорится о том, что ATI (теперь AMD) использует в своих графических чипах продвинутую векторно-адаптивную (vector adaptive) технологию деинтерлейсинга.

Эта технология использует данные полей для медленных и статических изображений и векторную интерполяцию для динамических объектов. Согласно заявлениям ATI применяемая ей векторно-адаптивная технология позволяет получить изображение высокого качества даже в таких “тяжелых” случаях, когда картинка содержит большое количество диагональных линий с малыми углами наклона.

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

И это действительно так. Видеокарты уже давно научились делать это очень хорошо. В отношении Nvidia мы уже упоминали об этом выше, когда говорили о CUDA, а вернее о CUVID в декодере LAV.

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

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

Такое приключилось в моей практике совсем недавно при воспроизведении видеофайлов, записанных фотокамерой Nikon 1 J1 в контейнер Quick Time (.mov). Видеопроигрыватели либо не желали делать деинтерлейсинг вовсе, либо путали порядок полей. Выглядело это ужасно – два шага вперед, шаг назад. Правильное воспроизведение удалось получить только в медиаплеере MPC-HC благодаря тому, что в настройках LAV видеодекодера можно принудительно включить деинтерлейсинг и задать порядок полей.

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

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

Сегодня можно часто услышать мнение, что интерлейсное видео является устаревшим и отжившим свой век форматом. Категорически не готов с этим согласиться.

Стандартный телевизионный поток до сих пор передается в виде чересстрочных полей, однако зрители не испытывают по этому поводу никакого дискомфорта. А попросту говоря, основная их масса об этом даже и не задумывалась. Абсолютно все современные телевизоры, а не только ЭЛТ, отлично справляются с обработкой и отображением интерлейсного видео.

Львиная доля всех моих видеозаписей за много лет, начиная с первой DV камеры Sony, были сделаны в интерлейсном формате. Сегодня я смотрю их с большим удовольствием и так же не испытываю абсолютно никакого дискомфорта.

Более того, когда в 2008 году у меня появилась Canon HV20, то поначалу я по незнанию купился на впервые появившийся тогда режим 25p. Это было большой ошибкой, так как 25 кадров в секунду для съемки с рук оказались малопригодны. В режиме 25p любые сюжеты, снятые с движением камеры вокруг оси оператора, даже и неактивным, выглядели при просмотре крайне неприятно из-за сильного строба.

Благо я вовремя это заметил и быстро перешел на 25i. 50 кадров с секунду, полученные из 50 полей, смотрятся замечательно.

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

Для того, чтобы закончить тему интерлейсного видео, хочу отметить, что большинство современных видеозаписывающих устройств до сих пор имеют в перечне режимов съемки интерлейсные. Объясняется это очень просто. Если интерлейсинг был когда-то придуман для экономии полосы радиотракта, то сегодня он с успехом используется для экономии битрейта (скорости потока) и процессорных ресурсов.

Напоследок еще маленькая информация к размышлению. Вернемся к нашей сегодняшней виновнице — камере Canon Legria HF R506. Самым “крутым” режимом записи у нее считается MP4 1080p50 с битрейтом 35 Мбит/с. Однако в перечне режимов AVCHD есть 1080i50, 24 Мбит/с.

Я так и не разобрался как на самом деле нужно правильно маркировать интерлейсное видео. Одни пишут 25i, другие — 50i. На самом деле подразумевается одно и тоже.

Казалось бы тут все очевидно. Однако, посмотрим сколько бит приходится на один пиксель в первом и втором вариантах. Получается 0,333 в MP4 1080p50 против 0,429 в AVCHD 1080i50.

А теперь сделаем при выводе качественный деинтерлейсинг с удвоением, то есть получим из 50 полей в секунду 50 полноценных кадров и вновь зададимся вопросом, а какой же режим съемки лучше с точки зрения качества.

Добавим к этому то, что в режиме 1080i50 24 Мбит/с при одинаковом времени съемки на карте памяти будет занято в полтора раза меньше места.

Выводы делайте сами. Выбор за вами.

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

Возможные причины неплавного воспроизведения видеофайлов на компьютере

Возвращаемся к видеокамере Legria HF R506. Напомню, что выше мы уже определили две возможные причины:

  • Недостаточное быстродействие компьютера или его графической подсистемы;
  • Неправильный порядок полей интерлейсного видео при воспроизведении.

Однако, как мы уже выяснили, в моем случае ни первая, ни вторая причина не являлись актуальными.

Legria HF R506 кодирует видео кодеком H.264. Может быть причина дерганого воспроизведения в нем? Но как тогда объяснить, что видео с фотоаппарата Nikon 1, которое закодировано этим же кодеком, воспроизводится на том же самом компьютере абсолютно гладко?

Все оказалось очень просто и кодек тут ни при чем. Ну или почти ни при чем. Если при одинаковых условиях сравнить характер воспроизведения видеофайлов с Canon HV20 (MPER-2) и Legria HF R506, то можно предположить, что некую свою лепту он все же внес.

Ищем разницу. Legria HF R506 работает в телевизионной системе PAL с частотой 50 fps, Nikon 1 в NTSC с частотой 60 (59,94) fps. Стандартная частота обновления экрана современных мониторов, правильно, 60 fps. Вот поэтому с воспроизведением видео в формате NTSC, в отличие от PAL, никаких проблем и не наблюдалось.

В данном случае главной причиной дерганного воспроизведения явилось:

  • Несовпадение частоты кадров воспроизводимого на компьютере видео и частоты обновления экрана устройства вывода: монитора, телевизора или проектора.

Для того, чтобы убедиться в том, что это так, необходимо согласовать частоту обновления монитора с частотой кадров воспроизводимого видео. На практике это означает, что их нужно сделать равными или кратными. Непосредственно этим мы и займемся.

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

Не пропустите и подпишитесь на обновления блога. Будет интересно, а главное очень полезно.

Написать комментарий

Subscribe without commenting