目标
我的目标是一个标准的HTML页面上显示我的IP凸轮的RTSP输出流(HTML5 + CSS3 + JavaScript的香草,没有魔法=无插件)。 该HTML页应该在我的树莓派一个NGINX Web服务器托管。
我的装备
我使用的设置是Rasbian OS,Node.js的和树莓派3 B + 节点-媒体服务器软件包 ,NGINX( 但我不相信,NGINX是我的问题重要吗?我没有为节点的任何配置-媒体-服务器中也无妨。)的IP摄像头,和一个浏览器。
我曾尝试
在自述中节点-媒体服务器项目详细而有描述几乎正是我想要做一个教程。 具体而言,对实时数据流如何被访问的标记示例:
<html>
<head>
<title>Camera</title>
</head>
<body>
<script src="https://cdn.bootcss.com/flv.js/1.4.0/flv.min.js"></script>
<video id="videoElement"></video>
<script>
if (flvjs.isSupported()) {
var videoElement = document.getElementById('videoElement');
var flvPlayer = flvjs.createPlayer({
type: 'flv',
url: 'http://localhost:8000/live/uterum.flv'
});
flvPlayer.attachMediaElement(videoElement);
flvPlayer.load();
flvPlayer.play();
}
</script>
</body>
</html>
这是我开始在媒体服务器上我的覆盆子PI, kommandoran-mediaserver.js
:
const { NodeMediaServer } = require('node-media-server');
const config = {
logType: 3, // 3 - Log everything (debug)
rtmp: {
port: 1935,
chunk_size: 60000,
gop_cache: true,
ping: 60,
ping_timeout: 30
},
http: {
port: 8000,
allow_origin: '*'
},
relay: {
ffmpeg: '/usr/local/bin/ffmpeg',
tasks: [
{
app: 'cctv',
mode: 'static',
edge: 'rtsp://<USER>:<PASSWORD>@10.0.0.111/live1.sdp',
name: 'uterum',
rtsp_transport : 'tcp' //['udp', 'tcp', 'udp_multicast', 'http']
}
]
}
};
var nms = new NodeMediaServer(config)
nms.run();
我的问题和问题
当我尝试查看camera.html
通过对树莓派的Chromium浏览器(即本地主机)(见上面的标记),则没有任何显示。 在铬调试检查有没有JavaScript错误,但我得到这样的:
GET http://localhost:8000/live/uterum.flv net::ERR_EMPTY_RESPONSE
下面是从节点终端的屏幕截图: 红色区域显示了当我试图让一个请求输出http://localhost:8000/live/uterum.flv
。
我想我尝试到达终点错误但是是正确的? 文档状态http://localhost:8000/live/STREAM_NAME.flv
。 什么是“ STREAM_NAME
”在我的情况?