随着志宏大神合并完DASH的功能,SRS 5.0正式完成功能,进入一年左右的稳定性提升阶段,预计在2023年底正式发布,现在已经可以开始体验SRS 5.0的Alpha版本了。

SRS 5.0 Alpha 0

Features

下面是5.0新增的功能列表:
  • •  优化SRT,支持协程原生架构。#3010[1]
  • •  支持amd/armv7/aarch64多CPU架构的Docker镜像。#3058[2]
  • •  Forward增强,支持动态Forward,可以灵活定制转发策略。#2799[3]
  • •  GB28181,支持GB2016标准,内置SIP信令,TCP复用端口传输。#3176[4]
  • •  Windows,支持Cygwin编译,流水线打安装包,GITEE镜像下载。#2532[5]
  • •  Apple M1,支持Apple M1芯片,新的MacPro编译和调试。#2747[6]
  • •  RISCV架构支持,修改ST汇编支持RISCV CPU架构。#3115[7]
  • •  MIPS架构支持,Cygwin平台支持,另外ARMv7和AARCH64早已经支持。
  • •  Loongarch,支持龙芯架构,支持Loongarch64服务器平台。#2689[8]
  • •  DASH增强,解决DASH卡死问题,达到可正式商用标准。#3240[9]
  • •  支持Google Address Sanitizer,解决野指针定位问题。#3216[10]
  • •  Prometheus Exporter,支持云原生可观测能力,另也支持腾讯云CLS和APM对接。#2899[11]
  • •  SRT增强,协程原生的SRT改进,更便捷的维护和稳定性。#3010[12]
  • •  Unity WebRTC,支持Unity平台对接SRS,使用WHIP协议。srs-unity[13]
  • •  支持WHIP协议,推流和拉流,#2324[14]
  • •  WebRTC over TCP,支持TCP传输WebRTC,支持TCP端口复用。#2852[15]
  • •  支持HTTP API、HTTP Stream、HTTP Server、WebRTC TCP端口复用。 #2881[16].

ChangeLog

