войти зарегистрироваться

Работа с видеоHD-видео на компьютере: CPU, DXVA, Hi10P, плееры

     

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

Т.к. речь идет о HD-видео, то потребуется высокая производительность декодера. Например, если декодериуем на CPU, то на потоках 30-35 MBps на Intel Core2 Duo E8500 3.2 GHz уже начинают выпадать кадры. Процессор довольно быстрый, разница в производительности по сравнению с ядром Sandy Bridge на той-же частоте будет порядка 20%. Качественно пережатый full-HD фильм может создать проблемы, не говоря уж об оригинальных потоках с Blu-ray, там поток может достигать 45 MBps. Обладатели ноутбуков обычно имеют процессоры послабее, да и настольные системы не у всех с мощными CPU. Еще один случай, где CPU становится узким местом – это deinterlacing. Deintrlacing необходим при просмотре потоков спутниковых HD каналов, потоки там с разумным bitrate (обычно 10-15 MBps), но программный deintarlace съедает все остатки ресурсов. Причем качественный deinterlace, без замыливания и с сохранением fps, тяжелы для CPU. Единственный выход – использовать аппаратное декодирование, которое предлагают современные GPU. Про видео со спутниковых каналов следует отметить, что они бывают частично поврежденными, т.к. прием не всегда идеален, поэтому важно, чтобы плеер стабильно переваривал такие “срывы” потока.

Блог компании IntelИстория развития форматов видеосжатия

Далёкий 1988й год был полон удивительных событий. В этом году увидел свет 4й альбом группы Metallica «...And justice for all», а СССР запустил в свой первый и единственный полёт многоразовый космический корабль «Буран». В этом же году началась история видеосжатия – появился самый первый стандарт видео-кодека.
Самые известные стандарты видеосжатия появились благодаря двум конторам: VCEG и MPEG. Нельзя назвать их конкурентами: некоторые стандарты были выпущены комитетами поодиночке, некоторые стали плодом их запретной любви коллективной работы в составе объединённых групп. По иронии судьбы именно эти «совместные» форматы и получили наибольшее распространение.

1988 год – H.261


352x288 - предел мечтаний в 1988 годуИтак, 1988 год. H.261 стал первым полноценным форматом видеосжатия, получившим широкое распространение. Это был «классический» стандарт, работающий в цветовом пространстве YCbCr, базирующийся на дискретном косинусном преобразовании блоков и сжатии Хаффмана. Поднимите руку те, кто слышал о нём? А ведь именно в этом стандарте впервые появились такие понятия, как макро-блок, целопиксельный вектор движения и де-блокинг (или пост-процессинг). А еще именно тогда, 23 года назад, появилась концепция опорных кадров. H.261 предусматривал кадры 2х типов: I(ntra) – полностью независмый кадр, и P(redicted) – кадр, зависимый от предыдущего. Максимальное разрешение CIF (пример приведён слева), поддерживаемое H.261, сейчас не впечатлит даже любителей смотреть видео на телефоне. И тем не менее, для своего времени это был очень прогрессивный, весьма «продвинутый» стандарт. Все последующие стандарты видеосжатия базируются на идеях, берущих свое начало в H.261, и де-факто являются результатом его эволюционного развития.

YouTubeУлучшения в HTML5-плеере Youtube

Google продолжать совершенствовать HTML5-видеоплеер, который должен повсеместно заменить флэш-плеер на сайте Youtube. Пока что версия HTML5 работает не под всеми браузерами, отображает только видео, закодированное h.264 или WebM, и есть ряд других ограничений — например, не поддерживается показ рекламы. Однако, возможности плеера постепенно дополняются: вот список того, что сделано за последнее время:
  • качество 480p и 1080p для видео WebM;
  • поддержка полноэкранного режима (работает только в Firefox Nightly и последней версии Chrome для разработчиков;
  • контекстное меню с опцией копирования URL и кода для вставки;

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

JavaScriptH.264 декодер на JavaScript

Прежде чем отправить публикацию, крепко задумался, какой блог выбрать: JavaScript или Ненормальное программирование. Так или иначе круг задач, которые можно решить на детище Нетскейпа расширяется с каждым днем.

Так например разработчики из команды Mozilla смеха ради сделали H.264 декодер на JavaScript. Любопытно, что скрипт при этом не был написан вручную.

DIY или Сделай СамКак я видео делал

В главных ролях: WingMan RumblePad от Logitech и руки от плечей.
Роль второго плана: лист ватмана.
Свет: люминесцентная лампа.
Камера: Neodrive (CMOS PC Camera)
Мотор:
ffmpeg -f vfwcap -vcodec copy -i 0 video.avi
ffmpeg -i video.avi -vf scale=1024:768 video.mp4

Снято!

Звуковая дорожка: Drifta - Karma

HTML5Готовим HTML5 видео в VLC и подаём с помощью jPlayer

Тег HTML5 video, уже поддерживается всеми основными браузерами.

imageКак видно из таблицы, текущие версии Firefox, Chrome и Opera поддерживают продвигаемый Google открытый WebM, а Safari (включая IOS версию) и IE проприетарный H.264, для остальных же браузеров можно использовать flash плеер, который умеет проигрывать тот же H.264, и таким образом для кроссбраузерности будет достаточно перекодировать видео в эти 2 формата.

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

БраузерыMicrosoft выпускает плагин с поддержкой H.264 для Google Chrome

Информация о том, что Google отказывается от поддержки H.264 вызвала на хабрахабре бурную реакцию. Что ж, история продолжается: империя наносит ответный удар! В догогку плагину для Firefox, Microsoft выпускают и расширение для Chrome. Они мотивируют свои действия желанием «предоставить пользователям windows возможность наслаждаться всем контентом, который можно найти в Интернете, в том числе и видео в H.264». Установить расширение можно по этой ссылке. Я попробовал, полёт, вроде как, нормальный. Нагрузка на процессор в разумных пределах, ощущения в общем и целом положительные. Под катом пара скриншотов.

GoogleПодробнее об изменении HTML-видеокодека в Chrome

Недавнее объявление об изменениях в HTML-поддержке видеокодеков в Chrome вызвало бурные дискуссии. Будущее интернет-видео — важная тема, мы приветствуем эти споры, и хотим высказаться по нескольким из поднятых вопросов.

GoogleОткрытое письмо Президента Империи Google мировому сообществу

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

Работа с видеоМиф о бесплатности H.264

image
Интернет сегодня пестрит заголовками «MPEG LA заявила, что стандарт H.264 будет бесплатным». (Недавно эта новость обсуждалась и на Хабре). Было бы здорово, если бы они соответствовали истине, но, к сожалению, очень многое не совсем так.