SRS
文章平均质量分 82
龙--技术总结分享
long
展开
-
SRS4.0 RTC模块增加Gop cache
简介随着对直播延迟要求的不断提高,原来的RTMP直播已经不能满足要求,需要使用基于RTC的低延迟直播。SRS中提供了RTC推拉流的能力,并且提供了RTMP和RTC互相转换的能力。为什么需要在SRS的RTC模块中增加Gop缓存,目的是为了降低起播等待时长。对于超大规模的低延迟直播来说,不能每加入一个用户向服务器发送PLI/SLI/FIR请求,服务器就编码一个I帧或向推流端请求I帧。对于从RTMP转RTC,由于RTMP存在gop,没有gop cache时最长需要等待一个gop才能起播。我在原始的RT原创 2021-11-14 16:02:28 · 2061 阅读 · 3 评论 -
SRS RTC NACK源码分析—1
SRS作为接收方,对端作为发送方生成Nack RTCP包的流程SrsRtcConnection::SrsRtcConnection(SrsRtcServer* s, const SrsContextId& cid){ req = NULL; cid_ = cid; hijacker_ = NULL; sendonly_skt = NULL; server_ = s; transport_ = new SrsSecurityTransport(原创 2021-07-18 22:09:47 · 681 阅读 · 0 评论 -
排查SRS问题记录一(RTMP推流,RTC播放卡住)
问题描述:SRS Version=4.0.126. 配置文件配置:listen 1935;max_connections 100;daemon off;srs_log_tank console;http_server { enabled on; listen 8080; dir ./objs/nginx/html;}http_api原创 2021-06-26 21:21:23 · 7098 阅读 · 2 评论 -
SRS中RTMP推流RTC播放的实现原理及函数执行流程
RTMP转RTC;或者RTC转RTMP,是通过Bridger实现的。RTMP转RTCclass SrsRtcFromRtmpBridger : public ISrsLiveSourceBridgerRTMP推流#mermaid-svg-5GDqSCrD6tqxIolT .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#merma原创 2021-06-20 23:05:23 · 1175 阅读 · 0 评论 -
SRS webrtc 播放源码分析
在上一节中,我们知道在SrsRtcServer::listen_api()中启动了HTTP接口/rtc/v1/play/用于接收RTC播放的请求。RTC play接口分析在文件trunk/src/app/srs_app_rtc_api.cpp中。以http://127.0.0.1:8080/players/rtc_player.html中的RTC播放demo为例。http://127.0.0.1:1985/rtc/v1/play/请求参数为:api: "http://127.0.0.1:1985/r原创 2021-06-16 22:29:06 · 1859 阅读 · 2 评论 -
SRS服务启动的源码实现及分析
SRS服务启动SRS服务的main函数在trunk/src/main/srs_main_server.cpp中。#mermaid-svg-ABEihCzESwslxQJh .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-ABEihCzESwslxQJh .label text{fill:#333}#merma原创 2021-06-16 22:25:08 · 604 阅读 · 0 评论