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 视频介绍)


  • 2020-01-08 13:30:30

    vue中eventbus被多次触发(vue中使用eventbus踩过的坑)

    一开始的需求是这样子的,我为了实现两个页面组件之间的数据传递,假设我有页面A,点击页面A上的某一个按钮之后,页面会自动跳转到页面B,同时我希望将页面A上的某一些参数携带过去给页面B。 然后我就想,这不就是不同组件之间的数据传递问题而已吗?直接用bus 巴士事件来传递数据不就行了吗。于是,我就很愉快地进行了。关于vue中的eventbus的使用,我之前在一篇vue中的数据传递中有提到过。

  • 2020-01-08 22:03:07

    修改MAC系统下默认PHP版本

    今天在使用mac时遇到了一个问题,因为需要composer拉取laravel5.6,但是提示我php版本过低,但是我本人使用的是集成环境MAMP,已经切换了php7.2的版本,这个为什么没有生效呢?经检查是因为composer检测得是mac下环境变量生效的php版本

  • 2020-01-08 23:37:08

    laravel通过图片流返回图片

    我用laravel的字母头像生成框架Laravolt\Avatar生成的base64头像,但我想做个通用但,直接返回图片,我还是根据以往但经验 改写header但返回值为图片返回值,结果返回失败,一堆乱吗,不知道为啥。 后来用了laravel自带但返回图片但方法,结果ok。记录下

  • 2020-01-08 23:45:06

    laravel response 对象一些常用功能点

    通常,我们并不只是从路由动作简单返回字符串和数组,大多数情况下,都会返回一个完整的 Illuminate\Http\Response 实例或 视图。

  • 2020-01-08 23:49:13

    laravel 存储base64格式图片

    一、总结 一句话总结: 二、laravel存储64位图片实例 三、laravel 存储前端上传base64图片 四、php将base64字符串转换为图片

  • 2020-01-09 01:24:28

    mac安装ImageMagick与PHP扩展Imagick

    mac安装ImageMagick和php7.2扩展Imagick,从网上搜索教程,感觉好少,有的教程看起来也很麻烦,不过安装起来,没想到竟然如此简单。不非纯灰之力。

  • 2020-01-09 18:49:17

    pecl安装卸载模块,如何自动配置php.ini

    利用pecl安装php模块,可能需要手工配置php.ini,以加载或禁止相关模块。那么pecl install是不是可以自动配置php.ini呢?答案是肯定的。在pecl isntall的提示信息中,苏南大叔找到了下面的类似提示信息:configuration option "php_ini" is not set to php.ini location。这个设置点,就是本文的关键所在。设置好"php_ini"之后,pecl就可以自动修改php.ini中的extension=了。