1.协议
流媒体
webRtc:浏览器音视频会议2011年谷歌提出。
直播时移模式
返回直播
斗鱼web直播可以查看两小时内的内容。
1.1 RTMP协议
主流浏览器将不再支持flash,慎重考虑使用。
Flash流媒体系统
客户端:FlashPlayer 服务端:Flash Media Server
斗鱼使用的rtmp推流,但web前端使用的html5 <video>标签播放,而不是flash插件。
默认是html5 video,但斗鱼支持切换到flash播放,解决一些低版本IE等的兼容性问题。
并不是直接播放的流地址,而是加了blob的防盗链。
浏览器不支持flash插件之后,h5播放rtmp直播流(video.js)的解决方案
HLS延迟较大,不建议使用。rmtp延时1s,webrtc(200ms~500ms)
b站开源的flv.js技术
(1)部署
Windows
(1) 管理员身份cmd进入源码目录,npm install ,不以管理员身份进入npm install会报错。、
(2)安装生成工具: npm install -g gulp
(3)包装和最小化JS放在dist文件夹里 :gulp release
报错是因为node.js 是12的版本,但gulp是3.x的版本不支持,升级gulp
npm install -save-dev gulp@4
成功
参考文献
http-flv:可以采用搭载http-flv模块的nginx服务对rtmp流重新封装为http-flv的流进行分发。web使用开源的flv.js进行播放。
webRtc
2.相关技术
2.1 CDN技术
分布式内容分发网,核心作用提高网络的访问速度。其做法是将直播流录制成一小片一小片的点播文件,然后用户可以在任何地点、任意终端访问任意内容。比如你正在看一场球赛的直播,然后有一个镜头很精彩,想马上再看一遍,就可以拖一下进度条回退然后回放,在看完回放后还可以一键返回直播。
负载均衡
将用户的访问指向离用户最近的工作正常的流媒体服务器上,由流媒体服务器直接响应用户的请求。
服务器负载均衡:在性能不同的服务器之间进行任务分配(保证性能差的服务器不成为系统的瓶颈,性能高的服务器的资源得到充分利用),服务器整体负载均衡(服务器全局负载均衡):允许Web网络托管商、门户站点和企业根据地理位置分配内容和服务。通过使用多站点内容和服务来提高容错性和可用性,防止因本地网或区域网络中断、断电或自然灾害而导致的故障。
复制技术
网站响应速度和访问者与网站服务器之间的距离有密切的关系。如果访问者和网站之间的距离过远,它们之间的通信需要重重路由转发处理,网络延迟不可避免。一个有效的方法就是利用内容分发与复制技术,将占网站主题的大部分静态网页,图像和流媒体数据分发复制到各地的加速节点上。
缓存技术
参考文献
标签:流媒体,技术,js,flv,gulp,直播,服务器,音视频 From: https://www.cnblogs.com/readypalyerone/p/17282249.html