当前位置: 首页 > news >正文

基于Freeswitch实现的Volte网视频通知应用

现在运营商的Volte网络已经很好的支持视频通话了,因此在原来的电话语音通知的基础上,可以更进一步实现视频的通知,让用户有更好的体验,本文就从技术角度,基于Freeswitch来实现此类应用(本文假设读者已对Freeswitch已有一定了解)。

  • 关键点之视频编解码:

视频文件一般是采用H264编码的mp4文件,这对于Freeswitch来说是支持的,前提是Freeswtcih必须具备mod_av的编辑码模块,这点可以通过show codec命令来予以确认。

  • 关键点之呼叫逻辑

从正常的理解角度,用freeswtich发起呼叫的话都会使用originate命令,这一点没有问题,但如果直接发起视频呼叫的话,用户这边会直接看到一个视频接听的标记(见下图),出于使用习惯的原因,可能一般用户都会拒绝此类呼叫。因此呼叫的逻辑需要变更为首先发起语音呼叫,待用户摘机接听后重新发起视频协商请求,通过后再播放视频,这样就不影响原有的用户接听习惯了。

从sip通信协议的角度,呼叫的流程如下图所示:

  • 关键点之单向视频流

对于视频呼叫,默认的话会与被叫形成视频通话,也就是双向的视频流,用户收集的摄像头会采集视频并发往服务器。但是对于视频通知类业务来说,这个是不必要的,而且也是为了保护用户的隐私。这一点需要通过设置sip协议的sendonly参数来控制,Freeswitch需要对这一点进行实现。

以上便是Freeswtich实现视频通知业务的关键技术点所在,有兴趣的朋友可以自行测试研究。

相关文章:

  • Git 使用规范:起名字、提交描述的最佳实践
  • Linux(ubuntu)下git / github/gitee使用
  • Java:表单生成excel文档 poi 通用
  • 001、安装 Rust
  • 【软件测试】为bug而生
  • HarmonyOS page生命周期函数讲解
  • 水准网、平面导线平差
  • 双击编辑el-table的单元格数据
  • 【ADB】电脑通过ADB向手机传输文件
  • Python 实现 PDF 到 Word 文档的高效转换(DOC、DOCX)
  • GET和POST请求
  • Linux驱动开发学习笔记6《蜂鸣器实验》
  • 智能优化算法应用:基于减法平均算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 边缘计算网关:重新定义物联网数据处理
  • WPS中如何根据身份证号生成出生日期并排序
  • 【node学习】协程
  • 【译】理解JavaScript:new 关键字
  • 2017前端实习生面试总结
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • AngularJS指令开发(1)——参数详解
  • bearychat的java client
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • chrome扩展demo1-小时钟
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • Lucene解析 - 基本概念
  • MYSQL 的 IF 函数
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Spring声明式事务管理之一:五大属性分析
  • vue-router的history模式发布配置
  • 给github项目添加CI badge
  • 看域名解析域名安全对SEO的影响
  • 聊聊flink的BlobWriter
  • 手写一个CommonJS打包工具(一)
  • 为什么要用IPython/Jupyter?
  • 第二十章:异步和文件I/O.(二十三)
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​520就是要宠粉,你的心头书我买单
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #在 README.md 中生成项目目录结构
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (编译到47%失败)to be deleted
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (四)c52学习之旅-流水LED灯
  • (五)Python 垃圾回收机制
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • .bat批处理(五):遍历指定目录下资源文件并更新