mod_verto 免插件屏幕分享 + mod_av GPU 硬解实战

FreeSWITCH模块实战指南:从mod_conference到mod_verto的5个高能应用场景 本文深入解析FreeSWITCH模块的实战应用,聚焦于从mod_conference到mod_verto的五个高能场景。内容涵盖构建企业级视频会议系统、实现WebRTC无缝通信、打造智能呼叫中心、开发动态IVR与语音机器人,以及构建高可用媒体网关。旨在为开发者和运维人员提供直接的配置指南与性能调优技巧,帮助将FreeSWITCH的强大功能快速落地到实际产品中。 阅读详情

该方案旨在通过以下两个核心组件的协同工作,提升 FreeSWITCH 视频会议的性能和用户体验:

mod_verto 前端优化:修改 video_demo 和 verto_communicator 这两个基于 WebRTC 的前端示例,将屏幕分享功能从需要安装的 Chrome 插件,改为使用浏览器自带的、无需安装的系统级屏幕捕获功能。这简化了用户操作,提升了易用性。

mod_av GPU 硬件加速:集成并启用经过 AI 优化的 mod_av 模块,利用 NVIDIA GPU 的 NVENC/NVDEC 技术进行视频的硬件编码和解码。这能极大地降低服务器的 CPU 占用率,支持更多路高清视频流,实现性能“起飞”。

🛠️ 核心组件与配置

1. mod_verto 前端 (Screen Sharing)

功能:提供基于 WebRTC 的网页音视频通话和会议功能。

优化点:将屏幕分享功能修改为使用 Chrome 浏览器原生的 getDisplayMedia API,用户无需再下载和安装任何扩展程序即可分享屏幕。

参考示例:

video_demo: 一个简化的示例,适合开发者在此基础上进行二次开发和定制页面。

verto_communicator: 一个功能更完善、界面更美观的客户端示例。

2. mod_av 模块 (GPU Hardware Acceleration)

功能:为 FreeSWITCH 提供视频处理能力,特别是硬件编解码。

优化点:使用经过 AI 辅助重构的版本,完美适配 NVIDIA GPU,实现硬编硬解。

性能优势:根据测试,在配备 16GB 显存的 GPU(如 Tesla T4)服务器上,可稳定支持约 30 路 720p 视频流,而 CPU 占用率极低。

环境依赖:

操作系统:Ubuntu 24.04

CUDA Toolkit: 13.0

需安装支持硬件加速的 FFmpeg,并确认包含 cuvid/nvdec 解码器和 nvenc 编码器。

📦 开源资源与参考

 开源地址:FreeSWITCH 性能优化:mod_verto 免插件屏幕分享 + mod_av GPU 硬解实战

该仓库包含了优化后的 avcodec.c 核心文件以及 video_demo 和 verto_communicator 的打包文件。

mod_verto 安装参考: https://blog.youkuaiyun.com/Java_lilin/article/details/79422415

这篇博客详细介绍了如何编译安装 mod_av 模块以及配置 mod_verto 和相关前端示例。

mod_av 硬件加速方案详情: https://mp.weixin.qq.com/s/DxCm1op0-1Z4PjtiFd81OQ

该文章详细介绍了 GPU 硬件加速版的特性、性能数据和部署方法。

🖼️ 界面展示

以下是该方案实现后的视频会议界面效果:

图片

FreeSwitch WebRTC分享笔记和代码示例 在本文中,我将分享有关FreeSwitch和WebRTC的笔记和代码示例。FreeSwitch是一个开源的电话交换机平台,而WebRTC是一种用于在Web浏览器之间进行实时通信的技术。mod_verto是FreeSwitch的模块,它提供了与WebRTC客户端进行通信所需的功能。请注意,上面的代码示例仅仅是一个基本的演示,用于说明如何在浏览器中使用FreeSwitch和WebRTC进行音频通信。接下来,我们将创建一个HTML文件,用于在浏览器中运行我们的WebRTC应用程序。在上面的代码中,我们引入了。 阅读详情

相关推荐

freeswitch报错:mod_verto.c:1984 [::1]:39622 WS SETUP FAILED

verto_communicator还是video_demo都是使用wss登陆的,建立session会话使用的是sip信令。这里主要是证书的问题。把其中的localhost或者127.0.0.1改为自己的ip,用ifconfig去看。

宝安小雨 703

HTML5方式使用freeswitch——VERTO模块

mod_verto 在freeswitch中有mod_sofia模块支持sip协议。sip协议用于媒体链接建立前的信令交互。像mod_sofia这种模块在freeswitch中成为endpoint,除了mod_sofia,freeswitch还有一个mod_verto模块。mod_verto使用freeswitch自定义的一个协议,通过websocket进行信令交互。verto协议基于jsonR

大头菜馅馒头 1万+

mod_verto-bridge:FreeSWITCH 1.6 mod_verto的API扩展

