看网上说可以用 nginx 做流媒体服务器,测测试试
安装工具
sudo apt install nginx libnginx-mod-rtmp
nginx -V
启动 nginx
在 /etc/nginx/conf.d 中添加 rtmp 配置项
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
hls on;
hls_fragment 5s;
hls_path /var/www/html/live;
dash on;
dash_path /var/www/html/dash;
}
}
}
重新加载
sudo nginx -s reload
报错:
nginx: [emerg] "rtmp" directive is not allowed here in /etc/nginx/conf.d/rmtp.conf:1
找了半天原因,原来是加的位置不对。不能加到 conf.d 文件夹下。因为这里的都在 http 下,而 rtmp 是和 http 平级的。得直接加到 nginx.conf 中。
obs 模拟推流
obs 设置->流->自定义流媒体服务器(推流用)
url rtmp://localhost:1935/live
流名称 test
主窗口->来源,添加屏幕捕获
开始推流
测试播放
url与配置的应用名和文件路径匹配
ffplay rtmp://localhost:1935/live/test
ffplay http://localhost/live/test.m3u8
ffplay http://localhost/dash/test.mpd
网页video.js...完成dash和hls