原理:

streamedian实现了websocket中间件,作为websocket客户端到rtsp协议的衔接。好处:

1. video on demand,只有观看时才会产生流量,不需要一直转码

2. 实现浏览器中播放

Windows (不推荐)安装:
1. 安装 Streamedian WS RTSP Proxy Server 1.8 :https://streamedian.com
2. 安装路径为 :C:\Program Files\Streamedian
make sure services->Streamedian web socket service is running
3. host client-page 在 iis

稳定性非常差,除非只需要支持一个摄像头,否则不建议使用。

ubuntu :
1. 下载安装 from https://streamedian.com
2.

apt-install streamedian.deb

3. 修改 /etc/ws_rtsp.init  配置文件:

[General]
# websocket proxy listen port
port=1111 #(change to your port)# path to license file
license_path=/usr/share/wsp/wsp.lic# path to license server key
license_server_key=/usr/share/wsp/wsp_server.pub# websocket proxy plugin dir
plugin_path=/usr/lib/wsp/[SockMap] # PRO version
#name=/path/to/unix/socket[ACL] # PRO version
# list of sources ip's to which proxy is allowed(or denied) to connectallow=127.0.0.1
#allow=192.168.0.0/24
#deny=127.0.0.1# allow or deny
default=allow

4. 启动ws_rtsp websocket服务

service ws_rtsp start

5. 测试页面html:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Streamedian HTML5 RTSP player</title><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"><style>body {max-width: 1080px;margin: 50px auto;}#test_video {width: 720px;}.controls {display: flex;justify-content: space-around;align-items: center;}input.input, .form-inline .input-group>.form-control {width: 300px;}#logs {overflow: auto;width: 720px;height: 150px;padding: 5px;border-top: solid 1px gray;border-bottom: solid 1px gray;}button {margin: 5px}</style>
</head>
<body>
<div>
<div class="row" ><div class="col-md-12"><input id="stream_url1" placeholder="rtsp://" value="rtsp://..."><video id="test_video1" controls autoplay  width="100%"></video></div></div>
<div class="row"></div><button id="set_new_url" onclick = "set_url()">Set</button>
</div>
<div>
<p style="color:#808080">Enter your rtsp link to the stream, for example: "rtsp://192.168.1.1:554/h264"</p>
</div><script src="free.player.1.8.js"></script> <!-- Path to pleer js-->
<script>var wsUrl = "ws://ip:port/ws/";function initCam(index){var text1 = document.getElementById('stream_url'+index).value;var v = document.getElementById("test_video"+index);v.src = text1;Streamedian.player('test_video'+index, {socket:wsUrl});}function set_url(){initCam(1);}
</script>
<script>// define a new consolevar console=(function(oldConsole){return {log: function(){let text = '';let node = document.createElement("div");for (let arg in arguments){text +=' ' + arguments[arg];}oldConsole.log(text);node.appendChild(document.createTextNode(text));document.getElementById("logs").appendChild(node);},info: function () {let text = '';for (let arg in arguments){text +='' + arguments[arg];}oldConsole.info(text);},warn: function () {let text = '';for (let arg in arguments){text +=' ' + arguments[arg];}oldConsole.warn(text);},error: function () {let text = '';for (let arg in arguments){text +=' ' + arguments[arg];}oldConsole.error(text);}};}(window.console));//Then redefine the old consolewindow.console = console;function cleanLog(){let  node = document.getElementById("logs");while (node.firstChild) {node.removeChild(node.firstChild);}}function scrollLog(){console.warn("scroll");let node = document.getElementById("logs");node.scrollTop = node.scrollHeight;}
</script>
<p><br>Have any suggestions to improve our player? <br>Feel free to leave comments or ideas email: streamedian.player@gmail.com</p>
<p>View player log</p>
<div id="logs"></div>
<button class="btn btn-success" onclick="cleanLog()">clear</button><button class="btn btn-success" onclick="scrollLog()">scroll to end</button>
</body>
</html>

