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网络通信类库,现在是 ...
随机推荐
- C# 线程知识汇总
一.基本概念 进程(process)是windows系统中你的一个基本概念,它包含着一个运行程序所需要的资源.一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或者多个线程.线程是操作 ...
- Android java处理保留小数点后几位
方式一: 四舍五入 double f = 111231.5585; BigDecimal b = new BigDecimal(f); double f1 = ...
- YARN环境搭建 之 二:CentOS7.0 JDK配置
Hadoop是Java写的,他无法使用Linux预安装的OpenJDK,因此安装hadoop前需要先安装JDK(1.6以上) 原材料:在Oracle官网下载的32位JDK: 说明: 1.C ...
- JVM内存划分以及值传递和引用传递的区别
Day05_SHJavaTraing_4-8-2017 一.JVM对自己的内存划分为5个区域 1.方法栈:所有的方法运行的时候进入内存 2.堆:存储的是容器和对象 3.方法和数据共享 ...
- 六星经典CSAPP笔记系列 - 作者:西代零零发
六星经典CSAPP笔记(1)计算机系统巡游 六星经典CSAPP笔记(2)信息的操作和表示 六星经典CSAPP-笔记(3)程序的机器级表示
- CDR案例:广告条幅banner设计
本教程练习使用裁剪.位图.变换.阴影.透明度等特殊效果等工具制作广告条幅banner,具体操作如下. 1. 执行“文件”→“新建”命令,打开“创建新文档”对话框,在“宽度”选框右侧选择单位为“像素”, ...
- poj 3669 bfs(这道题隐藏着一个大坑)
题意 在x,y坐标系,有流星会落下来,给出每颗流星落下来的坐标和时间,问你能否从(0,0)这个点到一个安全的位置.所谓的安全位置就是不会有流星落下的位置. 题解: 广搜,但是这里有一个深坑,就是搜索的 ...
- Matrix(坑)
https://github.com/florent37/Android-3D-Layout
- 安装Mysql的一些问题,比如Net Connect 卸载不掉,注册表相关操作
我安装mysql用了一段时间后卸载了,在安装就发现安装不了了,原因就是卸载的时候Net Connetc无法卸载,我试了一个月也没有解决后来百度各种还是没有办法解决.于是就尝试自己手动卸载注册表.在“开 ...
- 为什么在JavaScript中0.1+0.2不等于0.3?
0.1+0.2不等于0.3?是不是有点颠覆你的认知,但是,在js中,是真实存在的! console.log(0.1+0.2); // 0.30000000000000004 其实这都是因为浮点数运算的 ...