直播音视频技术

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进行播放。

H5Stream

github官网flv.js

webRtc

 2.相关技术

   2.1 CDN技术

    分布式内容分发网,核心作用提高网络的访问速度。其做法是将直播流录制成一小片一小片的点播文件,然后用户可以在任何地点、任意终端访问任意内容。比如你正在看一场球赛的直播,然后有一个镜头很精彩,想马上再看一遍,就可以拖一下进度条回退然后回放,在看完回放后还可以一键返回直播。

    负载均衡

     将用户的访问指向离用户最近的工作正常的流媒体服务器上,由流媒体服务器直接响应用户的请求。

     服务器负载均衡:在性能不同的服务器之间进行任务分配(保证性能差的服务器不成为系统的瓶颈,性能高的服务器的资源得到充分利用),服务器整体负载均衡(服务器全局负载均衡):允许Web网络托管商、门户站点和企业根据地理位置分配内容和服务。通过使用多站点内容和服务来提高容错性和可用性,防止因本地网或区域网络中断、断电或自然灾害而导致的故障。

    复制技术

    网站响应速度和访问者与网站服务器之间的距离有密切的关系。如果访问者和网站之间的距离过远,它们之间的通信需要重重路由转发处理,网络延迟不可避免。一个有效的方法就是利用内容分发与复制技术,将占网站主题的大部分静态网页,图像和流媒体数据分发复制到各地的加速节点上。

    缓存技术

    

参考文献

 1.雷霄骅博客

2.Windows下nginx-http-flv-module编译和部署

posted @   没有故事的毛同学  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
点击右上角即可分享
微信分享提示