bilibili / flv.js

HTML5 FLV Player
Apache License 2.0
22.93k stars 3.38k forks source link

摄像头推流,HTTP无法播放 #436

Open forest-yang opened 5 years ago

forest-yang commented 5 years ago

我测试使用nginx + nginx-http-flv-module + flv.js直接视频,但是报错(使用VLC播放正常):

flv live: app args MUST be specified, client: 192.168.89.1, server: myserver, request: "GET /live.html HTTP/1.1", host: "192.168.89.134:8080"

关键配置说明:

nginx配置

http{
   ...
   server{
   ...
    location /live {
            flv_live on;
            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
        }

    }
}

rtmp {
    server {
        listen 1935;
        server_name 192.168.89.134;

        application myapp {
            live on;
            gop_cache on; 
          }
    }
}

推流命令:

ffmpeg -f avfoundation -s 1280x720 -r 30  -i 0 -f flv rtmp://192.168.89.134:1935/myapp/test

使用VLC播放链接:

http://192.168.89.134:8080/live?port=1935&app=myapp&stream=test

html代码片段:

 if (flvjs.isSupported()) {
            var videoElement = document.getElementById('videoElement');
            var flvPlayer = flvjs.createPlayer({
                type: 'flv',
                'isLive': true,
                url: 'http://192.168.89.134:8080/live?port=1935&app=myapp&stream=test'
            });
            flvPlayer.attachMediaElement(videoElement);
            flvPlayer.load();
            flvPlayer.play();
        }

请问是哪个环节出了问题?多谢!

misland commented 5 years ago

请问你解决了吗,我同样也用nginx-http-flv-module搭建,同样也是VLC正常,页面中无法播放,排除跨域问题

2231856598 commented 2 years ago

请问你解决了吗,我同样也用nginx-http-flv-module搭建,同样也是VLC正常,页面中无法播放,排除跨域问题

try-labs commented 7 months ago

@2231856598 @misland 检查一下nginx中拉流的配置,譬如端口