jdk db版本_企业视频会议系统音视频通话EasyRTC-SFU版本研发中更合适的配置文件格式-TOML配置介绍 - TSINGSEE...

在 EasyRTC-SFU 版本的开发过程中,很多配置需要存储在配置文件中。开发人员经常使用的配置文件有 ini、json、xml、yaml 等格式,在综合分析各种文件格式的优劣后,我们最终确认使用 toml 格式作为配置文件格式。

206e4e2ec72b27b523b281cccc2c0ae7.png

ini 文件格式是最传统的配置文件格式,其书写格式如下:

[http]
; 是否开启登陆输入错误,则锁定用户 n 分钟的功能,true/false
http_open_lock_error_user=true
; 登录错误 7 次
http_error_numbers=7
; Sqlite3数据库文件路径
dir_data=data/db

.ini 文件格式提供了一种简单的配置文件方案,但是在使用过程中会出现部分问题。比如对于布尔类型的值,既可以是true/false,又可以使0/1,会使人产生混乱的情况。并且对于字符串变量也未添加“”明确表示其为字符串变量。对于多层嵌套和数组的配置支持也不不是很完善。
.json 文件格式在数据存储和传输的时候非常方便,在需要网络传输以及序列化反序列化操作时常用,其基本格式如下:

{"a": "a","b": "b","c":{"x": "","y": ""},"e":[{ "x":"e[0].x", "y":"e[0].y" },{ "x":"e[1].x", "y":"e[1].y" }]}

json 格式虽然支持很多种操作,但是无法添加注释,并且如果程序员误操作,经常会让文件中的配置全部缩写在一起,导致查看困难的问题。
.xml 文件是一种可扩展标记语言,其基本写法如下:

<?xml version="" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

xml 被设计用来传输和存储数据,但是由上文可以看出编写 xml 文件比其他配置文件都要多写很多字符,不符合便捷的需求。
.yaml 文件是目前最常用最流行的配置文件格式。它支持对象、数组等很多复杂数据,大小写敏感,缩进不允许使用 tab,必须使用空格。其格式如下

languages:- Ruby- Perl- Python 
websites:YAML: yaml.org Ruby: ruby-lang.org Python: python.org Perl: use.perl.org

yaml 虽然很适合,但是它的语法过于复杂,并且强制使用缩进表示层级关系,对于部分无编辑器的机器非常不友好。
因此最终确认采用 .toml 文件作为配置文件。其基本格式如下:

[http]
# HTTP 服务端口,非安全的方式,正式使用请填写 false
httpEnable = true
httpAddr = ""
# HTTPS 服务端口,安全考虑仅支持 HTTPS
httpsAddr = ""
# HTTPS 公有证书
certFile = "./certs/"
# HTTPS 私有秘钥
privateKeyFile = "./certs/"
# 是否开启 API 验证
apiAuth = true# 接口调用token或sid 有效时间 单位(秒), 86400 为 24 小时,24*60*60
tokenTimeout = 86400

该种格式的配置文件比 ini 文件更强大,比 .yaml 更简单,不采用缩进、括号等方式,可读性和可编辑性非常好,因此最终采用此种格式作为项目的配置文件。

a2d8f15d1ad4a03cc67fdda0930cb4c1.png

toml 文件的官方网址为。感兴趣的人可以去官网继续学习更多的用法。

最后再来讲一下EasyRTC-SFU版本的特点。SFU架构特点是不对音视频进行混流,收到某个终端共享的音视频流后,就直接将该音视频流转发给房间内的其他终端。EasyRTC-SFU版使用该方案能够对CPU资源实现低消耗,且有很大的灵活性,能够更好地适应不同的网络状况和终端类型。

0d6675ccfc560ec259f5017b01169c7a.png

如若想了解更多内容,欢迎访问TSINGSEE青犀视频,也可以随时咨询我们。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562896.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP开源管理系统 Gms,GMS 一个成熟的gms系统,拥有基本的权限管理和分类,后台很好 Windows Develop 249万源代码下载- www.pudn.com...

文件名称: GMS下载 收藏√ [5 4 3 2 1 ]开发工具: PHP文件大小: 14012 KB上传时间: 2016-01-03下载次数: 0提 供 者: 马继康详细说明&#xff1a;一个成熟的gms系统,拥有基本的权限管理和分类&#xff0c;后台很好-a good gms system文件列表(点击判断是否您需要的文件&a…

