Когда я пытаюсь воспроизвести видео с камеры с помощью nginx + nginx-http-flv-module + flv.js, произошла ошибка, но воспроизведение с VLC работает нормально.
войдите в nginx:
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.conf:
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:
ffmpeg -f avfoundation -s 1280x720 -r 30 -i 0 -f flv rtmp://192.168.89.134:1935/myapp/test
URL сети VLC:
http://192.168.89.134:8080/live?port=1935&app=myapp&stream=test
HTML с flv.js:
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();
}
Может кто-нибудь сказать мне, почему основан на вашем опыте?спасибо.