再流RTSP从IP凸轮与节点Media Server进行HTTP / WS与HTML显示它(Re-s

2019-11-05 09:33发布

目标

我的目标是一个标准的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 ”在我的情况?

Answer 1:

正如你可以从配置看,你的RTSP流推到了“中央电视台”的应用程序。

所以,您的播放地址应该是:

RTMP://本地主机/ CCTV / uterum
要么
HTTP://本地主机:8000 / CCTV / uterum.flv



文章来源: Re-stream RTSP from IP cam with Node Media Server to http/ws and display it with html