janus
文章平均质量分 63
ashleycoder
音视频、流媒体开发
展开
-
WebRTC Simulcast测试--用Janus
RTP扩展头,Identifier是10,6c是l,表示low那路,ssrc是0xcfe94bdc。Simulcast:客户端将三层流同时发布,其它客户端拉流时,根据网络情况,选择一种。H264没有simulcast,直接改var doSimulcast = true--echotest.js。SDP新增的字段:rtp加了扩展头rtp-stream-idrtp-stream-id。声网用的Simulcast分层,zoom和思科用的svc。simulcast是三路流,用不同的ssrc表示。原创 2022-09-02 17:18:19 · 584 阅读 · 2 评论 -
Janus VideoRoom信令分析--public、subscribe
public、subscribe主要信令记录:原创 2022-09-05 19:40:10 · 402 阅读 · 0 评论 -
DTLS、ICE--用janus举例
3 dtls:Client Hello、Server Hello等、4 srtp包--使用绑定ip和port。服务器janus的sdp是a=setup:active,sdp type是answer,音视频一样。1 先SDP协商、2 发stun包—bind request、response、绑定ip和port。a=setup:actpass:作为客户端,主动发送协商。客户端的sdp是a=setup:actpass,sdp type是offer。a=setup:active:作为客户端,主动发送协商。原创 2022-09-07 20:29:49 · 945 阅读 · 0 评论 -
Janus之自问自答
结构体janus_transport_session、janus_ice_peerconnection、janus_ice_handle、janus_videoroom、janus_videoroom_session、janus_videoroom_publisher等都有janus_mutex。1 client向janus发送json消息,2 janus向远端发送event的事件通知。janus在客户端开始的时候,发4次REMB包,确定带宽。enable video,发送请求PLI包。原创 2022-09-07 15:02:36 · 592 阅读 · 0 评论 -
Janus库简介
比如:{"janus":"message","body":{"audio":true,"video":true,"videocodec":"h264"},"transaction":"f4p3bK72QD3e","jsep":{"type":"offer","sdp":"v=..."}插件接口如下:初始化、销毁、创建会话、处理消息--跟client通信、开始媒体、处理rtp包、rtcp包、结束媒体、销毁会话等。参会人员A,ICE后,获取了端口,接收流,记住ssrc。创建会话,获得session_id,原创 2022-09-05 18:53:28 · 528 阅读 · 0 评论