Winlin

Results 123 issues of Winlin

在非常多朋友的努力下,SRS的GB功能不少,详细可以参考[srs-gb28181](https://github.com/ossrs/srs-gb28181/issues/4)。由于GB和摄像头的复杂性,问题也是不少的,特别是稳定性问题,这也是为什么GB一直迟迟没有进SRS 5.0分支的原因。 现在SRS 5.0已经临近功能封版了,我们增加了几个大的功能和改进,最后一个功能就是在考虑是否支持GB。鉴于GB目前的稳定性表现,肯定不能完全合并过来,是否能有稳定性更高的合并办法? 如果减少功能,当然稳定性就会提升,所以SRS 5.0可能的合并方式,就是只合并一个最简单的GB的能力,我们就叫它PoC吧。我列一下我知道的GB的功能清单: 1. 摄像头通过SIP注册。srs-gb28181支持。**PoC支持**。 1. 自动邀请摄像头推流。srs-gb28181支持。**PoC支持**。 1. GB/2016转RTMP协议。srs-gb28181支持。**PoC支持**。 1. 基于TCP的SIP信令。srs-gb28181支持。**PoC支持**。 1. TCP单端口传输媒体。srs-gb28181支持。**PoC支持**。 1. 基于UDP的SIP信令。srs-gb28181支持。PoC不支持。 1. UDP单端口传输媒体。srs-gb28181支持。PoC不支持。 1. GB/2011转RTMP协议。srs-gb28181支持。PoC不支持。 1. UDP/TCP多端口传输媒体。srs-gb28181支持。PoC不支持。 1. HTTP API查询GB流。srs-gb28181支持。PoC不支持。 1. HTTP API云台摄像头。srs-gb28181支持。PoC不支持。...

Feature
GB28181

FFmpeg和OBS都能推FLV/TS/HLS流,也就是通过HTTP POST/PUSH发送FLV/TS/HLS流到服务器。应用场景如下: * 企业防火墙,只支持HTTP或HTTPS协议。 * Serverless部署服务器,只支持HTTP或HTTPS网关,比较贴近nodejs后端的习惯。 * 其他场景,欢迎评论区留言。 > Note: Serverless只适合用HLS流。原因是:Serverless不支持HTTP Chunked,所以不能使用FLV/TS推流;另外,Serverless完全无状态,所以无法定位FLV/TS流的源。 这个功能主要是为了方便nodejs后端部署和使用流媒体服务。关于协议: * [ ] POST-TS,向服务器发送TS流,主要支持265编码格式。 * [x] POST-FLV,向服务器发送FLV流,主要支持264/AAC编码格式。 * [ ] POST-HLS,向服务器发送HLS流,写入存储。FFmpeg和Web服务就可以完成。 还有一个UDP TS的推流: * [x] https://github.com/ossrs/srs/issues/250 ##...

Feature

在CDN或Edge场景中,需要返回的是Edge的IP,比如: ``` Browsers --WebRTC--> Edge Proxy --> K8s(Serivce) --> Proxy --> SRS ``` 这时要返回的就不是K8s的地址,而是靠近用户边缘的地址。 但是这个边缘的地址,一般是domain name,而Firefox不支持域名的CANDIDATE,必须解析。也就是过程应该是这样的: 1. 浏览器访问SRS的API。 2. SRS解析Edge的域名,按照客户端IP解析就近的IP接入点地址。 3. 将解析的IP作为CANDIDATE通过SDP返回给浏览器。 4. 浏览器实现上面图的媒体接入。 > Note: SRS前面的Proxy是可选的,支持集群后不需要Proxy,简单场景Proxy更合适,参考 #3138

Feature
WebRTC
Kubernetes

SRS 5.0, after coverting SRT to RTMP, the streaming is stuttering/choppy/glitch. Replay: 1. Start SRS 5.0 by docker. v5.0.59 2. Publish to SRS by FFmpeg, source is `doc/source.flv`. 3. Play...

SRT

## Ideas 连响: * BWE等拥塞控制算法。 * SVC,Simulcast。 * 多Track支持,可能和RTMP有一定冲突。 * 状态回调,比如WebRTC的getStats接口。 李超 * 拥塞控制算法:BWE,流控,带宽估计等,可以从WebRTC中挪过来。 * 协议支持,反馈的协议等。 * 作者对WebRTC跟进很快,了解很透,值得学习。 B神、志宏: * 拥塞控制可以用这个:[razor](https://github.com/yuanrongxi/razor) > [razor](https://github.com/yuanrongxi/razor)作者是袁荣喜大神,技术扎实,数据库和音视频方向都很牛逼的大神。 立新: * MediaSoup支持直接TCP推流,无TURN,参考 #2852

Discussion

We plan to replace it progressively by C++ 98 code and switch to MIT license. ## [Summary](#summary) 关于ST,我计划一点点换成C++ 98/MIT的,它目前有几个痛点: 1. 不维护了,最初的作者们估计都退休了,很多新的CPU和系统无法支持,这也是srs分支做了很多修改的原因。 2. 协议是MPL,其实是Mozilla的协议,Firefox也是这个协议,和LGPL类似,是OSI的标准协议,但这个用的少,不知道有什么坑没有。 3. 那些宏很奇怪,都是操作结构体的,之前展示过,应该换成C++ 98的,和C没什么差别,只是基本封装。C++也可以继续暴露C的API。 其实本身ST的LICENSE就是分多部分授权的: 1. ST的库是MPL授权。 2....

**Describe the bug** When the SRS operates in multi-threaded mode, such as with the SRT protocol, in addition to the main thread of SRS, two additional worker threads are initiated....

SRT
TransByAI

**Describe the bug** First, play the FLV file, then use WHIP to stream it. You may encounter a situation where only the video is visible, but there is no sound....

TransByAI