ffmpeg CCTV方案1-streamedian相关推荐

  1. ffmpeg CCTV 方案对比

    ffmpeg CCTV一共介绍了4种方案,目的都是为了在网页实现cctv.如果可以接受winform的,建议直接调用NVR的sdk或使用vlc插件实现,这里有个很好的实现(实测rtsp很稳定,如果不是 ...

  2. 海康摄像头web集成播放,ffmpeg+nginx方案

    首先介绍下海康设备对接方案,目前主流的是通过海康的api对接和硬件sdk,api的话需要配套海康的萤石平台或者安防平台,官网可以下载,他们提供健全的api接口满足正常的web浏览器调用,sdk的话对于 ...

  3. ffmpeg api推流,谷歌浏览器播放大华、海康威视网络摄像头rtsp视频流方案(hls、m3u8、flv、webrtc、srs、nginx、nginx-rtmp、rtmp)比较

    ffmpeg api推流,谷歌浏览器播放大华.海康威视网络摄像头rtsp视频流方案(hls.m3u8.flv.webrtc.srs.nginx.nginx-rtmp.rtmp)比较 将网络摄像头视频流 ...

  4. FFmpeg优化 苏宁PP体育视频剪切效率提升技巧

    FFmpeg功能强大,社区活跃,在多媒体处理业务中扮演着不可或缺的角色.但没有优化过的FFmpeg在生产环境下有很多性能瓶颈,因此对其进行优化势在必行.苏宁旗下PP体育音视频技术负责人田钊撰文分享了团 ...

  5. FFmpeg支持QUIC

    FFmpeg支持QUIC 1 背景 2 代码地址 3 方案 3.1 bequic - Google Quiche封装 3.2 FFmpeg - 增加quic协议 4 编译 4.1 Windows 4. ...

  6. FFMPEG解码流程

    FFMPEG解码流程:   1. 注册所有容器格式和CODEC: av_register_all()   2. 打开文件: av_open_input_file()   3. 从文件中提取流信息: a ...

  7. 【分享】性能比肩美拍秒拍的Android视频录制编辑特效解决方案【1】

    前言 本人接触Android的时间有限,如果您有更好的解决方案,欢迎吐槽. 众所周知,Android平台开发分为Java层和C++层,即Android SDK和Android NDK.常规产品功能只需 ...

  8. 基于 WebRTC 的 RTSP 视频实时预览

    WebRTC相关视频讲解: 什么是WebRTC WebRTC入门到精通该怎么学? WebRTC框架剖析 音视频流媒体高级开发:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高 ...

  9. 用FFmpeg搭建基于CNN的视频分析方案

    Photo by Lukas from Pexels FFmpeg作为一个集录制.转换.音/视频编码解码功能为一体的开源框架,自然也需要考虑怎样去和当下流行的视频分析技术融合.本文来自英特尔网络平台部 ...

最新文章

  1. Windows server 2008普通用户不能远程登录问题
  2. C++ while(cin>>a) cin输入直到回车结束
  3. 帆软报表(finereport)图表钻取详细类别 当前页对话框展示
  4. 使用Kubeadm创建k8s集群之部署规划(三十一)
  5. jenkins java常用插件下载,Jenkins简单介绍以及插件入门
  6. cocos2dx热更新tmx的一个坑
  7. 【算法】剑指 Offer 12. 矩阵中的路径
  8. 【msdn wpf forum翻译】获取当前窗口焦点所在的元素
  9. bzoj 1696: [Usaco2007 Feb]Building A New Barn新牛舍
  10. kotlin运行_Kotlin允许,运行,也适用于
  11. ラブ・ストーリーは突然に(突然發生的愛情故事)歌詞
  12. DFMZ-开发过程中遇到的错误-01
  13. (转)从Fintech到Techfin,未来十年有九大重要挑战
  14. HashMap、LinkedHashMap、HashTable、HashSet笔记
  15. visio2010画图
  16. 堆栈平衡:估计这是最详细的讲解堆栈平衡的了
  17. 零售的哲学 零售心理战 读后感--7-11这个产品不错!
  18. 大学生职业生涯规划计划与路径_大学生职业生涯的规划路径
  19. mysql无级分销_无限级分销系统数据库表设计
  20. AD21四层板导出Gerber

热门文章

  1. 蓝牙BLE数据包格式汇总
  2. 桁架工业机器人编程_桁架机器人规划设计,工业软件开发
  3. 百词斩笔试题:一天内时针、分针、秒针转过的角度
  4. 通过快捷指令GET请求方法登录东华理工校园网
  5. 微博服务器为什么会宕机?这几年为什么极少再宕机了?
  6. 组织敏捷转型中的 HR
  7. 【RL】策略梯度的训练技巧
  8. 软考高级-系统架构师-软件架构设计练习题
  9. 条码打印软件之优化导入PDF文档的清晰度
  10. java cookie实现登录状态_java无状态登录实现方式之ThreadLocal+Cookie