Работа с видео

индекс
131,59

Видеоплеер на базе ffmpeg

Привет, Хабр!

В этой статье речь пойдет о разработке простейшего плеера с использованием библиотек из проекта FFmpeg.
Я не нашел на хабре статей на данную тематику, поэтому решил восполнить этот пробел.
Декодирование видео будет осуществляться с помощью библиотек FFmpeg, отображение — с помощью SDL.

+35
8 февраля 2012, 03:00
119

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. Про видео со спутниковых каналов следует отметить, что они бывают частично поврежденными, т.к. прием не всегда идеален, поэтому важно, чтобы плеер стабильно переваривал такие “срывы” потока.
+37
23 января 2012, 01:27
203

Проблема TV/PC диапазонов видео из песочницы

postimage

Привет, хабр!

Хочу поведать о своём недавно проведённом исследовании, в котором я изучил проблему несоответствия TV/PC диапазонов при сжатии/воспроизведении видео. Проблема эта довольно мелочная, но в то же время достаточно массовая, из-за неё я частенько раньше винил кодеки сжатия в изменении цветов.
+47
16 января 2012, 13:19
48

Рендеринг замедленной съёмки на основе отдельных кадров

Теперь нам не нужна высокоскоростная камера, чтобы делать замедленную съёмку. Швейцарский программист и дизайнер Саймон Югстер (Simon A. Eugster) выпустил замечательный видеоредактор slowmoVideo для рендеринга замедленной съёмки (slow motion) на основе отдельных кадров. Можно использовать slow motion как художественный эффект — чтобы подчеркнуть какой-то момент на видео. Или можно генерировать целые видеоролики на основе ограниченного количества кадров. Например, вы даёте на входе 24 кадра, а программа генерирует 240.



репозиторий git

Инструкция по установке необходимых библиотек и компиляции здесь. К сожалению, программа работает только на картах nVidia из-за использования библиотеки V3D (GPU-KLT+FLOW).

+71
17 декабря 2011, 15:28
297

Сборка ffmpeg на CentOS 6.0 x64 для Web видео mp4, webm, ogv из песочницы

Работая с одним проектом, столкнулся с необходимостью заливки видео на сервер (качественные ролики длительностью 2-3 минуты) с последующей репликаций их на S3 & дистрибьюцией через CouldFront. На хостинге стоит Centos 6.0 x64. ffmpeg который в дополнительных репозиториях к сожалению лохматой версии 6.1 и не включает в себя vp8 и иже с ним. Поэтому пришлось заниматься собственноручной сборкой. К сожалению пошарив по инету толкового гайда не нашел, поэтому почитав в округе на данную тему откатал для себя гайд на VirtualBox. Буду рад если кому-то пригодится. Библиотеки были выбраны последние на момент начала ноября.
+11
13 ноября 2011, 15:57
44

FFMPEG. Перегнать видео в формат мобильного телефона. Соблюдение пропорций. Операнд PAD

Необходимо перегнать фильм из MKV с размерами 1280 x 536 в размер мобильного телефона с размерами 320 х 240 и сохранить пропорции. В формат mp4 с аудио в ac3
У меня такой способ расчёта пропорций (самый стандартный – математический ):

+6
29 сентября 2011, 22:16
31

CUDA в Adobe Premiere CS5: оправдано ли использование бюджетной видеокарты?

Adobe Premiere CS5 и CS5.5 позволяет использовать технологию nVidia CUDA для аппаратного ускорения просчета видеоэффектов. Однако официальный список совместимых видеокарт, обеспечивающих поддержку данной функциональности, довольно короток и ограничивается моделями верхнего ценового диапазона.

Наряду с этим, широко известен хак, позволяющий включить поддержку аппаратного ускорения на гораздо более дешевых решениях. Впрочем, «хаком» назвать этот финт можно с большой натяжкой — «взлом» Premiere сводится к вписыванию названия вашей видеокарты в текстовый файл, лежащий в корне программы. «Дырка» сделана настолько дружелюбной для пользователя, что вызывает непроизвольный вопрос, не специально ли она оставлена?

Под катом мои впечатления от работы в Adobe Premiere CS5 с видеокартой среднего ценового диапазона и некоторые эмпирические выводы.

+61
19 сентября 2011, 21:12
24

Кодирование видео для веб-проектов из песочницы

image
Доброго времени суток.
Многим web-программистам рано или поздно нужно работать с видео. Такая задача возникла и у меня.
В Интернете есть много статей на форумах и блогах, как на русскоязычных, так и на зарубежных сайтах. Но, проделавши, так же как и предлагалось в инструкциях — результата ожидаемого не дало. Что и послужило поводом для этой статьи. Думаю, она поможет таким же как и я многим начинающим.
+57
7 сентября 2011, 11:12
213

Монтаж четвертушками из песочницы

Я прилично времени провожу в поездках. Ноутбук всегда с собой, но творчески работать удается не всегда. А вот заниматься монтажом оказывается самое то. В монтаже больше всего времени отнимает просмотр материала и проработка стыков сцен. Особенно это касается «сырого», «стихийного» материала. Когда много дублей, в дублях много брака и приходиться сшивать ролик буквально единственно возможным образом.

Вот незадача: мой ноутбук ASUS UL30A, не тащит хайресное видео в любимом Sony Vegas'e, при работе от батарей. Я молчу о FullHD.

Небольшой, но полезный трюк под катом.
+27
17 августа 2011, 16:13
24

Совместим несовместимое? Вейвлеты и компенсация движения из песочницы

Здравствуйте, уважаемые хаброчане! Сегодня я расскажу вам о том, как совмещаются две, казалось бы, несовместимые технологии: технология вейвлет-преобразования изображений и технология компенсации движения. Конечно, сразу возникает вопрос, зачем это нужно? На него несложно ответить. Крупным недостатком всех систем сжатия видео на основе вейвлетов является межкадровая избыточность, благодаря которой видео «распухает» порой в полтора раза. Этот недостаток существенен и для простых преобразований, и для коммерциализированного MJPEG-2000, который звали предвестником новой эры вейвлет-видео и вообще мессией цифрового мира. Итак, именно для избавления от межкадровой избыточности мы введем в схему компенсацию движения. Это позволит в разы сократить информационный поток в не очень насыщенных движением сценах, таких, как пустой по причине темного времени суток склад компьютеров, или дальний зал Лувра, до которого доходит далеко не каждый турист. Отвечу и на второй вопрос: почему вейвлет, а не ДКП? Вейвлет позволяет достигать значительно лучших результатов при высоких степенях сжатия видео. Говоря простым языком, человека куда проще узнать на кадре, обработанном при помощи вейвлетов.

image

+4
16 августа 2011, 11:20
5