Pull to refresh

Проекту FFmpeg исполнилось 20 лет

Reading time 2 min
Views 4.5K
Open source *Working with video *History of IT Sound


20 декабря этого года проекту FFmpeg исполнилось 20 лет. Первый коммит для набора свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио- и видеозаписи в различных форматах, был написан автором проекта Фабрисом Белларом (Fabrice Bellard) 20 декабря 2000 года.
Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Comments 9

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

Reading time 2 min
Views 3.9K
Information Security *Working with video *Machine learning *Artificial Intelligence

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

Читать далее
Total votes 18: ↑17 and ↓1 +16
Comments 12

Получение скриншотов и информации с видео

Reading time 2 min
Views 4.2K
Lumber room
В этой заметке я рассказываю, как сделать скриншот с видео, а так же о том, как получить информацию о видео файле.

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

Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 7

flash-видео на веб-страницах и PHP

Reading time 8 min
Views 5.6K
Working with video *
Эта статья — перепечатка статьи от 16 ноября 2007 г. с моего блога, ссылку на который можно найти в моем же профайле — но, поскольку так уж вышло, что тема эта, кажется, до сих пор многим интересна, к тому же не так давно я читал на эту тему доклад на конференции PHPConf… в общем — судите сами.

Вступление


В последнее время все большее распространение получает технология трансляции видео через веб – без необходимости скачивать медиа-контент на машину пользователя, с просмотром прямо из браузера. Таким образом можно просматривать довольно большое количество различных форматов видео, однако, это требует наличия определенных плагинов на стороне пользователя. Очевидно, самым распространенным подобным плагином является flash-player (ну хорошо, хорошо: если быть точным, то он, конечно же, не может сам по себе проигрывать видео – но позволяет легко создать приложение, способное воспроизводить видео-контент). Яркий пример такого подхода – youtube.com. Попытаюсь рассказать о том, как самостоятельно организовать трансляции флэш-видео на своей веб-странице и какие существуют подходы к этой проблеме.

Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 20

Воспроизведение 3GP «для чайников»

Reading time 1 min
Views 5.5K
Configuring Linux *
По умолчанию, в дистрибутиве Ubuntu Linux нет возможности просмотреть файл 3gp со звуком.

Например, MPlayer проигрывает формат 3gp, но без звука, выдавая лишь предупреждение: «Cannot find codec for audio format 0x726D6173».

Проблема в библиотеках AMR. Опытные пользователи знают, что поиск в Google по ключевым словам «ubuntu+3gp+sound» даст ссылки на решения, опубликованные на Ubuntu Forums, суть которых заключается в пересборке FFmpeg и проигрывателя MPlayer с поддержкой AMR.

Однако, есть более простой способ.
Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Comments 20

Обработка пользовательких видео

Reading time 3 min
Views 4.3K
Open source *
Некоторое время я занимался (и занимаюсь до сих пор) веб-проектом, где необходимо было добавить фичу для загрузки пользовательских видео-роликов. Собственно, какие могут быть пользовательские видео? Очень разного качества и разнообразных форматов. Начиная от обычных flash файлов, которые представляют наименьшую проблему, до различных записей с телефонов. Встала задача — сделать демона, который бы занимался обработкой очереди загруженных файлов и выполнял следующие функции:
— Конвертирование видео в flash формат (FLV), ипользуя VP6 кодек
— Обновление метаинформации видеофайла
— Создание thumbnails из видео
— Дальнейшии манипуляции с БД

Конкретно в этой статье я рассмотрю варианты обработки уже сконвертированного в формат flash видео-ролика. Итак приступим.
Читать дальше →
Total votes 78: ↑74 and ↓4 +70
Comments 33

HP Jornada 690

