WebRTC开源项目一览之二
、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开源项目一览之二的更多相关文章
- 学习Coding-iOS开源项目日志(二)
继续前篇:<学习Coding-iOS开源项目日志(一)>,接着本第二篇<学习Coding-iOS开源项目日志(二)>讲解Coding-iOS开源项目. 前言:作为初级程序员,想 ...
- webrtc开源项目音频重采样“不友好接口”的几点总结
WebRTC(Web Real Time Communication)并不是Google原来自己的技术,在2010年,Google以大约6820万美元收购了VoIP软件 开发商Global IP So ...
- android 开源项目一览
直接拿来用!最火的Android开源项目(一) http://www.csdn.net/article/2013-05-03/2815127-Android-open-source-projects ...
- [最新].NET Core ORM 开源项目一览,持续更新
截至2019-05-08共收集27个 .NET Core ORM 开源项目,38个 .NET ORM 开源项目. .NET Core ORM 开源项目收集地址:https://github.com/o ...
- Halo 开源项目学习(二):实体类与数据表
基本介绍 Halo 项目中定义了一些实体类,用于存储博客中的关键数据,如用户信息.文章信息等.在深入学习 Halo 的设计理念与实现过程之前,不妨先学习一下一个完整的博客系统都由哪些元素组成. 实体类 ...
- .NET开源项目一览
- 学习Coding-iOS开源项目日志(一)
前言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目.本篇开始会陆续更新本人对github上开源的一个很不错的项目的一点点学习积累.也就是,探究着别人写的源码,我学到了 ...
- (转)直接拿来用!最火的iOS开源项目(一)
1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是G ...
- GitHub上最火的40个iOS开源项目
1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS. Mac OS X网络通信类库,现在是 ...
随机推荐
- 大数字运算——2、BigDecimal
package com.wh.BigInteger; import java.math.BigDecimal; import java.util.Arrays; /** * @author 王恒 * ...
- mvc中Html.AntiForgeryToken的作用和用法
参考:http://blog.csdn.net/cpytiger/article/details/8781457
- APM技术原理
链接地址:http://www.infoq.com/cn/articles/apm-Pinpoint-practice 1.什么是APM? APM,全称:Application Performance ...
- [lua] future模式*协程
以下是lua实现的future模式.基于cocos客户端 local function param_pack( params, callback ) table.insert(params, call ...
- lua的Metatables和Metamethods
Metatable: lua中的每一个表都有其Metatable,默认情况下Metatable为nil.可通过setmetatable函数设置或者改变一个表的Metatable, 也可以通过getme ...
- Eric6中编译窗体时,弹出提示:无法启动pyuic5的解决方案
用 Eric6 与 PyQt5 结合,非常方便的实现界面与逻辑分离,满足python的极速GUI编程,不需要在界面上花很多时间. 这是一对GUI开发完美的组合! Eric6中设计窗体时,弹出提示:‘无 ...
- JDBC+MYSQL初始学习
JDBC+MYSQL初始学习 一.学习准备 Eclipse 开发工具 + mysql数据库+navicat 数据库连接工具 Mysql的数据库连接驱动jar包 + testing测试集成+mave ...
- 【PYTHON】编码是个细致活
python逆向获取DNS时用到一个函数socket.gethostbyaddr,传入本地主机地址后报错如下: UnicodeDecodeError: 'utf-8' codec can't deco ...
- CUDA 编程实例:计算点云法线
程序参考文章:http://blog.csdn.net/gamesdev/article/details/17535755 程序优化2 简介:CUDA ,MPI,Hadoop都是并行运算的工具.CU ...
- Map使用操作系统内存的情况
public static void main(String[] args) { System.out.println("程序启动-->可用内存:"+(getSystemMe ...