mod_verto-bridge扩展 这是 ( ) 端点的扩展。 这用作在Web应用程序中使用mod_verto的API。 SIP.js的替代品。 此扩展名是Verto演示代码的修改版本,该代码将在用于与FreeSWITCH进行通信。 入口点是callIntoConference()。 接收语音桥接号码,语音会议的用户名,会议中的用户ID和可选的回叫。 应该放在的verto video_demo目录中。 使用./deploy.sh安装。 组件 ###扩展(verto_extension.js) 需要将该文件添加到index.html JavaScript导入中。 该文件提供了自己的函数,函数和数据,这些函数和数据替代了verto.js中的代码,从而使该文件一旦添加即可独立运行,而无需处理多个文件。 覆盖verto.js中定义的“回调”对象。 覆盖verto挂断处理程序。

freeswitch H5调用verto 模块

在freeswitch中有mod_sofia模块支持sip协议。sip协议用于媒体链接建立前的信令交互。像mod_sofia这种模块在freeswitch中成为endpoint,除了mod_sofia,freeswitch还有一个mod_verto模块。mod_verto使用freeswitch自定义的一个协议,通过websocket进行信令交互。verto协议基于jsonRpc协议,通过json格式来传输数据。 首选需要对freeswitch 的verto模块进行配置。参考 https...

moyebaobei1的博客 1859

更新FreeSWITCH的Web管理端

FreeSWITCH提供了一个xml_rpc组件,支持用Web的方式管理FreeSWITCH。但是功能相当有限。因此我在这里做了一点小的扩展,允许执行CLI命令行,并且获得结果。 需要把文件解压缩、覆盖htdocs下的portal目录。 需要FreeSWITCH已经加载mod_xml_rpc 然后就可以通过http://:8080/portal打开管理页面。 建议通过官方文档了解mod_xml_rpc的配置方法。

工业互联网工控安全与工业质检AI大模型建设方案.pptx

工业互联网工控安全与工业质检AI大模型建设方案.pptx

第五章 WebRTC, SIP和 Verto

WebRTC,视频和音频的实时通信,已经在超过十亿个浏览器上工作。很快移动应用程序就会成倍增长。WebRTC有望成为物联网(IOT)所采用的多媒体通信层。 FreeSwitch是一个完整的WebRTC解决方案,使现有的和遗留的应用程序能够通过新的渠道为用户服务。此外,Freeswitch是一个超级可编程应用服务器,是您创建杀手级服务的基础,它定义了“快速致富”的新概念...

至虛極,守靜篤 1万+

2024 《计算机网络》实验教学指导书.doc

2024 《计算机网络》实验教学指导书.doc

freeswitch1.10.7 安装&部署排坑

在1.10.4+版本后,安装和部署流程发生了很大变化,例如sofia和spandsp模块需要单独安装等,实际上增加了部署的复杂度。

dustinqi的博客 7095

不平衡电网下自抗扰顺序模型预测PWM整流器控制仿真模型(Simulink仿真实现)

内容概要:本文围绕面向城市空中交通的多无人机路径规划问题展开研究,提出了一套融合全局规划、动态避障与局部协同调整的综合路径规划方法。研究内容涵盖基于改进RRT算法与图论的全局路径规划、基于动态风险场和动态窗口法(DWA)的模型预测控制实现动态避障,以及基于分布式协同控制的多无人机局部路径协同策略。通过Matlab平台构建仿真环境,在多种典型城市交通场景下对所提方法进行了系统性验证,结果表明该方法在路径安全性、编队稳定性与任务效率方面表现优异。文章还深入探讨了算法的创新点与未来研究方向,为复杂城市环境下多无人机系统的自主协同提供了理论支撑与技术路径。; 适合人群:具备自动化、控制理论、计算机科学或相关领域基础知识,从事无人机系统、智能交通、路径规划、多智能体协同控制等方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①为城市空中交通系统中的多无人机安全、高效飞行提供可靠的路径规划解决方案;②支持在复杂、动态的城市场景中开展无人机自主导航、编队飞行与协同控制的技术研究与仿真验证。; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点关注算法的具体实现细节、参数配置对性能的影响以及不同仿真场景下的实验设计,以深入理解各模块的集成逻辑与实际应用效果。

基于OpenCV的驾驶疲劳检测与预警系统设计

PERCLOS(Percentage of Eye Closure)是一种基于眼睑闭合程度的疲劳度量指标。在基于OpenCV的驾驶疲劳检测与预警系统设计中,PERCLOS可以用于检测驾驶员的眼睑闭合程度,以判断其是否疲劳。该函数用于检测视频流中人脸的疲劳程度。具体地,该函数通过检测人脸的眼睛和嘴巴的状态来评估人脸的疲劳程度。眼睛状态是通过计算眼睛的长宽比(eyear)来判断,如果长宽比小于某个阈值,则认为眼睛闭合,表示人处于疲劳状态。

2301_79810943的博客 2326

freeswitch之源码安装

