/on_publish; on_unpublish http://host.docker.internal:8001/im-signaling-service/srs_callback /on_play; on_stop http://host.docker.internal:8001/im-signaling-service/srs_callback /on_stop; on_dvr http://host.docker.internal:8001/im-signaling-service/srs_callback /on_dvr; on_hls http://host.docker.internal:8001/im-signaling-service/srs_callback /on_hls; on_hls_notify http://host.docker.internal:8001/im-signaling-service/srs_callback
系统服务,init.d脚本:SRS提供srs/trunk/etc/init.d/srs脚本,可以作为CentOS或者Ubuntu的系统服务自动启动。 Step1: 安装SRS 编译SRS后,可执行命令安装SRS: make&&sudomakeinstall 复制 安装命令会将srs默认安装到/usr/local/srs中,可以在configure时指定其他目录 Step2: 链接脚本: sudoln -sf \ /usr/local/srs/etc/init.d/srs \ /etc/init.d/srs 复制 备注:若SRS安装到其他目录, 复制 使用init.d脚本管理SRS 查看SRS状态: /etc/init.d/srs status 复制 启动SRS: /etc/init.d/srs start 复制 停止SRS: /etc/init.d /srs stop 复制 重启SRS: /etc/init.d/srs restart 复制 Reload SRS: /etc/init.d/srs reload 复制 日志切割,给SRS发送SIGUSR1
SRS作用: eNB使用SRS来估计UE在不同频段的上行信道质量。 如果认为频偏有多普勒效应产生,则可以反推出ue相对基站的运动速度,mac即可在对此ue进行调度时,判断是高速模式还是普通模式 SRS分类: 周期性SRS,通过RRC配置,ue越多周期越长 非周期SRS, 对于FDD,eNB通过DCI0/4/1A触发UE发送非周期SRS;对于FDD,eNB通过0/4/1a/2b/2c/2d触发UE发送非周期SRS。 SRS配置: 如果SRS在某个子帧上发送,则SRS将占据该子帧的最后一个SC-FDMA符号上(DMRS在每个子帧的符号3和10),若最后一个SC-FDMA符号分配给SRS,则该符号不能用于PUSCH传输 功能就是完全关闭的,即所有UE不发送SRS。
随着志宏大神合并完DASH的功能,SRS 5.0正式完成功能,进入一年左右的稳定性提升阶段,预计在2023年底正式发布,现在已经可以开始体验SRS 5.0的Alpha版本了。 非常抱歉我无法列出所有给与过SRS帮助的朋友,非常感谢大家。 Next 大家千万不要以为SRS 5.0这么完善了,就没事可干了。恰恰相反,我们时间很少事情却很多,非常需要也非常欢迎大家参与。 SRS 6.0我们已经启动,如果你已经和SRS错过了10年,那现在就是一起来码代码的最好时机。 /3058 [3] #2799: https://github.com/ossrs/srs/pull/2799 [4] #3176: https://github.com/ossrs/srs/issues /3010 [13] srs-unity: https://github.com/ossrs/srs-unity [14] #2324: https://github.com/ossrs/srs/issues
Note: 这个看似很容易,甚至直接在SRS官网[1]中就能点开两个页面,但是一定要自己用SRS搭建出来才算,而不是直接打开线上的演示网页。 具体怎么做呢? •SRS服务器,自己部署音视频云,或者提供音视频的云服务,SRS本质上就是视频云的一种服务器。 除了使用FFmpeg主动拉取流到SRS[10],还可以广电行业SRT协议[11]推流,或监控行业GB28181协议[12]推流,SRS转换成互联网的协议观看。•直播低延迟和互动,聚变近在咫尺。 /ossrs/srs/wiki/v4_CN_Home#effective-srs [5] Gitee: Wiki: https://gitee.com/ossrs/srs/wiki/v4_CN_Home #effective-srs [6] 推送RTMP到SRS: https://gitee.com/ossrs/srs/wikis/v4_CN_SampleRTMP [7] 转封装成HTTP-FLV流:
使用方法 首先,升级Chrome到M90,默认就会开启AV1的编解码支持了: 然后,确认SRS的版本是4.0.91+,并启动SRS(参考Wiki,无特殊配置): # homeMacOS:srs winlin 屏幕编码和SVC,据说屏幕编码很牛,还支持SVC,额这块是SRS还需要补齐的关键能力。 更开放和更安全,开源且无专利问题,还考虑了E2EE端到端加密,未来SRS会有DEMO放出来了。 反正SRS对于LICENSE是很敏感的,H.265一直没有下决心支持就是因为专利问题会影响使用。 更快的迭代:做业务,手慢无。 SRS 4.0.91目前支持了AV1,可以WebRTC推流用AV1,拉流用AV1。其实一对一通话和多人会议,本质上都是推流拉流,所以等SRS的会议DEMO放出来,就可以用AV1通话了。 SRS还没有支持转码,所以AV1推流,还不能用H.264播放如果终端没有支持AV1就无法拉流了。
经过长达两年无休止的跳票,漫长的改进和发布过程,SRS3.0今天正式发布了。多的我也不说了,还要录SRS的详细介绍的视频,其他的也不重要,记得给SRS star吧。 普大喜奔的发布 势不可挡的趋势 便捷的部署 视频介绍 所有SRS的图文WIKI,都值得用视频分享一遍: https://space.bilibili.com/430256302/channel
最近有朋友提Issue,在OSX 10.14 Mojave上无法运行,调研发现是因为ST不支持OS10.14,也就是SRS嗝屁了,参考:https://github.com/ossrs/srs/issues Build docker image docker pull ossrs/dev Clone SRS git clone https://github.com/ossrs/srs.git && cd srs Start docker docker run -it -v `pwd`:/tmp/srs -w /tmp/srs/trunk -p 1935:1935 -p 1985:1985 -p 8080:8080 ossrs/dev bash Build SRS in docker . /configure && make Run SRS in docker ./objs/srs -c conf/console.conf
——亚兰 前两天讲到了 srs实现多人聊天室 但是遇到个问题,官方的信令是go语言版的,于是在gpt协助下翻译成java版了 https://gitee.com/VampireAchao/simple-srs-signaling parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>simple-srs-signaling </artifactId> <version>0.0.1-SNAPSHOT</version> <name>simple-srs-signaling</name> <description >simple-srs-signaling</description> <properties> <java.version>17</java.version> </properties
前言 WebRTC的常见的几个组成部分 流媒体服务器 信令服务器 客户端 SRS4 Srs4已经支持WebRTC的推流和拉流了。 1985 -p 8000:8000/udp \ --env CANDIDATE=192.168.1.3 \ registry.cn-hangzhou.aliyuncs.com/ossrs/srs :v4.0.23 objs/srs -c conf/rtc.conf 用FFMPEG或OBS推送RTMP流到服务器: ffmpeg -re -i doc/source.200kbps.768x320.flv -c copy \ -f flv -y rtmp://192.168.1.3/live/livestream 建议先用SRS自带的doc/source.200kbps.768x320.flv
2.如果想在本机编译出ARM的安装包,不需要交叉编译,可以用Docker的ARM镜像ossrs/srs:aarch64[4],比如在mac下编译出SRS扔到鲲鹏服务器上运行。 有了开发镜像,就可以在任何有docker的机器上,开发调试和验证ARM版的SRS: •ossrs/srs:aarch64•registry.cn-hangzhou.aliyuncs.com/ossrs/ srs:aarch64 未来的计划: •跟进ARM芯片,比如armv9。 ://github.com/ossrs/srs/issues/1547#issue-543780097 [3] ARM Server: https://github.com/ossrs/srs/wiki /r/ossrs/srs/tags?
SRS 3.0.29支持了源站集群,详细请点“阅读原文”。SRS3的主要功能也开发完了,支持了完善的源站和边缘集群。 SRS早就支持了Edge边缘集群,应用于少数推流和众多比如百万人观看的CDN场景;加上Origin源站集群,可以支持众多的推流比如安防摄像头,以及实现源站的热备。 SRS2最近的新的更新包括: #1033,支持用户设置CXXFLAG,用户的编译参数。 #1044,开启TCP_KEEPALIVE,检测连接断开。 SRS3其他的更新包括: #913,支持complex error,改进日志和错误机制。 #464,支持origin cluster源站集群。 #299,支持转封装为MPEG-DASH格式。 SRS3已经完成了主要功能,还需要一到两年的假期,改进和修正BUG。
SRS最近这个月的增长,已经不是指数级增长了。 用大师兄的话说:“Star也可以用钱买”,估计如果花钱买的话,搞不好能买来这个曲线。 回忆下装逼微积分“可导的函数是光滑的”,可以看到SRS的增长曲线已经不可导了,以至于出现了一个向外凸的包。 用人话说,正常的增长曲线最多是指数级别增长,都不光滑的增长,肯定是非正常增长。 我在想是不是哪位金主爸爸在给SRS花钱?请爸爸不要停,继续爽一年,争取让SRS成为竖直增长的开源项目,哈哈哈。 其实我们真的很高兴,所以最近在努力解决SRS 4.0的稳定性问题,删除无用的代码,提高稳定性,补全文档,增加UTest和回归测试,还有朋友立Flag每周一个Bug,照这速度下去4年SRS的Bug都被干掉了 唯有如此努力,才能对得起我们的金主爸爸:使用SRS,并一个Star的朋友,请爸爸们留下自己名字,评论区走起吧。
针对上面的问题,SRS的运营能力分成几个独立的部分,首先是提供了Prometheus可以对接的Exporter,Prometheus可以直接从SRS拉取监控数据,而不依赖外部第三方服务,如下图所示: + Usage for SRS Exporter 首先,编译和启动SRS,要求SRS 5.0.86+: . /configure && make env SRS_ENV_ONLY=on SRS_EXPORTER_ENABLED=on SRS_LISTEN=1935 \ . /objs/srs Note: 我们使用环境变量方式配置SRS,不依赖配置文件。当然使用conf/prometheus.conf启动也可以。 [15]中看到,如下图所示: 欢迎一起来完善SRS仪表盘。
SRS云服务器推荐的方式是轻量服务器,现在也支持了CVM镜像了,未来还会支持更多的云平台和姿势。 •轻量应用服务器:这是推荐的最简单的方式,请参考《云SRS:起步、购买和入门》。 Why 自从SRS轻量服务器推出以来,大家反馈真的非常简单,没有门槛,也在各种场景下得到了应用。 但是,轻量服务器的带宽从4到20Mbps,对于音视频有些场景还是限制比较多,如何解决带宽问题呢? •请注意SRS和音视频的相关问题,还是请提到开源社区。 Note: 这不是SRS的商业版本哈,也不是售后支持群,镜像中涉及的组件都是开源的,大伙儿可以自己随便修改。 如果不方便看视频,我把要点摘录到下面: 1.首先登录腾讯云控制台,选择云服务器[1] 2.点击新建按钮,选择按量计费,在镜像中点镜像市场搜索SRS,点免费使用就可以了。 3.等服务器创建完成后,点击进入管理,在安全组中点编辑规则,开放SRS所需要的端口。 4.在公网IP中,复制IP地址,在地址栏输入ip地址/mgmt进入管理后台,后续就和轻量服务器一样的了。
For example, SRS server only uses one CPU, and its CPU capacity is 100%. • Whether SRS server will not SRS Overload Let's talk about the load and overload conditions in SRS: • SRS’s process. SRS does not support it. At present, SRS has not implemented its own srs-exporter, but it will be implemented in the future. : https://github.com/ossrs/srs-cloud [5] srs-cloud: https://github.com/ossrs/srs-cloud [6] Gracefully
SRS是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT。 SRS主要应用在直播和WebRTC场景,比如娱乐直播、互动直播、教育直播、秀场直播、视频会议、远程控制、云游戏等等。 时光过隙,SRS已经进入第十年了,十年岔路有非常多的挑战和问题,SRS又如何做出调整和选择,SRS对于音视频开源服务器的核心任务有哪些认知的变化,开源社区对SRS的影响又有哪些。 7:29 社区是SRS的核心,社区给SRS带来了什么变化,未来社区怎么发展。 10:01 如何取舍,定义了不做的,才能做好该做的,哪些是SRS不做的。 12:20 云SRS的定位,云SRS在解决什么问题,为何必须要有云SRS。 14:20 直接转换技术,为何要直接转换,和目前的结构有什么区别。
现在SRS已支持WebRTC以及WHIP协议,在SRS创始人winlin的推动下,我们开始了相关的对接工作。 为什么要对接?因为FreeSWITCH和SRS各有所长。 FreeSWITCH从SRS推拉流 FreeSWITCH作为客户端向SRS推流,从SRS拉流。如下图。 其中,红色代表推流,蓝色代表拉流,黑色是双向流。 SRS从FreeSWITCH推拉流 SRS从FreeSWITCH推拉流 FreeSWITCH也支持WHIP协议,但SRS尚未实现客户端模式的推拉流。 如果你不使用Docker,也可以使用以下命令自行编译运行SRS: git clone -b develop https://gitee.com/ossrs/srs.git && cd srs/trunk url:SRS 推拉流 URL。 · FreeSWITCH推流到SRS · FreeSWITCH是一个软交换平台和MCU。SRS对接在FreeSWITCH内实现为一个Endpoint。
SRS云服务器,是开箱即用的音视频方案,提供升级和监控运维能力,同时针对不同音视频的应用场景,开箱即用。 •请注意SRS和音视频的相关问题,还是请提到开源社区。 Note: 这不是SRS的商业版本哈,也不是售后支持群,镜像中涉及的组件都是开源的,大伙儿可以自己随便修改。 2.点击购买或新建按钮,在镜像中选择SRS 4.1 Release,点购买就可以了。3.等服务器创建完成后,点击进入管理,在应用管理中,可以看到需要开的端口,在防火墙开放对应端口。
SRS云服务器推荐的方式,国内是腾讯云的LightHouse轻量应用服务器,或者是腾讯云的CVM云服务器。 如果是海外用户呢? SRS云服务器也支持了DigitalOcean的Droplet镜像了,未来还会支持更多的云平台和姿势。 •LightHouse轻量服务器:这是推荐的最简单的方式,请参考《SRS云服务器:起步、购买和入门》。•CVM云服务器:带宽很高可以到100Mbps,请参考《云SRS:支持CVM镜像》。 Why 自从SRS轻量服务器推出以来,大家反馈真的非常简单,没有门槛,也在各种场景下得到了应用。 •请注意SRS和音视频的相关问题,还是请提到开源社区。 Note: 这不是SRS的商业版本哈,也不是售后支持群,镜像中涉及的组件都是开源的,大伙儿可以自己随便修改。