、Kurento视频直播系统
4.1  应用实例
搞视频会议就会涉及一对多、多对多、广播、转码、混音、合屏、录制,这就需要用到流媒体服务器,而kurento就具有这些功能。
他主要用来作为webrtc的流媒体服务器,因为BUG多,目前不适于商用,不过前景可期, 
图1:

说明:
1、看到这里您可不要讲他的功能和ICE服务器的功能给搞混了哦,后者主要用来做NAT穿透和转发的。
 
4.1.1 、kurento架构
图2:

说明:
1、客户端对音视频数据的采集和播放等是通过webrtc来处理的,传输模块就是kurento的。
2、流媒体服务是他的核心服务,可以进行编解码,混音,录制,计算机视觉,视觉增强等等。
 
4.1.2  、特色功能---计算机视觉
图3:

说明:
1、服务端可以对收到的视频流进行处理,如人脸识别,这些扩展下去应用前景就很广泛了,期待!
2、因为他对图像进行了处理,所以延迟会比较大,识别率还存在些问题,而且会造成图像闪动(可能也是跟延迟有关)。
3、其他功能如一对一,广播就不重复了,很多其他流媒体服务都具有这些功能。
 
最后:虽然kurento目前问题很多,但我看好他,后面会继续分享相关内容,也会和他们一起去完善这个东西。

4.2  Kureto官网
链接:http://www.kurento.org/whats-kurento
What's Kurento?
Kurento is a WebRTC media server and a set of client APIs making simple the development 
of advanced video applications for WWW and smartphone platforms. 
Kurento Media Server features include group communications, transcoding, 
recording, mixing, broadcasting and routing of audiovisual flows.

Kurento 是一个 WebRTC 流媒体服务器以及一些客户端API,有了它,
开发WWW及智能手机平台的高级视频应用就变得更加容易。
可以利用Kurento开发的应用类型包括,视频会议,音视频广播,音视频录制、转码等。

As a differential feature, Kurento Media Server also provides advanced media 
processing capabilities involving computer vision, video indexing, 
augmented reality and speech analysis. Kurento modular architecture 
makes simple the integration of third party media processing algorithms 
(i.e. speech recognition, sentiment analysis, face recognition, etc.), 
which can be transparently used by application developers as the rest of Kurento built-in features.
.
 
Kurento Media Server adds advanced media processing to the capabilities of common media servers.

五、一个WebRTC的视频直播试验项目
链接:
https://github.com/muaz-khan/WebRTC-Experiment/tree/master/broadcast
WebRTC One-to-Many video sharing/broadcasting / Demo
1. This WebRTC experiment is for one-to-many transmission of audio/video streams.
2. It sets up multiple peer connections to support the multi-user connectivity feature.
 Rememebr, WebRTC doesn't supports 3-way handshake!
3. Multi-peers establishment opens many RTP-ports according to the 
number of media streamas referenced to each peer connection.
4. Multi-ports establishment causes huge CPU and bandwidth usage!

六、一个基于WebRTC的混合CDN/P2P直播开源项目
大家好,

最近在GitHub看到一个基于WebRTC的混合CDN/P2P直播开源项目,觉得很有前景。
相比传统P2P直播软件而言,该项目的优势是不需要安装任何插件,而且主流浏览器都支持。
出于好奇,我也在服务器上创建了一个实例,看看效果如何。

如果你稍微有那么一点的感兴趣,我邀请你一起参与测试。这里是一些注意事项:
1. 测试地址 http://www.zoptv.com/player/p2p/
2. 支持的浏览器 Chrome, Firefox, Opera
3. 测试页面和视频,之后可能被删掉
4. 期待你的建议,我会不定期的在此帖回复

P.S 感谢原作者 http://github.com/bemtv (貌似github被墙了?)

官方链接:
https://github.com/bemtv

http://bem.tv/
BemTV is an attempt to scale live video streaming using peer-to-peer
 without the need of an external plug-in. It uses the powers of WebRTC to 
build swarms, enabling the possibility to flow chunks between users.

from:http://blog.csdn.net/fireroll/article/details/47109757

