本帖 旨在交流讨论FreeSWITCH的混屏能力,测试结果,以及分析是否有提升的可能性能


FreeSWITCH软件版本:1.6.11

硬件配置:戴尔服务器,双CPU Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz,内存16GB(8+8双通道)

测试环境:利用sipp与FS建立媒体通道,并且sipp上行打流到FS服务器的为1080P 25fps GOP250视频。

会议配置:1080P 30fps


20.19.01.29


测试结果:


1. 5x5布局,只有20人入会,帧率只能维持在20~25fps左右,无法达到30fps

结果分析:


1.通过增加log,发现帧率无法提升是由于FS混屏采用的是多线程补丁式混屏处理,即每个成员起一条线程(conference_video_muxing_write_thread_run),只负责自己分配的窗口,在canvas->img上特定坐标范围完成各自的混屏处理。主编码处理线程需要等待所有混屏线程处理完本轮混屏,才能开始编码。从打印的结果来看,混屏处理等待有时候会超过33ms,从而造成编码帧率下降。

2.conference_video_scale_and_patch接口中,将canvas->mutex互斥锁去掉,可维持在30fps。

3.因此,本人大概率认为FreeSWITCH的编码帧率无法达到预期目标,由于混屏处理同步等待,以及互斥锁导致多线程混屏竞争导致处理较慢。

讨论:


期望有相关开发人员来本帖讨论,提升FreeSWITCH的混屏能力,欢迎大家来跟帖讨论,谢谢!

FreeSWITCH 1080P混屏测试讨论帖相关推荐

  1. 把款软件可以测试双显卡,以进步之名! APU双显卡的混交测试

    以进步之名! APU双显卡的混交测试 2011年09月21日 08:23作者:厂商投稿文章出处:泡泡网原创 分享 如今很多入门级显卡就可以在中等画质下流程运行大部分主流3D游戏,像HD6450 .HD ...

  2. 坦克世界进不去服务器未响应,坦克世界闪退([随便谈谈] 坦克世界未响应闪退问题讨论帖。楼主已经找到原因(大概)。)...

    坦克世界闪退([随便谈谈] 坦克世界未响应闪退问题讨论帖.楼主已经找到原因(大概).),哪吒游戏网给大家带来详细的坦克世界闪退([随便谈谈] 坦克世界未响应闪退问题讨论帖.楼主已经找到原因(大概).) ...

  3. 极米亮相CES展 首推3000元内1080p无屏电视

    1月9日,第51届国际消费类电子产品展览会(又称CES展),在美国拉斯维加斯正式拉开帷幕.极米作为全球无屏电视领导品牌之一,往届CES展就已经看到了极米的身影,而今年的CES对于极米来说又是一次新实力 ...

  4. android 代码功能测试,Android触屏测试实例代码

    本文实例详细描述了Android触屏测试代码,可实现对触屏的点击.移动.离开等事件的处理,对于Android初学者有很好的借鉴价值. 具体功能代码如下: package com.test; impor ...

  5. win10无线投屏_Win10电脑屏幕分割成四分屏投屏测试

    Win10电脑屏幕分割成四分屏投屏测试 昨天下午小编趁双十一购买的多屏显卡到手了,赶紧装在电脑上,配上我们[AWIND奇机]的无线投屏器,将Win10电脑屏幕分割成四分屏,然后在分别投屏. 硬件准备: ...

  6. 宋体测试液晶屏测试小程序

    在本文中,我们主要介绍宋体测试的内容,自我感觉有个不错的建议和大家分享下 液晶屏测试小序程 自己写的一个液晶屏测试小序程,直接写frambuffer,统共四幅画面,如下所示: 序程很简单,就是停止内存 ...

  7. 单通道驱动LVDS驱动1080P液晶屏

    上周末把单通道LVDS驱动1080P液晶屏调通了.通过FPGA接收单8的LVDS输入,内部一个倍频,数据组合格式如下:

  8. 连麦互动直播中混屏技术设计

    连麦互动直播中混屏技术设计 目录 一. 混屏原理 二. 实现混屏关键技术 1. 并发解码 2. 图像合成 3. 视频同步 4. 编码输出 5. 内存管理 三. 具体实现流程 1.混屏流程 2.混屏算法 ...

  9. 频谱仪的更改ip_IP3 三阶交调截取点测试(转帖)

    正 文 IP3 三阶交调截取点测试(转帖)(2007/2/25 11:56) IP3 三阶交调截取点测试(转帖) 摘要:在宽带无线通讯系统的设计过程,设计者们在设计放大器.混频器.变频器时,在诸多的设 ...

最新文章

  1. 百试不爽的30条职场经验(转)
  2. Go的RESTful
  3. python generator输出_python 高级特性:Generator(生成器)
  4. php短链接api,PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
  5. MATLAB常用日期和时间函数
  6. (二)Luence——代码实现索引及搜索
  7. 第四周 项目中的白盒测试
  8. Firebug 教程
  9. 【C语言】递归详解汉诺塔问题
  10. 大数据技术之Hadoop概述
  11. Linux unison 效率,linux inotify+unison双向同步环境部署
  12. Instagram帖子类型及标题撰写技巧
  13. ESP32创建局域网服务器VScode
  14. 公司注册地址要注意,小心被拉“黑”,征信受影响
  15. python《打气球》小游戏(二)
  16. 最强蜗牛换了手机找不到服务器,最强蜗牛怎么换服务器 换区换服务器全流程...
  17. 微信公众号数据2019_2019年9月原创公众号排行榜数据报告出炉
  18. Gazebo仿真学习——3.使用ROS-control设置模拟控制器驱动机器人关节
  19. 【笔记】 数字集成电路设计(一)
  20. LLVM每日谈之三十一 如何读写LLVM的bitcode

热门文章

  1. python基础第十一章:字典
  2. 实践 | k-means聚类(使用鸢尾花数据集)
  3. Firefox火狐设置
  4. 海康iv4200支持多少_体验固态移动硬盘怎么选?1TB 才 900 不到的海康威视 T100F 怎么样?...
  5. Failed to connect to the specified server. Server library could not be loaded
  6. 软考高级信息系统项目管理师系列之四十五:信息系统综合测试与管理
  7. 泊松分布知识总结及例子
  8. 编译原理期末复习资料
  9. Pcb课程设计——国产立创EDA
  10. 解决Navicat for MySQL 连接 Mysql 8.0.11 出现1251- Client does not support authentication protocol 错误