Reading time 3 min
Views 3.6K
Old hardware
Вдохновленных статями про Toshiba Libretto 50ct, решил завести себе что-нибудь такое мелкое, дешевое, долгоиграющее и с Linux. В итоге выбор пал на HP Jornada 690:
  • Процессор: Hitachi 7709 (SH3) 133 МГц
  • Экран: Цветной TFT (на самом деле больше на STN похож) 640 x 240 точек 64k цветов
  • Батареи, питание: Lithium-Ion аккумулятор, примерно 8 ч. работы (аккумулятор старенький, так что часа 4...5 держит)
  • Слоты расширения: PC Card Type II (16 бит), CompactFlash Type I
  • Коммуникации: IrDA, COM-порт (нет шнурка), модем

Читать дальше →
Total votes 30: ↑28 and ↓2 +26
Comments 68

Декодирование/нарезка/кодирование аудиофайлов

Reading time 3 min
Views 5.3K
Website development *
публикуется по просьбе замечательного юзернэйма catdog

Предыстория:

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

И все бы хорошо, но когда у тебя средняя длинна трэка 6 минут, то волей неволей задумываешься как бы сделать нарезку, сократив тем самым размер превьюшек на жестком диске и облегчив задачу в прослушивании материала пользователю. Когда-то давно для этого я использовал набор утилиток POC, они работали только с mp3 и умели быстро считать длинну, резать/склеивать по времени. Тогда я быстренько написал враппер вокруг этого безобразия и на какое-то время забыл об этом.

Однако пришли новые времена и народ начала закачивать музыку во flac-е, monkey audio и других lossless форматах. Да и сам mp3 со временем видоизменился и в него частенько начали добавлять альбомные картинки, что стало большой проблемой и причиной частых сегфолтов POC.

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

А теперь о том что получилось:

Читать дальше →
Total votes 28: ↑26 and ↓2 +24
Comments 19

Потоковое видео средствами ffserver & ffmpeg

Reading time 2 min
Views 141K
Configuring Linux *

Для организации трансляции нам потребуется:


  • Linux
  • FFmpeg (включает в себя ffserver)

Теория


FFmpeg — это набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровое аудио и видео в различных форматах. Он включает libavcodec, библиотеку кодирования и декодирования аудио и видео и libavformat, библиотеку мультиплексирования и демультиплексирования в медиаконтейнер. Название происходит от названия экспертной группы MPEG и «FF», означающего «fast forward».

© Wikipedia

ffserver идёт в комплекте с ffmpeg и выполняет роль медиа-сервера — получает видеопоток от ffmpeg, который может быть запущен на другой машине, и раздаёт его счастливым пользователям.
Каждый получаемый поток называется Feed’ом (далее будет просто фид). Таких потоков может быть несколько, так же как и отдаваемых (выходных).
FFmpeg у нас будет захватывать видео с веб-камеры или читать из файла.
Читать дальше →
Total votes 49: ↑41 and ↓8 +33
Comments 34

Fake'аем Chatroulette в Linux — гибче, чем в Windows

Reading time 11 min
Views 8.7K
Configuring Linux *
Все вы знаете о сервисах, подобных CR, которых в интернете нынче развелось достаточно. Основное поведение пользователей этих сервисов, мягко говоря, удручает. Нет, конечно, оно очень выгодно производителям клавиатур и мышек, которые разрушаются от активного кликания/нажимания кнопочки next, но, imho, любому нормальному homo sapiens оно должно взрывать мозг и вызывать творческий зуд в нём и руках, требующий действий по разрушению тотальной симметрии и однообразия в поведении смотропоказывающихся. Кроме того, это ж целых 76800 пикселей рекламной площади. В общем, надо что-то с этим делать. И в этом тексте рассказ о том, с чего можно эти дела (дела, направленные на запуск произвольных видеопотоков в чатрулетки) в Linux начать. Кроме этого из него вы узнаете: (1) как можно использовать dd для буферизации, (2) как при помощи ffmpeg grab'ить произвольную область экрана или видео-изображения, (3) об отличиях vloopback и avld, (4) о эффекте от закрепления процессов за разными нитями на Atom, (5) о использовании Xvfb для видео-монтажа, (6) об одном социальном эксперименте, (7) ну, и ещё что-нибудь да узнаете.

