首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从带有Node Media Server的IP凸轮到http/ws的再流RTSP并用html显示

从带有Node Media Server的IP凸轮到http/ws的再流RTSP并用html显示
EN

Stack Overflow用户
提问于 2018-12-26 16:42:13
回答 1查看 10.1K关注 0票数 3

目标

我的目标是在一个标准的html5 (html5 + css3 +,没有魔术=没有插件)上显示我的IP的RTSP输出流。HTML页面应该托管在我的Raspberry Pi上的NGINX web服务器中。

我的设备

我正在使用的设置是一个Raspberry Pi 3 B+与Rasbian,Node.js和节点-媒体-服务器包,NGINX (但我不认为NGINX对我的问题是重要的?无论如何,我还没有为做任何配置。一个IP摄像头和一个浏览器。

我试过的

Node项目中的自述文件是详细的,并且有一个教程描述了我想要做的事情。具体来说,有一个关于如何访问活动流的标记示例:

代码语言:javascript
运行
复制
<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上启动媒体服务器

代码语言:javascript
运行
复制
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();

我的问题和问题

当我试图通过Raspberry (即本地主机)上的Chromium查看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“是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-26 23:01:32

从配置中可以看到,RTSP流被推送到“cctv”应用程序中。

所以你的回放地址应该是:

代码语言:javascript
运行
复制
rtmp://localhost/cctv/uterum

代码语言:javascript
运行
复制
http://localhost:8000/cctv/uterum.flv
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53934702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档