numpy序列预处理dna序列_个人隐私DNA亲子鉴定序列

个人隐私DNA亲子鉴定序列DNA亲子鉴定是基于医学&#xff0c;法律或个人原因解决亲子关系的最先进&#xff0c;最准确的方法。周转时间&#xff1a;凭借先进的DNA技术&#xff0c;亲子鉴定准确&#xff0c;快速且价格合理。现在可以在样品到达实验室后的3至7个工作日内确定亲子关…

usb接口驱动_关于电脑上的USB接口,都在这儿了!

美美的周末时光到来了&#xff01;今天给大家科普一点电脑的常识。想必大家在日常使用电脑的时候&#xff0c;会经常看到电脑右侧有一些不同的借口&#xff0c;看着像USB借口&#xff0c;但是标志却很奇怪&#xff0c;那到底为什么呢&#xff1f;还有&#xff0c;这些接口是2.0…

kibana 查看索引库中文档个数_百度索引量是什么意思?和百度收录量的区别。...

百度索引量表示所有网名最多会从百度看到的这个网站页面数量&#xff0c;用官方的话来说就是可以被搜索用户搜索到的网站数据库。 百度索引量是什么意思&#xff1f; 百度索引量表示所有网名最多会从百度看到的这个网站页面数量&#xff0c;用官方的话来说就是可以被用户搜索到…

blob 在线解码_「沙发管家」腾讯极光盒子3Pro发布!4+32G内存8K解码

10月22日&#xff0c;腾讯携手创维数字&#xff0c;推出了首款 8K 高清电视盒子——腾讯极光盒子 3Pro 。这款产品的定位是“8K 星耀旗舰家庭娱乐主机”&#xff0c;盒子外观是高级黑加上一些不规则形状设计&#xff0c;磨砂材质&#xff0c;边缘还有一道蓝色的荧光&#xff0c…

360手机浏览器_网信办:UC、QQ、360、搜狗等8款手机浏览器被纳入首批整治范围...

点击蓝字 关注我们UC、QQ、华为、360、搜狗、小米、vivo、OPPO等8款影响力较大的手机浏览器被纳入首批重点整治范围为有效解决网民反映强烈的手机浏览器网络传播乱象&#xff0c;国家网信办即日起对手机浏览器进行专项集中整治&#xff0c;重点聚焦行业突出问题实施“靶向治疗”…

重建索引一般需要多久_游泳小白学游泳,一般需要多久才能学会?猜猜看

由于每个人的身体条件不同&#xff0c;所以每个人从零基础到学会游泳需要的时间也不同。从我一对一的教学经验来看&#xff0c;一般正常体能的人需要5节课就能学会游泳&#xff0c;每节课1个小时。/01/ 零基础一般需要学什么泳姿&#xff1f;在国内来说&#xff0c;一般零基础先…

oracle dg物理和逻辑,Oracle DG介绍(物理无实例)

DG是dataguard&#xff0c;也叫standby&#xff0c;是oracle提供的一种容灾解决方案&#xff0c;只有企业版可用&#xff0c;标准版是不能用的&#xff0c;DG最多可以有一个主节点&#xff0c;9个DG是dataguard&#xff0c;也叫standby&#xff0c;是Oracle提供的一种容灾解决方…

.net 5 正式版_ASP.NET Core 3时代全新开启,DevExpress ASP.NET增强Data Grid

由轻量级JavaScript小部件提供支持的70个高性能DevExpress ASP.NET Core Controls&#xff0c;包含功能完善的报表平台&#xff0c;因此您可以再最短时间内交付响应迅速的业务线应用程序。DevExpress ASP.NET Core控件v19.2新版正式增强Data Grid和TreeList、File Manager等控件…

action script3.0殿堂之路_【日本乐坛传奇】松任谷由实是谁?新音乐女王的登基之路!...

松任谷由实是谁&#xff1f;日本人引以为傲的queen of pops&#xff1f;没错&#xff0c;但她&#xff0c;却不仅只是这样。她是日本音乐界的女王&#xff0c;日本流行音乐界始祖级别的人物&#xff0c;日本新音乐活着的精神象征&#xff0c;日本流行界天花板级别的歌手。她和其…

ltspice 双脉冲_焊烟脉冲布袋式除尘器制作

