Организация on-line трансляции на сайте FFmpeg HLS Nginx

ffmpeg

Организация on-line трансляции на сайте FFmpeg HLS Nginx

Пример организации on-line трансляции на сайте из потоков multicast средствами ffmpeg и nginx на ubuntu server разных версий. Процесс установки и настройки не так уж сложен, это как туры во францию все просто. Для начала немного теории:

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

HLS (HTTP Live Streaming) — коммуникационный протокол для потоковой передачи медиа на основе HTTP, разработанный компанией Apple как часть программного обеспечения QuickTime, Safari, OS X и iOS. В основе работы лежит принцип разбиения цельного потока на небольшие фрагменты, последовательно скачиваемые по HTTP. Поток непрерывен и теоретически может быть бесконечным. В начале сессии скачивается плей-лист в формате M3U, содержащий метаданные об имеющихся вложенных потоках.

nginx (англ. engine x) (по-русски произносится как э́нжин-э́кс или э́нжин-и́кс) — веб-сервер и почтовый прокси-сервер, работающий на Unix-подобных операционных системах (тестировалась сборка и работа на FreeBSD, OpenBSD, Linux, Solaris, Mac OS X, AIX и HP-UX).

Потоковое мультимедиа (от. англ. streaming media) — это мультимедиа, которое непрерывно получается пользователем от провайдера потокового вещания. Это понятие применимо как к информации, распространяемой через телекоммуникации, так и к информации, которая изначально распространялась посредством потокового вещания (например, радио, телевидение) или непотоковой (например, книги, видеокассеты, аудио CD).

 

Приступим к установки по для работы
  1. Устанавливаем FFmpeg, добавляем репозиторий с последними сборками :
  2. Устанавливаем Nginx, добавляем репозиторий с последними сборками :
  3.   Создаем скрипт для работы над потоком:
Настройка по для работы
  1. Необходима определиться потоком данных откуда будем брать исходную картинку, для примера я возьму мультикастовый поток , можно брать изображение с камеры, из файла или других ресурсов.
  2. В файл script_stream_hls.sh записываем следующее:
  3. Настраиваем nginx для отдачи контента.

 

 

Читайте также:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Яндекс.Метрика