在Ubuntu(虚拟机)上多次使用源码方式安装freeSwitch软件,由于freeSwitch在编译中依赖很多软件和工具,再加上系统版本和软件源的原因,每一次安装都遇到很多问题,花费大量时间排查,因此,本文记录一下安装过程和一些问题的解决方法。下载编译安装: https://github.com/signalwire/signalwire-c.git。方法一:下载安装 https://github.com/signalwire/libks.git。步骤1: sudo ./bootstrap.sh。

szkbsgy的专栏 7979

大白映射 宝马Esys编程设码映射、USB设备映射

大白映射,宝马Esys设码编程、USB设备映射

denson0394的博客 4794

freeswitch mod-verto分析

https://www.it1352.com/928219.html

liuweihui521的专栏 2507

UOS忘记密码别慌!用LiveCD工具5分钟搞定,附命令行救援模式详细步骤

本文详细介绍了UOS系统密码遗忘时的两种解决方案:图形化LiveCD工具和命令行救援模式。针对普通用户,LiveCD工具提供5分钟快速重置密码的便捷操作;而技术人员可通过命令行深度解析系统分区挂载与密码修改流程。文章还包含安全加固建议,帮助用户预防类似问题发生。

weixin_27032989的博客 588

优快云专栏限时活动!福利公告必读!

本人优快云付费专栏周排名27名专业博主,每周文章平均阅读量约7w以上!

FJN110的博客 3151

FreeSWITCH mod_verto 采用 json-rpc 信令格式

FreeSWITCH mod_verto 采用 json-rpc 信令格式 登录信令 { "jsonrpc": "2.0", "method": "login", "id": 1, "params": { "login": "1000@MY-IP-ADDRESS", "loginParams": {}, "userVa...

yine的专栏 2146

基于JeecgBoot 3.9.0 开源项目的企业管理平台

基于JeecgBoot 3.9.0 开源项目的企业管理平台

宁波阿成的博客 370

freeswitch verto communicator客户端

概述 我们在web客户端使用sip协议时用的比较多的是sipml5库和jssip库。 但是sip协议比较重,又复杂,所以freeswitch内部就自定义了一个verto协议,方便在web页面上使用音视频服务。 verto协议通过websocket传输信令,协议内部数据格式为json,这样比较符合互联网开发人员的习惯,同时比sip协议更加轻量化。 freeswitch有一个endpoint模块叫做mod_verto,是用来作为服务端的协议适配器。 freeswitch的源码中有几个支持ve...

求真得真的博客 3211

vue2 - 详细实现播放AMR格式音频并实现自定义播放器样式,支持amr音频文件在线地址URL播放、调用服务端API接口获取二进制文件流amr形式、用户本地上传amr文件并实现立即播放(详细代码)

vue2,amr,amr文件播放,vue播放amr音频文件以及在线url跨域问题解决,vue使用audio标签播放amr音频,amr跨域解决,amr网页解码播放,文件上传后怎么播放,vue2播放.amr语音文件,api接口形式调用获取的amr如何播放,vue中如何使用audio元素播放AMR格式的文件,进度条,vue前端如何播放AMR格式的音频文件,vue播放语音文件AMR格式,播放amr格式音频AMR录音机,h5原生audio播放amr格式的音频,VUE2使用benz-amr-recorder 实现解码、

✅ 精选推荐文章 7413

Claude Code(8):使用 skill-creator 打造属于测试人员的 Skills

本文介绍了如何使用Claude Code的skill-creator工具快速创建测试相关的Skills。skill-creator是一个专门用于创建新Skills的Skill,相比手动创建更高效。文章详细演示了安装skill-creator的步骤,并通过创建"测试计划编写助手"的实战案例,展示了如何通过对话方式定义Skill名称、触发条件和功能需求。skill-creator会自动生成完整的SKILL.md文件和目录结构,用户只需确认即可完成Skill创建。

blues_C的博客 522

freeswitch 权威指南 --- 基础篇

freeswitch 权威指南 --- 基础篇

freeking101的博客 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

fs-verto安装及使用说明

背景说明 在freeswitch中有mod_sofia模块支持sip协议。sip协议用于媒体链接建立前的信令交互。像mod_sofia这种模块在freeswitch中称为endpoint,除了mod_sofia,freeswitch还有一个mod_verto模块。mod_verto使用freeswitch自定义的一个协议,通过websocket进行信令交互。verto协议基于jsonRpc协议,通过json格式来传输数据。 它作为一个端点存在,也就意味着可以用它来和PSTN或sip终端进行互联互通, 下面就

yine的专栏 2152

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

freeswtich verto+java esl视频会议

freeswtich verto安装参考https://blog.youkuaiyun.com/java_lilin/article/details/79422415 安装之后可以自定义界面如我写了个 基于https://www.mdui.org这个ui 如果你觉得实现麻烦 可以去https://item.taobao.com/item.htm?id=609689526078 如果你对...

Java_lilin的专栏 1665

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: Waveshare ESP32-S3-Touch-AMOLED-1.8 智能手表固件 (Rust 版)
下一篇: 基于 XDP 极速抓取 SIP 音频流,赋能 AI 实时翻译与对话
java_lilin
博客等级 码龄14年 364粉丝 124原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值