菲翔环保为您详细解读SAQutg焊烟脉冲布袋式除尘器制作的相关知识与详情&#xff0c;锅炉滤筒除尘器停机时&#xff0c;若停机时间短&#xff0c;不宜将滤袋清灰&#xff0c;应留意除尘器的保温&#xff0c;若停机时间长&#xff0c;应将所有滤袋清灰&#xff0c;并用引风机将滤…

电脑表格制作教程入门_第三节 CorelDRAW制作作品的流程 - CorelDRAW基础入门教程 - 平面设计学院...

CorelDraw简称CDR&#xff0c;是加拿大Corel软件公司产品。它是一个绘图与排版的软件&#xff0c;它广泛地应用于商标设计、标志制作、模型绘制、插图描画、排版及分色输出等诸多领域。作为一个强大的绘图软件&#xff0c;自然广受设计师们喜爱&#xff0c;用作商业设计和美术设…

全市场等权中位数_A股市场周内效应研究

引言>>> 研究目的本文参考东吴证券研报《A股市场的周内效应》内容&#xff0c;对A股市场的日历效应在周内表现进行探索。日历效应&#xff0c;是一个鱼龙混杂的题目。有诙谐逗笑的&#xff0c;如马克吐温老先生的段子&#xff1a;十月&#xff0c;这是股市最危险的月份…

client mac addr不能开机进不去系统_用asp.net core结合fastdfs打造分布式文件存储系统

今天主要是对开发过程&#xff0c;以及对FastDFS这个通用的分布式文件存储服务的单机及集群安装部署过程做个总结。希望对想要自建分布式文件系统的朋友有所帮助。什么是FastDFS这里先简单介绍下分布式文件存储系统。FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要…

linux在根目录下查找文件名称,如何使用Find命令在Linux中查找文件

Linux find命令是Linux系统中最重要和最方便的命令之一。 顾名思义&#xff0c;它可以根据您设置的任何条件和变量在Linux PC上找到文件。 您可以使用find命令按权限&#xff0c;用户&#xff0c;组&#xff0c;文件类型&#xff0c;日期&#xff0c;大小和其他可能的标准查找文…

小米游戏手柄pc插件_在电视上玩电脑游戏

有两个XBOX无线手柄&#xff0c;但steam游戏玩不过来&#xff0c;一直没有买主机。周末想和老婆一起合作玩玩《战斗方块剧场》&#xff0c;这样电脑椅就不够用了&#xff0c;还是窝在沙发里用电视玩着舒服。简单的方法是将显卡的输出接口转接到电视输入口即可。但这样有两个问题…

火焰传感器感应有火亮灯代码_智能无线感应灯火了,光感人感2种传感器感应,做照明品牌的几光...

智能无线感应灯火了&#xff0c;光感人感2种传感器感应&#xff0c;做照明品牌的几光曾经无数次幻想过的一个生活画面 &#xff1a;清晨推开厨房的门&#xff0c;有一束微弱的光跟随着自动亮起&#xff1b;然后倒一杯温开水给自己&#xff1b;手清扫过橱柜&#xff0c;一束亮光…

ax200网卡支持Linux吗,Deepin 20和Win10双系统中AX200网卡不能用的请关闭快速启动

如果你有Deepin 20和Win10双系统中机械革命CODE 01 AX200网卡不能用&#xff0c;不能上网的问题&#xff0c;请尝试关闭一下Win10的快速启动&#xff0c;或许问题就能解决了&#xff0c;以下是相关的问题例子。电脑配置参数CPU&#xff1a;AMD R7 4800H。内存&#xff1a;16G D…

线程同步有几种方法_架构师面试必问的多线程状态切换及常用方法

架构师面试必问的多线程状态切换及常用方法一、问题背景Java架构师面试中&#xff0c;多线程状态切换及常用方法几乎是必问的&#xff0c;要掌握创建多线程的方式和方法。二、创建多线程的几种方式2.1方式一继承Threadpublic class ThreadDemo extends Thread{public void run(…

线程等待通知 linux,Java 线程协作 wait(等待)与 notiy(通知)

一.wait()、notify()和notifyAll()为了更好的支持多线程之间的协作&#xff0c;JDK提供了三个重要的本地方法//调用某个对象的wait()方法能让当前线程阻塞&#xff0c;并且当前线程必须拥有此对象的锁.public final void wait() throws InterruptedException {wait(0);}//调用某…