Читать дальше →
Total votes 66: ↑50 and ↓16 +34
Comments 26

Новая версия FFmpeg — ещё один шаг на пути к HTML5 видео

Reading time 1 min
Views 2.4K
Open source *
FFmpeg

Буквально вчера вышла в свет новая версия набора свободных библиотек для работы с множеством различных медиаформатов — FFmpeg за скромной версией 0 точка 6.

Разработчики немного затянули с выпуском(больше года, предыдущая версия датируется мартом 2009-го), но этот факт меркнет перед списком улучшений этой версии — они просто коллосальны.

Если в кратце, то цель главная цель — улучшение поддержки HTML5 видео, на что указывает ненавязчивое название релиза — «Works with HTML5».
Читать дальше →
Total votes 78: ↑75 and ↓3 +72
Comments 25

Представляем самый быстрый декодер VP8 в мире: ffvp8

Reading time 7 min
Views 4.9K
Working with video *
Translation
Ещё в тот момент, когда я писал первоначальный обзор VP8, я обратил внимание на то, что официальный декодер, libvpx, весьма медленный. Нет особенных причин, по которым он должен быть ощутимо быстрее хорошего декодера H.264, но и таким медленным ему тоже быть не с чего! Так что у меня возник план написать луший вариант для FFmpeg вместе с Рональдом Балтьи (Ronald Bultje) и Дэвидом Конрадом (David Conrad). Эта реализация декодера должна была разрабатываться сообществом и быть свободной с самого начала, в отличии от свалки проприетарного кода, которую представла собой библиотека libvpx. Несколько недель назад декодер был достаточно завершен для обеспечения бинарной совместимости видеопотока с libvpx, что сделало его первой независимой и свободной реализацией декодера VP8. Теперь, когда мы завершили первый цикл оптимизаций, он должен был готов к использованию в реальных условиях. Я расскажу о деталях процесса разработки позже, а сейчас давайте перейдем к самой соли этого поста: результатам сравнительного тестирования производительности кодеков.
Читать дальше →
Total votes 63: ↑58 and ↓5 +53
Comments 38

FVD Suite — Качает Всё! Ну или почти всё…

Reading time 2 min
Views 15K
Nimbus Web corporate blog
Дорогие Друзья!
Рады вас приветствовать на нашем блоге, который мы надеемся займет достойное место на хабракарте.

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

FVD Suite это возможность скачивать Ваше любимое видео и кодировать в нужный формат в несколько кликов мышью.

image

Читать дальше →
Total votes 52: ↑35 and ↓17 +18
Comments 42

UnLogo, или как избежать маркетинга

Reading time 2 min
Views 1.1K
Algorithms *
Хочется представить хабрасообществу интересный проект, который, пока что не освещался на хабре.

UnLogo

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

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

Видео под катом.

Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Comments 5

Кодирование видео в реальном времени во время загрузки

Reading time 1 min
Views 4.1K
Working with video *
Сервис Transloadit.com запустил новую фичу: обработка видеофайла кодеком ffmpeg в процессе его загрузки на сайт. Серверы Transloadit обеспечивают скорость кодирования выше, чем скорость аплоада у большинства пользователей. Таким образом, теперь практически устраняется задержка между загрузкой и публикацией видеоролика.

Фича realtime-кодирования в некоторых случаях увеличивает «скорость кодирования» (то есть время между окончанием загрузки файла и окончанием кодирования) в 150 раз. Как это работает, показано на видео под катом или можно проверить самому в демо-секции на сайте Transloadit.com.

Задержка кодирования — очень неприятная штука. Например, на Youtube она раздражает очень многих пользователей. Хорошо, если ребята опыт коллег с Transloadit переймут разработчики других видеохостингов.
Читать дальше →
Total votes 41: ↑38 and ↓3 +35
Comments 32

