当第二个观众加入时直播停止
Live stream stops when a second viewer joins
我正在尝试使用 nginx 和 nginx-http-flv-module(带有 nginx-rtmp-module)构建一个直播平台。
我一直在使用nginx-http-flv-module's guide。
我构建了一个支持 rtmp 和 http-flv 的 nginx 服务器。
我的 nginx.conf
文件:
#user nobody;
worker_processes 1;
error_log logs/error.log debug;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8080;
server_name localhost;
...
location /live {
flv_live on; #open flv live streaming (subscribe)
chunked_transfer_encoding on; #open 'Transfer-Encoding: chunked' response
add_header 'Access-Control-Allow-Origin' '*'; #add additional HTTP header
add_header 'Access-Control-Allow-Credentials' 'true'; #add additional HTTP header
add_header 'Access-Control-Expose-Headers' 'Content-Length';
}
}
}
rtmp {
server {
listen 1935;
ping 30s;
notify_method get;
application myapp {
live on;
}
}
}
我开始使用 OBS 发布我的流并使用 flv.js
在浏览器中播放流,如下所示:
<video id="videoElement" controls autoplay></video>
...
<script>
let videoElement = document.getElementById('videoElement');
let flvPlayer = flvjs.createPlayer({
type: 'flv',
isLive: "true",
url: 'http://192.168.1.122:8080/live?port=1935&app=myapp&stream=test'
});
flvPlayer.attachMediaElement(videoElement);
flvPlayer.load();
</script>
一切都很好!流正在按预期在浏览器中播放。但问题是每当第二个观众开始观看流时(如果我在另一个浏览器选项卡中打开它 f.e)。播放器停止播放并开始无限加载。那么什么会导致这个问题呢?
我是 nginx-http-flv-module 的所有者,很抱歉该错误是由 2019 年 7 月 7 日的提交引起的,并且已经修复。
你可以试试最新的代码。
我正在尝试使用 nginx 和 nginx-http-flv-module(带有 nginx-rtmp-module)构建一个直播平台。
我一直在使用nginx-http-flv-module's guide。
我构建了一个支持 rtmp 和 http-flv 的 nginx 服务器。
我的 nginx.conf
文件:
#user nobody;
worker_processes 1;
error_log logs/error.log debug;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8080;
server_name localhost;
...
location /live {
flv_live on; #open flv live streaming (subscribe)
chunked_transfer_encoding on; #open 'Transfer-Encoding: chunked' response
add_header 'Access-Control-Allow-Origin' '*'; #add additional HTTP header
add_header 'Access-Control-Allow-Credentials' 'true'; #add additional HTTP header
add_header 'Access-Control-Expose-Headers' 'Content-Length';
}
}
}
rtmp {
server {
listen 1935;
ping 30s;
notify_method get;
application myapp {
live on;
}
}
}
我开始使用 OBS 发布我的流并使用 flv.js
在浏览器中播放流,如下所示:
<video id="videoElement" controls autoplay></video>
...
<script>
let videoElement = document.getElementById('videoElement');
let flvPlayer = flvjs.createPlayer({
type: 'flv',
isLive: "true",
url: 'http://192.168.1.122:8080/live?port=1935&app=myapp&stream=test'
});
flvPlayer.attachMediaElement(videoElement);
flvPlayer.load();
</script>
一切都很好!流正在按预期在浏览器中播放。但问题是每当第二个观众开始观看流时(如果我在另一个浏览器选项卡中打开它 f.e)。播放器停止播放并开始无限加载。那么什么会导致这个问题呢?
我是 nginx-http-flv-module 的所有者,很抱歉该错误是由 2019 年 7 月 7 日的提交引起的,并且已经修复。
你可以试试最新的代码。