Hi, SRS 5.0!

2022-11-28 17:11:42 浏览数 (1)

随着志宏大神合并完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

0 人点赞