Видеохостинг своими руками

Reading time 6 min
Views 64K
Working with video *
Эта статья о некоторых технических аспектах реализации бесплатного сервиса для загрузки, хранения и просмотра видео. Будут рассмотрены вопросы настройки серверного программного обеспечения, даны примеры команд для конвертации видео и примеры кода на языке PHP.
Читать дальше →
Total votes 126: ↑126 and ↓0 +126
Comments 108

Файл⇨строка или активность работы над файлом

Reading time 19 min
Views 2.1K
Version control systems *
Большинство разработчиков знакома с таким продуктом, как визуализатор code_swarm (на google code). Как минимум каждый третий наверняка выгружал для него лог и создавал видео, которое визуализирует процесс разработки приложения, в котором видно активность программистов. Ну и конечно каждый второй видел видео подобного рода. Практически все эти видео делались на срезе отношения программист⇨файл.
В этой статье будет описан процесс формирования лога в срезе отношения файл⇨строка, то есть с генерированное видео будет демонстрировать активность работы над файлом.

Кому это интересно под прошу под кат.
В статье будет использованы:
  • Git — VCS
  • code_swarm — визуализатор истории репозиториев.
  • gource — визуализатор истории репозиториев.
  • Эмулятор среды linux в Windows или UNIX OS (с git уже идет для win эмулятор msysgit)
  • MEncoder — свободный кодировщик видео
  • ffmpeg — программа для конвертации видео с использованием различных кодеков.
Далее...
Total votes 44: ↑42 and ↓2 +40
Comments 12

Webm и Android

Reading time 1 min
Views 7.9K
Working with video *
Translation
На днях получил комментарий от Google по поводу того как кодировать Webm для Android и планируется ли делать какие-либо presets, чтобы видео игралось наверняка.

Вот что я получил в ответ:

Большинство текущих декодеров в Android реализованы программно и поэтому не справятся с воспроизведением HD видео.

Мы рекомендуем использовать обычный 360p preset, распространяемый с нашими патчами для ffmpeg.

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


Что за патчи имеют ввиду разработчики?

Так как в текущей реализации ffmpeg поддерживаются не все возможности libvpx, команда webm выкладывает патчи, добавляющие presets и полноценную поддержку библиотеки (маппинги команд кодировщика).

Последнюю версию патчей можно взять отсюда: http://code.google.com/p/webm/downloads/list

360p пресет, о котором шла речь выше, используется через параметр -vpre

ffmpeg -i "$inputFileName" -s 640x360 -vpre libvpx-360p -b 500k -acodec libvorbis -aq 2 -ac 2 -ar 44100 -f webm -threads 12 -y "$finalName"
Total votes 31: ↑24 and ↓7 +17
Comments 0

Фабрис Беллар: портрет сверхпродуктивного программиста

Reading time 3 min
Views 15K
IT career Biography of geeks
Как в компьютерной индустрии есть обычные ПК и суперкомпьютеры, также и среди разработчиков выделяются эдакие гиганты, обладающие сверхсилой. Как ещё можно назвать человека, чей список проектов выглядит так:

1989: LZEXE
1996: Harissa
1997: Публикация формулы Беллара для вычисления разрядов числа Пи
1999: Linmodem
2000: Вычисление самого большого известного простого числа (исходный код всего 438 байт)
2000: FFmpeg
2001: Компилятор TCC (Tiny C Compiler или TinyCC)
2002: TinyGL
2002: QEmacs
2003: QEMU
2004: Загрузчик TinyCC
2005: Передатчик сигнала в формате DVB-T с компьютера на телевизор
2009: Мировой рекорд по вычислению числа Пи
2011: Эмулятор компьютера с Linux на JavaScript

Каждая из этих программ могла бы стать венцом карьеры для любого разработчика, но Фабрис Беллар продолжает работать.
Читать дальше →
Total votes 188: ↑176 and ↓12 +164
Comments 52