WebRTC开源项目一览之二的更多相关文章

  1. 学习Coding-iOS开源项目日志(二)

    继续前篇:<学习Coding-iOS开源项目日志(一)>,接着本第二篇<学习Coding-iOS开源项目日志(二)>讲解Coding-iOS开源项目. 前言:作为初级程序员,想 ...

  2. webrtc开源项目音频重采样“不友好接口”的几点总结

    WebRTC(Web Real Time Communication)并不是Google原来自己的技术,在2010年,Google以大约6820万美元收购了VoIP软件 开发商Global IP So ...

  3. android 开源项目一览

    直接拿来用!最火的Android开源项目(一) http://www.csdn.net/article/2013-05-03/2815127-Android-open-source-projects ...

  4. [最新].NET Core ORM 开源项目一览,持续更新

    截至2019-05-08共收集27个 .NET Core ORM 开源项目,38个 .NET ORM 开源项目. .NET Core ORM 开源项目收集地址:https://github.com/o ...

  5. Halo 开源项目学习(二):实体类与数据表

    基本介绍 Halo 项目中定义了一些实体类,用于存储博客中的关键数据,如用户信息.文章信息等.在深入学习 Halo 的设计理念与实现过程之前,不妨先学习一下一个完整的博客系统都由哪些元素组成. 实体类 ...

  6. .NET开源项目一览

  7. 学习Coding-iOS开源项目日志(一)

    前言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目.本篇开始会陆续更新本人对github上开源的一个很不错的项目的一点点学习积累.也就是,探究着别人写的源码,我学到了 ...

  8. (转)直接拿来用!最火的iOS开源项目(一)

    1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是G ...

  9. GitHub上最火的40个iOS开源项目

    1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS. Mac OS X网络通信类库,现在是 ...

随机推荐

  1. 图片文字滚动插件jQuery Scrollbox

    图片文字滚动插件jQuery Scrollbox附件中提供了五种图片.文字滚动样式,只需调用jquery库和jQuery Scrollbox插件,然后再加一段简单的jquery代码即可使用,兼容性良好 ...

  2. javascript 的逻辑中断(短路操作)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. bzoj 1189: [HNOI2007]紧急疏散evacuate 分层图最大流_拆点_二分

    Description 发生了火警,所有人员需要紧急疏散!假设每个房间是一个N M的矩形区域.每个格子如果是'.',那么表示这是一 块空地:如果是'X',那么表示这是一面墙,如果是'D',那么表示这是 ...

  4. CSS - 内联元素span 强制换行失败的可能原因

    在CSS中,标签span 强制换行失败:(使用display:block) 可能原因:float:left   or  float:right

  5. webpack学习笔记(2)--webpack.config.js

    3 模式 mode mode 参数设置为 development(开发模式), production(生产模式) 或 none(无),可以启用对应环境下 webpack 内置的优化.默认值为 prod ...

  6. groupadd(创建组)重要参数介绍

    -g :值定用户组GID值.除非接 -o 参数(如:groupadd -g 666 -o oldboy),否则ID值必须是唯一的数字(不能为负数). 如果不指定 -g 参数,则默认从500开始 

  7. Context - React跨组件访问数据的利器

    Context提供了一种跨组件访问数据的方法.它无需在组件树间逐层传递属性,也可以方便的访问其他组件的数据 在经典的React应用中,数据是父组件通过props向子组件传递的.但是在某些特定场合,有些 ...

  8. 小松之LINUX驱动学习笔记之模块间函数调用通讯

    1. 符号导出函数 EXPORT_SYMBOL() EXPORT_SYMBOL标签内定义的函数对全部内核代码公开,不用修改内核代码就可以在您的内核模块中直接调用. EXPORT_SYMBOL_GPL( ...

  9. Python学习笔记(2)操作符和数据类型

    2019-02-25 一: (1)常用操作符: ① 算数操作符:=.-.*./.%(求余).**(幂运算).//(地板除法:计算结果取比商小的最大整型) 注意:幂运算操作符比其左侧的一元运算符的优先级 ...

  10. JavaScript基础简介

    JavaScript引入的方式 直接在<script>标签中写 <script> console.log('hello world!'); </script> 引入 ...