配置简易的直播服务,这里主要介绍一下使用及流程,安装docker,运行容器,需要注意暴露出的端口是80和1935,其实该容器和我之前记录的nginx-rtmp容器唯一的区别就是开启了直播服务,nginx-rtmp容器介绍中已经描述了运行过程,这里不再赘述,直接上nginx.conf配置文件,将nginx-rtmp跑起来然后修改该配置文件即可: daemon off;
error_log /dev/stdout info;
events { worker_connections 1024; }
rtmp { server {
listen 1935;
chunk_size 4096;
application video {
notify_method get;
on_play http://127.0.0.1/video;
play /usr/local/data/video;
}
application live{
live on;
}
application hls {
live on;
hls on;
hls_path /tmp/hls;
}
}
}
http { access_log /dev/stdout combined;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
server {
listen 80;
charset utf-8;
# Uncomment these lines to enable SSL.
# Update the ssl paths with your own certificate and private key.
# listen 443 ssl;
# ssl_certificate /opt/certs/example.com.crt;
# ssl_certificate_key /opt/certs/example.com.key;
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /opt/data;
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
location /live1 {
alias /opt/data/hls;
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /static {
alias /www/static;
}
location /stat.xsl{
root /home/nginx/nginx-rtmp-module/;
}
location = /crossdomain.xml {
root /www/static;
default_type text/xml;
expires 24h;
}
location /video{
set $path /video/;
set $key "a0r9D2q9Pa7Ei26lj7U8";
secure_link $arg_md5,$arg_expires;
secure_link_md5 $secure_link_expires$path$arg_name$key;
if ($secure_link = "") {
return 403;
}
if ($secure_link = "0") {
return 410;
}
return 200;
}
location /download{
set $key "a0r9D2q9Pa7Ei26lj7U8";
secure_link $arg_md5,$arg_expires;
secure_link_md5 $secure_link_expires$uri$key;
if ($secure_link = "") {
return 403;
}
if ($secure_link = "0") {
return 410;
}
alias /usr/local/data/video;
autoindex on;
}
}
}
2、使用OBS软件进行推流,(将直播内容推送到服务器:rtmp://192.168.2.106:1932/live/test),配置如下(可以自行百度OBS使用):
打开OBS软件--》设置--》输出--》录像--》类型选择:自定义输出(FFmpeg),输出类型选择URL, url中填写自己的nginx服务地址及直播配置的路径,点击应用,如果服务器没问题就可以直接在主界面点击开始录屏,这个时候不报错说明视频已经推送到服务,
3、使用播放器拉取服务器上面的直播内容,随便找个支持rtmp协议的播放器就可以,例如:PotPlayer播放器,打开播放器后选择--》浏览器选项--》打开链接 将服务器地址放进去,例如:rtmp://47.97.198.116:8781/live/test(和推送时地址一样)
4、如果是想嵌入H5页面中,则需要使用video.js。页面使用如下代码嵌入html页面中:
Content type
Image
Digest
Size
219.4 MB
Last updated
over 6 years ago
docker pull shenxiangesyz/nginx-rtmp-live