
janus
文章平均质量分 78
王log
懒得写描述
展开
-
新版本glib使用epoll代替poll
新版本的glib支持使用外部的事件循环代替内部的poll,这篇文章使用的glib版本是V2.70.0, 理解还很粗浅,但是demo能跑起来,还需要再详细研究一下参考的两个链接,多线程下使用及效率是怎样的都还不清楚。1、新API通过新的API g_main_context_new_with_flags 及新变量G_MAIN_CONTEXT_FLAGS_OWNERLESS_POLLING可以创建一个无主的poll,然后通过glib的一套API可以实现自己的事件循环。ubuntu18下的demo:#incl原创 2021-12-10 21:23:23 · 1318 阅读 · 3 评论 -
webrtc服务器压测工具使用
主要介绍3个开源的webrtc压力测试框架–kite,pion及srs_bench,以janu服务器为例。1、KITE KITE整合了Selenium和Aullure。Selenium 是一个开源的浏览器自动化框架,支持集群化(grids),不同的节点可以运行不同的操作系统类型/版本、浏览器类型/版本,这样我们就可以在各种操作系统和浏览器的组合下自动化测试 Web 应用了。Allure 则是一个开源的测试报告工具,用来展示测试结果。有开源版本也有商用版本。重要特征:支持linux、win原创 2021-08-07 10:15:42 · 3060 阅读 · 2 评论 -
webrtc ice(rfc5245)记录
根据janus的ICE流程抓包记录rfc5245 ICE标准中的一些流程1、reflex及relay候选地址收集(rfc5245-4.1.1.2) agent通过不带验证信息的Binding请求(stun协议)或Allocate请求(必须得有鉴权)[turn协议]获取server reflexive或relay地址。agent可能会按照一定的时间间隔发起新的stun或turn请求,比如500ms,这个请求可能是上次请求的重试也可能是新的host候选地址对。抓包2、peer reflexive原创 2021-07-20 20:42:22 · 407 阅读 · 1 评论 -
Janus服务器《四》--事件处理机制
1、总述虽然我们可以使用Admin API来控制及和janus服务器进行交互,但是Admin API是基于poll机制的,这就意味我们必须自动发起请求去获得我们需要的信息。如果janus处理的请求的数量巨大则我们会遇到性能问题,这将导致我们不能实时的获取我们需要的信息。若要实时获得关于会话、句柄(hsandle)相关的信息的话我们就得使用event机制。...翻译 2021-05-09 19:11:01 · 535 阅读 · 0 评论 -
Janus服务器《三》--Admin/Monitor API
1、Admin/Monitor API 用于向janus服务器查询一些和会话及句柄有关的信息,在查找媒体流层面问题时显得非常有用。目前Admin API只能用于信息查询不能与janus进行更多的交互(如强制删除会话),更多的交互还是得使用RESTful、Websockets等transport模块的API。该API只提供同步机制,如果你需要的是异步通知机制的话请使用janus的event handler。默认的根请求路径为/admin 。 该API接口默认是关闭的,你可以在相应的传输方式的配置文翻译 2021-05-08 21:08:44 · 1139 阅读 · 0 评论 -
Janus服务器《二》--Transport 模块的API
官方关于JanusRESTful、WebSockets等传输模块的API说明的文档的翻译。 从Janus的V0.0.6开始就实现了REST、WebSockets、RabbitMQ、MQTT、Nanomsg及UnixSockets接口用于和janus服务器进行交互。(这些通信方式均是可选的,都需要第三方库的支持)。所有这些接口统一使用的json消息进行通信。 其它接口和Rest接口有两处不同:《1》、访问特定session及handle时;《2》、部分的通知处理机制;1、REST接口1.翻译 2021-05-05 21:37:33 · 1124 阅读 · 0 评论 -
janus服务器《一》--总概述
工作使用janus服务器但是网上相关资料比较少,于是准备翻译一下官方文档。1、janus框架结构 janus是基于SFU结构的WebRTC流媒体服务器,由C语言进行编写因此性能非常优秀,整体架构图如下: janu主要由三部分组成,分别是Core、Plugin和Transport。 《1》、Core: Janus的核心部分,其功能是将传输涉及到的所有Janus连接在一起,实现了server端跟浏览器的交互、处理交互双方的会话(session)、处理媒体信令及协商。Core实现了WebRTC原创 2021-05-05 11:58:57 · 2296 阅读 · 2 评论