下面是5.0的变更列表:
  • • v5.0, 2022-11-25, SRT: Support transform tlpkdrop to tlpktdrop. 5.0.98
  • • v5.0, 2022-11-25, Config: Add ENV tips for config. 5.0.97
  • • v5.0, 2022-11-24, For #299[17], DASH: Fix number mode bug to make it run. 5.0.96
  • • v5.0, 2022-11-23, For #3176[18]: GB28181: Error and logging for HEVC. v5.0.95
  • • v5.0, 2022-11-22, Merge #3236[19]: Live: Limit cached max frames by gop_cache_max_frames. v5.0.93
  • • v5.0, 2022-11-22, Asan: Check libasan and show tips. v5.0.92
  • • v5.0, 2022-11-21, Merge #3264[20]: Asan: Try to fix st_memory_leak for asan check. (#3264). v5.0.91
  • • v5.0, 2022-11-21, Asan: Fix global ip address leak check. v5.0.90
  • • v5.0, 2022-11-20, For #2532[21]: Windows: Support cygwin pipline and packager. v5.0.89
  • • v5.0, 2022-11-18, Fix #3215[22]: Callback: Fix bug for response string 0. v5.0.88
  • • v5.0, 2022-11-18, For #2532[23]: Windows: Replace ln by cp for windows. v5.0.87
  • • v5.0, 2022-10-31, For #2899[24]: Exporter: Add metrics cpu, memory and uname. v5.0.86
  • • v5.0, 2022-10-30, Config: Support startting with environment variable only. v5.0.85
  • • v5.0, 2022-10-26, Fix #3218[25]: Log: Follow Java/log4j log level specs. v5.0.83
  • • v5.0, 2022-10-25, Log: Refine the log interface. v5.0.82
  • • v5.0, 2022-10-23, For #3216[26]: Support Google Address Sanitizer. v5.0.81
  • • v5.0, 2022-10-21, Kernel: Support grab backtrace stack when assert fail. v5.0.80
  • • v5.0, 2022-10-21, ST: Refine tools and CMakeLists.txt. Add backtrace example. v5.0.79
  • • v5.0, 2022-10-10, For #2901[27]: Edge: Fast disconnect and reconnect. v5.0.78
  • • v5.0, 2022-10-09, Fix #3198[28]: SRT: Support PUSH SRT by IP and optional port. v5.0.76
  • • v5.0, 2022-10-06, GB28181: Support GB28181-2016 protocol. v5.0.74
  • • v5.0, 2022-10-05, HTTP: Skip body and left message by upgrade. v5.0.73
  • • v5.0, 2022-10-02, ST: Support set context id while thread running. v5.0.72
  • • v5.0, 2022-09-30, RTC: Refine SDP to support GB28181 SSRC spec. v5.0.71
  • • v5.0, 2022-09-30, GB28181: Refine HTTP parser to support SIP. v5.0.70
  • • v5.0, 2022-09-30, Kernel: Support lazy sweeping simple GC. v5.0.69
  • • v5.0, 2022-09-30, HTTP: Support HTTP header in creating order. v5.0.68
  • • v5.0, 2022-09-27, For #2899[29]: Exporter: Support exporter for Prometheus. v5.0.67
  • • v5.0, 2022-09-27, For #3167[30]: WebRTC: Refine sequence jitter algorithm. v5.0.66
  • • v5.0, 2022-09-22, Fix #3164[31]: SRT: Choppy when audio ts gap is too large. v5.0.65
  • • v5.0, 2022-09-16, APM: Support distributed tracing by Tencent Cloud APM. v5.0.64
  • • v5.0, 2022-09-16, For #3179[32]: WebRTC: Make sure the same m-lines order for offer and answer. v5.0.63
  • • v5.0, 2022-09-10, For #3174[33]: WebRTC: Support Unity to publish or play stream. v5.0.62
  • • v5.0, 2022-09-06, Fix #3170[34]: WebRTC: Support WHIP(WebRTC-HTTP ingestion protocol). v5.0.61
  • • v5.0, 2022-09-04, Fix #2852[35]: WebRTC: WebRTC over TCP directly, not TURN. v5.0.60
  • • v5.0, 2022-09-01, Fix #1405[36]: Restore the stream when parsing failed. v5.0.59
  • • v5.0, 2022-09-01, Fix #1405[37]: Support guessing IBMF first. v5.0.58
  • • v5.0, 2022-09-01, ST: Define and use a new jmpbuf. v5.0.57
  • • v5.0, 2022-08-31, Fix URL parsing bug for __defaultVhost__. v5.0.56
  • • v5.0, 2022-08-30, Fix #2837[38]: Callback: Support stream_url and stream_id. v5.0.55
  • • v5.0, 2022-08-30, STAT: Refine tcUrl for SRT/RTC. v5.0.54
  • • v5.0, 2022-08-30, Refactor: Extract SrsNetworkKbps from SrsKbps. v5.0.53
  • • v5.0, 2022-08-30, Remove bandwidth check because falsh is disabled. v5.0.52
  • • v5.0, 2022-08-30, Refactor: Use compositor for ISrsKbpsDelta. v5.0.51
  • • v5.0, 2022-08-29, RTC: Stat the WebRTC clients bandwidth. v5.0.50
  • • v5.0, 2022-08-29, HLS: Stat the HLS streaming clients bandwidth. v5.0.49
  • • v5.0, 2022-08-28, URL: Use SrsHttpUri to parse URL and query. v5.0.48
  • • v5.0, 2022-08-28, Fix #2881[39]: HTTP: Support merging api to server. v5.0.47
  • • v5.0, 2022-08-27, Fix #3108[40]: STAT: Update stat for SRT. v5.0.46
  • • v5.0, 2022-08-26, Log: Stat the number of logs. v5.0.45
  • • v5.0, 2022-08-24, Log: Support write log to tencentcloud CLS. v5.0.44
  • • v5.0, 2022-08-22, Fix #3114[41]: Origin cluster config bug. v5.0.43
  • • v5.0, 2022-08-19, For #2136[42]: API: Cleanup no active streams for statistics. v5.0.42
  • • v5.0, 2022-08-14, Fix #2747[43]: Support Apple Silicon M1(aarch64). v5.0.41
  • • v5.0, 2022-08-12, Support crossbuild for hisiv500. v5.0.40
  • • v5.0, 2022-08-10, Build: Detect OS by packager. v5.0.39
  • • v5.0, 2022-08-06, Support MIPS 64bits for loongson 3A4000/3B3000. v5.0.38
  • • v5.0, 2022-07-20, Fix #3115[44]: ST: Support RISCV cpu. v5.0.33
  • • v5.0, 2022-06-29, Support multiple threads by thread pool. v5.0.32
  • • v5.0, 2022-06-28, ST: Support thread-local for multiple threads. v5.0.31
  • • v5.0, 2022-06-17, Merge #3010[45]: SRT: Support Coroutine Native SRT over ST. (#3010). v5.0.30
  • • v5.0, 2022-06-15, For #3058[46]: Docker: Support x86_64, armv7 and aarch64 docker image (#3058). v5.0.29
  • • v5.0, 2022-04-04, Support NGINX HLS Cluster, see CN[47] or EN[48]. v5.0.28
  • • v5.0, 2022-03-30, Support DigitalOcean Droplet SRS 1-Click[49]. v5.0.27
  • • v5.0, 2022-03-12, Merge #2943[50]: SRT: Fix typo in libsrt build options. v5.0.26
  • • v5.0, 2022-03-09, Merge SRS 4.0 for bugfix. v5.0.25
  • • v5.0, 2022-02-16, Merge #2799[51]: Forward: Support dynamic forwarding by backend api. (#2799). v5.0.24
  • • v5.0, 2022-02-14, Merge #2878[52]: Support include directive for config file. (#2878). v5.0.23
  • • v5.0, 2022-01-18, Eliminate unused *.as files for Adobe Flash. v5.0.22
  • • v5.0, 2022-01-13, Switch LICENSE from MIT to MIT or MulanPSL-2.0. v5.0.21
  • • v5.0, 2021-10-24, For #2689[53]: Support loongarch, loongson CPU. v5.0.19
  • • v5.0, 2021-10-17, Support daemon(fork twice) for Darwin/OSX ST#23[54]. v5.0.18
  • • v5.0, 2021-10-16, DVR: support mp3 audio codec. (#2593) v5.0.17
  • • v5.0, 2021-10-03, OpenWRT: Disable mprotect of ST. 5.0.16
  • • v5.0, 2021-10-03, Actions: Create source tar lik srs-server-5.0.14.tar.gz
  • • v5.0, 2021-10-02, ST: Support Cygwin64 and MIPS. 5.0.13
  • • v5.0, 2021-09-23, Merge #2578[55] Support http callback on_play/stop. 5.0.12
  • • v5.0, 2021-08-07, Fix #2508[56], Support features query by API. 5.0.10
  • • v5.0, 2021-07-07, Refine AUTHORS.txt to AUTHORS.md, etc. 5.0.8
  • • v5.0, 2021-07-01, Move AUTHORS.txt to trunk for docker. 5.0.7
  • • v5.0, 2021-06-28, Squash: Support query lastest available version. 5.0.6
  • • v5.0, 2021-06-22, Squash: Support ARM platform. 5.0.5
  • • v5.0, 2021-06-16, Change GB28181[57] to feature/gb28181[58]. 5.0.4
  • • v5.0, 2021-05-31, Use SPDX-License-Identifier: MIT[59]. 5.0.3
  • • v5.0, 2021-05-19, ST: Simplify it, only Linux/Darwin, epoll/kqueue, single process. 5.0.2
  • • v5.0, 2021-03-17, Live: Refine edge to follow client and HTTP/302. 5.0.1
  • • v5.0, 2021-03-15, Init SRS/5. 5.0.0

Thanks

感谢这十年来,所有大概三百多位开发者,对SRS所做出的贡献,包括不限于代码提交,Issue提交,问题答疑,文档完善,应用分享等等。
感谢技术委员会的核心开发者,特别感谢 TOC[60] 持续的努力。TOC都是音视频行业非常有经验的朋友,本身工作非常繁忙,业务时间贡献开源,非常不容易。
2021年6月,SRS进入 木兰开源社区[61] 孵化,感谢导师阿里云陈绪、周明辉教授、腾讯单致豪,感谢木兰社区杨丽蕴主任的大力支持。开源的各位大咖,无论在授权,还是社区治理,社区的推广上,以及社区的可持续发展上,都给与了宝贵的经验和支持。
特别感谢腾讯Tommy(李郁韬)、Eddie(薛迪)、Leo(刘连响)、Vulture(李志成)、Dragon(兰玉龙),以及各位开发者领导对于SRS的认可和对开发者参与开源贡献的支持。正是由于各位领导的支持,各位开发者才能做出自己的贡献,为音视频整个行业的进步都做出了积极的影响。
特别感谢社区经理耿航和刘歧,对社区推广和发展做出的贡献。还有上下游开源项目的各位朋友,包括不限于FFmpeg社区、VLC社区、WebRTC社区、龙芯社区、播放器相关项目的负责人等等,SRS 5.0对接时得到了大家的很多帮助。
非常抱歉我无法列出所有给与过SRS帮助的朋友,非常感谢大家。

Next

大家千万不要以为SRS 5.0这么完善了,就没事可干了。恰恰相反,我们时间很少事情却很多,非常需要也非常欢迎大家参与。
SRS 6.0我们已经启动,如果你已经和SRS错过了10年,那现在就是一起来码代码的最好时机。

引用链接

[1]
 #3010: 
https://github.com/ossrs/srs/issues/3010
[2]
 #3058: 
https://github.com/ossrs/srs/issues/3058
[3]
 #2799: 
https://github.com/ossrs/srs/pull/2799
[4]
 #3176: 
https://github.com/ossrs/srs/issues/3176
[5]
 #2532: 
https://github.com/ossrs/srs/issues/2532
[6]
 #2747: 
https://github.com/ossrs/srs/issues/2747
[7]
 #3115: 
https://github.com/ossrs/srs/pull/3115
[8]
 #2689: 
https://github.com/ossrs/srs/issues/2689
[9]
 #3240: 
https://github.com/ossrs/srs/pull/3240
[10]
 #3216: 
https://github.com/ossrs/srs/issues/3216
[11]
 #2899: 
https://github.com/ossrs/srs/issues/2899
[12]
 #3010: 
https://github.com/ossrs/srs/pull/3010
[13]
 srs-unity: 
https://github.com/ossrs/srs-unity
[14]
 #2324: 
https://github.com/ossrs/srs/issues/2324
[15]
 #2852: 
https://github.com/ossrs/srs/issues/2852
[16]
 #2881: 
https://github.com/ossrs/srs/issues/2881
[17]
 #299: 
https://github.com/ossrs/srs/issues/299
[18]
 #3176: 
https://github.com/ossrs/srs/pull/3176
[19]
 #3236: 
https://github.com/ossrs/srs/pull/3236
[20]
 #3264: 
https://github.com/ossrs/srs/pull/3264
[21]
 #2532: 
https://github.com/ossrs/srs/issues/2532
[22]
 #3215: 
https://github.com/ossrs/srs/issues/3215
[23]
 #2532: 
https://github.com/ossrs/srs/issues/2532
[24]
 #2899: 
https://github.com/ossrs/srs/issues/2899
[25]
 #3218: 
https://github.com/ossrs/srs/issues/3218
[26]
 #3216: 
https://github.com/ossrs/srs/issues/3216
[27]
 #2901: 
https://github.com/ossrs/srs/issues/2901
[28]
 #3198: 
https://github.com/ossrs/srs/issues/3198
[29]
 #2899: 
https://github.com/ossrs/srs/issues/2899
[30]
 #3167: 
https://github.com/ossrs/srs/issues/3167
[31]
 #3164: 
https://github.com/ossrs/srs/issues/3164
[32]
 #3179: 
https://github.com/ossrs/srs/issues/3179
[33]
 #3174: 
https://github.com/ossrs/srs/issues/3174
[34]
 #3170: 
https://github.com/ossrs/srs/issues/3170
[35]
 #2852: 
https://github.com/ossrs/srs/issues/2852
[36]
 #1405: 
https://github.com/ossrs/srs/issues/1405
[37]
 #1405: 
https://github.com/ossrs/srs/issues/1405
[38]
 #2837: 
https://github.com/ossrs/srs/issues/2837
[39]
 #2881: 
https://github.com/ossrs/srs/issues/2881
[40]
 #3108: 
https://github.com/ossrs/srs/issues/3108
[41]
 #3114: 
https://github.com/ossrs/srs/issues/3114
[42]
 #2136: 
https://github.com/ossrs/srs/issues/2136
[43]
 #2747: 
https://github.com/ossrs/srs/issues/2747
[44]
 #3115: 
https://github.com/ossrs/srs/pull/3115
[45]
 #3010: 
https://github.com/ossrs/srs/pull/3010
[46]
 #3058: 
https://github.com/ossrs/srs/pull/3058
[47]
 CN: 
https://ossrs.net/lts/zh-cn/docs/v4/doc/sample-hls-cluster
[48]
 EN: 
https://ossrs.io/lts/en-us/docs/v4/doc/sample-hls-cluster
[49]
 Droplet SRS 1-Click: 
https://cloud.digitalocean.com/droplets/new?appId=104916642&size=s-1vcpu-1gb®ion=sgp1&image=ossrs-srs&type=applications
[50]
 #2943: 
https://github.com/ossrs/srs/pull/2943
[51]
 #2799: 
https://github.com/ossrs/srs/pull/2799
[52]
 #2878: 
https://github.com/ossrs/srs/pull/2878
[53]
 #2689: 
https://github.com/ossrs/srs/issues/2689
[54]
 ST#23: 
https://github.com/ossrs/state-threads/issues/23
[55]
 #2578: 
https://github.com/ossrs/srs/pull/2578
[56]
 #2508: 
https://github.com/ossrs/srs/pull/2508
[57]
 GB28181: 
https://github.com/ossrs/srs/issues/1500
[58]
 feature/gb28181: 
https://github.com/ossrs/srs/tree/feature/gb28181
[59]
 SPDX-License-Identifier: MIT: 
https://spdx.dev/ids/
[60]
 TOC: 
https://github.com/ossrs/srs/blob/develop/trunk/AUTHORS.md#toc
[61]
 木兰开源社区: 
https://portal.mulanos.cn
继续阅读
阅读原文