用SRS快速搭建WebRTC推流和播放

用SRS快速搭建WebRTC推流和播放,第1张

WebRTC目前已经比较成熟了,播放也比较稳定,协议也已经成为了RFC,相应的开源项目也比较多。当然我觉得WebRTC还缺一个高性能简单易用的服务器,之前也分析过现有的服务器,有各种问题,SRS很有机会解决这些问题。

目前SRS对WebRTC的支持进度如下:

相关Wiki:

在线演示,RTMP推流,HTTP-FLV和WebRTC播放:

在线演示,WebRTC推流,WebRTC播放:

自己用SRS搭建WebRTC服务器,也非常容易,下面是操作步骤。

注意:必须要将本机的IP传给Docker,否则会推流和播放失败。

可以直接传本机IP,例如: 19216813 。如果觉得直接传IP比较麻烦,可以用脚本获取IP。

macOS下执行命令,直接设置IP:

macOS下执行命令,用脚本获取IP:

CentOS下执行命令,用脚本获取IP:

启动后,可以访问 http://localhost:8080/ ,确认是否启动成功。

Docker一定要设置对这个IP,否则会出现推流和播放失败。

演示,WebRTC推流和播放,链接:

演示,RTMP推流,WebRTC播放。首先,用FFMPEG或OBS推送RTMP流到服务器:

可播放的流地址:

视频直播软件系统开发,流媒体技术主要有以下几种:

1、智能流技术

自动检测网络状况,并将音视频的属性调整到最佳,使用用户收到与其网络速度相符的媒体流,从而获取最佳的用户体验。

2、分流(splitting)技术

一般只在视频直播系统开发中使用。发送服务器将媒体流发送到分布在各地的多个接收服务器,客户端可以就近访问服务器获得较高质量的媒体流,同时减少带宽使用。推流为将直播内容推送至服务器的过程;拉流为服务器已有直播内容,用指定地址进行拉取的过程。

3、缓存(caching)技术

解决由于异步网络、网络延迟和抖动导致的数据包错序的问题,数据包先缓存在本地,而缓存系统使用环形链表结构丢弃掉已经播放的内容,防止缓存溢出。

4、内容分发网络(CDN)技术

架构在IP网络之上的一个内容叠加网,通过引入主动内容管理、全局负载均衡和内容缓存等技术,将用户请求的流媒体内容发布到距离用户最近的网络边缘,从而提供响应速度,减轻骨干网络的压力。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 用SRS快速搭建WebRTC推流和播放

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情