VOIP 语音视频通话 ---总述
VOIP 语音视频通话
实现的功能分两个phase。
phase 1 要实现的功能:
–两个浏览器之间实现视频 语音 文本交流。
phase 2 要实现的功能:
–实现桌面 APP, 网页端, Android APP 端 视频 语音互通。
涉及到的工具(技术栈)
- Node.js
–> 用作 https web server,承载 网页 客户端的 内容。
–> 选择的理由是 Node.js 是基于 JavaScript的, 这样前后端学习一门语音就OK了,机智如我,O(∩_∩)O哈哈~ - freeswitch
–> 作为 VOIP 的 信令 server。
–> 本feature使用的通信信令是 SIP。 - webrtc
–> webrtc 为当前实现网页端实时视频通话必选,别无他选。 - jssip
–> 使用 JavaScript 实现的 SIP协议栈。
–> 信令使用到的是SIP,这个库可以使客户端直接发出 SIP信令。
工作流程: - 网页 client 1,2 分别从webserver 请求到网页。
- client 1 发送链接请求到 SIP server。SIP server 转发到 Client 2.
- 两个客户端通过信令交互得知彼此的 IP port 信息(这里比如牵扯到 NAT及防火墙穿透,以后分析)以及 双方支持的媒体属性。
- 基于step 3 中协商好的内容就可以进行实时视频语音通信。
phase 2的内容以后会逐渐补充。
接下来会一步一步实现 phase 1 中的功能。
VOIP 语音视频通话 ---总述相关推荐
- VoIP技术(5)--VoIP语音质量保证
5.VoIP语音质量保证策略 影响通信的语音质量的因素很多.在VoIP系统中,虽然与电路交换系统在大多数情况下都是类似的,但也有其不少特殊的因素,如编解码类型.较长的时延.时延抖动.分组的丢失等. 考 ...
- 一台手机如何在微信语音/视频通话时把声音录下来
目录 背景 解决方案 功能实现 使用流程 预览 思路 待实现的功能 已测试设备 源代码 背景 微信语音/视频开会,一遍听不清楚 ? 和客户微信语音沟通过后又忘记重点 ? 想保留和重要的人的语音音频? ...
- html5 视频语音对讲,一种基于WebRTC的多人语音视频通话方法及系统与流程
本发明涉及视频通话领域,特别涉及一种基于WebRTC的多人语音视频通话方法及系统. 背景技术: 随着互联网技术和通信技术的快速发展,人们的交流方式与交流内容得到了极大的丰富和发展.在节奏越来越快的信息 ...
- 关于大型网站技术演进的思考(九)--网站静态化处理--总述(1)
在存储瓶颈的 开篇我提到像hao123这样的导航网站只要它部署的web服务器数量足够,它可以承载超大规模的并发访问量,如果是一个动态的网站,特别是使用到了数据 库的网站是很难做到通过增加web服务器数 ...
- Makefile详解(一)-介绍及总述
以下内容为转载:http://zhan.renren.com/ilinux?from=template Makefile详解 序 编译时,编译器需要的是语法的正确,函数与变量的声明的正 ...
- LSMW批处理使用方法(01)_总述及界面说明
一.总述 在SAP系统中,批处理操作有多种方法.如果是对一个事物码(TCODE)进行批处理操作,常用的是LSMW.LSMW全称是Legacy System Migration Workbench.它能 ...
- 自考那些事儿(六):计算机网络原理(总述篇)
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 一年一次的自学考试盛宴马上又要来临:回想自己已是第五次征战自考考场,至今依稀记得第一次 ...
- Web应用程序系统的多用户权限控制设计及实现-总述【1】
中大型的Web系统开发均需要权限的配置,基于多角色,多用户的操作权限管理是一个系统开发的基础.搭建好一套权限,用户,角色,页面一体的开发架构,可以用于后期业务的开发,同时也可用于不同业务的系统开发. ...
- 最简单的视音频播放示例1:总述
===================================================== 最简单的视音频播放示例系列文章列表: 最简单的视音频播放示例1:总述 最简单的视音频播放示例 ...
- 阿里大数据之路 总述
大数据之路 一.总述 1. 数据采集 2. 数据计算 3. 数据服务 4. 数据应用 一.总述 数据有序.有结构地分类和存储,从而产生价值. 实时:数据量大,要实时.准确 离线:采集.存储.计 ...
最新文章
- Java学习lesson 09
- 让小乌龟可以唱歌——对Python turtle进行拓展
- php修改音频文件_解析用PHP读写音频文件信息的详解(支持WMA和MP3)
- 【opencv4】opencv视频教程 C++ 6、图像混合、线性混合、混合权重相加addWeighted()、混合加add()、混合乘multiply()
- Java窗口(JFrame)从零开始(8)——文本框+文本域+密码框
- 2016年CCF第七次测试 俄罗斯方块
- 01-07 Linux三剑客-grep
- ip变更 mysql无法启动_MySQL 重装MySQL后, mysql服务无法启动
- jquery插件图片浏览
- zookeeper学习02 使用
- 用Aspose.Words 从Word文档中提取表格数据
- asp.net my sqlHelper
- oracle保留两位小数解决方案
- 火车头伪原创php-火车头采集伪原创插件
- sklearn 5.18.3 SGD - Maximum margin separating hyperplane
- [转载]Android开发网上的一些重要知识点
- 金融第三方网银在线支付通道、支付宝网银在线支付通道对接
- 高仿富途牛牛-组件化(一)-支持页签拖拽、增删、小工具
- java 往数组增加一个元素
- 非全研究生业余研究:利用十一假期训练了室内定位模型
热门文章
- 导出表钩子之EAT HOOK解析
- 德怀特·艾森豪威尔(1890-1969)美国第34任总统,陆军五星上将。
- 王者荣耀游戏高清壁纸(手机|电脑),来袭
- 如何对华为网络产品选型
- 小巧时尚的机械键盘,通吃五台设备,雷柏MT510PRO键盘体验
- [流行偶像]分析王菲唱腔的精辟文字(转载)
- 在线教会你Excel批量转PDF的小妙招
- vue配置sass全局变量
- SpringBoot系列教程(六十七):SpringBoot自定义Fastjson为JSON消息转换器
- Root Mi note lte with SuperSU without flashing TWRP Recovery permanently (by quqi99)