Картинка для привлечения внимания.
Новый год всё ближе, хотелось бы устроить новогоднюю видеоконференцию с моими воображаемыми^W друзьями, используя конечно же, опен сорц!
На самом деле ничего сложного, используя nginx-rtmp-module удалось создать HLS (Apple HTTP Live Stream), который как заверяют, будет работать на любых устройствах.
rtmp {
server {
listen 1935;
chunk_size 4096;
application hls {
live on;
hls on;
hls_path /var/www/hls;
record off;
allow publish 127.0.0.0/8;
deny publish all;
allow play all;
}
}
server {
listen 80;
server localhost;
root /var/www;
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
add_header Cache-Control no-cache;
}
}
Вот такая загогулина позволяет получать урлы в формате https://spfng.com/hls/live.m3u8
, теперь запускаем стрим...
Стримить можно что угодно, любой источник, веб-камера или просто видео. Я взял видео.
# ffmpeg -re -i /media/The\ Simpsons\ s27e07.mp4 -c copy -f flv rtmp://spfng.com/hls/live
На веб-страничку прикрутил HTML5-плеер с реализацией video.js, — никакого богомерзкого Flash! И да, оно даже заработало. Результат вы видите на скриншоте.
По итогам, что потребуется: 1) nginx + nginx-rtmp-module 2) ffmpeg 3) video.js HTML5-плеер 4) любой источник видео, будь то веб-камера или кинцо 5) широкий канал чтобы стримить для большого круга друзей.
Вопрос!
А какие инструменты для реализации потокового вещания использовали вы? Что можно сделать правильнее или ещё лучше? Сталкиваюсь с этим первый раз, поэтому возможно что-то сделал не так.