• Регистрация

1,096 вопросов

1,459 ответов

1,302 комментариев

8,780 пользователей

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

Трансляция потокового аудио и видео через Nginx mod_rtmp

+1 голос

Для трансляции аудио и видео потоков есть множество вариантов. Рассмотрим вариант трансляции с помощью модуля mod_rtmp для вебсервера Nginx.
Устанавливаем nginx версии не ниже nginx-1.4.1-r5 и ffmpeg с модулем rtmp. После чего изменяем конфигурационный файл Nginx (все ключевые части прокомментированы).

# сколько копий nginx будет запущено
worker_processes 5;
events {
# количество подключений к одному воркеру
worker_connections 1024;
use epoll;
}
# лог ошибок
error_log /var/log/nginx/error.log ;
http{
include /etc/nginx/mime.types;
keepalive_timeout 75 20;
default_type application/octet-stream;
# сервер для получения статистики по потокам
server {
listen 8888;
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
# путь может меняться в зависимости от дистрибутива. Также эта библиотека не поддерживается в Firefox
root /tmp/nginx-rtmp-module-master/;
}

location /control {
rtmp_control all;
}
}
}

# необходимо включить если у вас несколько воркеров
rtmp_auto_push on;

# секция самой видео трансляции
rtmp{
server{
listen 1935; # порт rtmp

# размер буфера
chunk_size 8192;

# автоматическое получение потока. Здесь можно задать параметры конвертации. А при наличии готового rtmp потока можно использовать push
exec_static ffmpeg -i http://example.com/Radio -f flv rtmp://127.0.0.1/radio/example;

application radio {
allow publish 127.0.0.1; # Кто може транслировать
allow play 0.0.0.0/0; # Кто может слушать
live on; # включение онлайн трансляции
}

}
}

 
Получить такой поток можно с помощью ffplay rtmp://server-ip/radio/example

Вопрос Mar 20, 2016 от sir_mcnellan Ветеран (8,910 баллов) в категории Серверные системы
   

Пожалуйста войдите или зарегистрируйтесь для ответа на этот вопрос.

...