html5 video p2p research

2020-12-17 10:55:48

一、背景

节约带宽,减少缓冲时间,提升服务质量,处理峰值流量, 视频观看的人越多,播放越流畅。

二、p2p是什么?


通俗的解释:点对点播放,无中心服务器,依靠用户群交换信息。


三、如何实现?

1 、 Server ?

2、Client :

html5 WebRTC & Media Source Extensions

3、Supported Browsers & Plantforms


从上可知ios目前还无法实现p2p播放


4. webRTC 网络实时通信,主要是来让浏览器实时获取和交换视频,音频数据。

webRTC提供的api

getUserMedia 获取媒体数据

RTCPeerConnection 浏览器之间点对点的连接

RTCDataChanne 浏览器用于点对点的数据通信


四、解决方案?

The Serverless P2P CDN For Video Live Streaming


五、参考文章

slideshare.net/SPOTITV/

MediaSource

w3.org/TR/media-source/#

Getting Started with WebRTC - HTML5 Rocks

HTML5新特性之WebRTC - 草根程序猿 - 博客园(webrtc demo)

WebRTC现状及优缺点,音视频通信必看的开源项目 - 专家观点 - CTI论坛-中国领先的ICT行业网站(WebRTC 优缺点)

WebRTC Videos | WebRTC (chrome webrtc 视频介绍)


  • 2021-04-19 11:00:23

    浅谈block和delegate的使用

    委托是协议的一种,顾名思义,就是委托他人帮自己去做事。委托是给一个对象提供机会对另一个对象中的变化做出反应或者影响另一个对象的行为。其基本思想是:两个对象协同解决问题,并且打算在广泛的情形中重用。委托指向另一个对象(即它的委托)的引用,并在关键时刻给委托发消息。消息可能只是通知委托发生了某件事情,给委托提供机会执行额外的处理,或者消息可能要求委托提供一些关键的信息以控制所发生的事情。委托的作用主要有两个,一个是传值,一个是传事件。

  • 2021-04-19 11:36:44

    iOS 组件实现方案

    什么才是好架构,为什么要组件,组件设计的优点

  • 2021-04-25 09:53:18

    android debug速度特别慢有时候卡住

    一直提示定在 Starting LLDB server。可能的原因是 Android Studio编译速度太慢了,就会一直卡在Starting LLDB server。可以通过设置 Run/Debug Configurations ——> Debugger ——> Debug type 为 Java 跳过 C/C++的调试,起码实现对 Java 程序的调试

  • 2021-04-25 09:54:19

    sequelize 时区配置

    sequelize 默认情况下, 保存日期时会转换成 +00:00时区,