资讯动态

SRS 实时视频服务器搭建及使用

发布时间:2026/10/27 1:14:00 来源:尧图企业网站定制
一、SRS 介绍SRS是一个开源的MIT协议简单高效的实时视频服务器支持RTMP、WebRTC、HLS、HTTP-FLV、SRT、MPEG-DASH和GB28181等协议。SRS媒体服务器和FFmpeg、OBS、VLC、WebRTC等客户端配合使用提供流的接收和分发的能力是一个典型的发布 推流和订阅播放服务器模型。SRS支持互联网广泛应用的音视频协议转换比如可以将RTMP或SRT 转成HLS或HTTP-FLV或WebRTC等协议。SRS主要用于直播和WebRTC领域。在直播领域SRS支持RTMP、HLS、SRT、MPEG-DASH和HTTP-FLV等典型协议。在WebRTC领域SRS支持WebRTC、WHIP和WHEP等协议。SRS可以为直播和WebRTC实现协议转换。作为媒体服务器SRS通常与FFmpeg、OBS和WebRTC等其他开源项目一起工作。SRS Stack作为一个开箱即用的媒体解决方案整合了众多开源项目和工具更多详细信息请参考SRS Stack的 介绍。SRS提供了HTTP API开放接口可以查询系统的状态和流状态。同时还支持HTTP Callback支持回调能力主动通知你的系统并可以实现流的鉴权能力和业务定制比如动态DVR。SRS也支持官方的Prometheus Exporter对接到云原生的监控系统具备强大的可观测性。SRS支持会话级别可追踪日志极大降低了系统维护成本。SRS使用ANSI C (98)开发只使用了基本的C能力可以在Linux、Windows、macOS等多个平台运行。更多介绍可以参考官方文档https://ossrs.net/lts/zh-cn/SRS 安装这里使用dockerdocker-compose的方式安装所以需要提前部署好docker和docker-compose的环境。编写docker-compose.yml文件version:3.5services:srs:container_name:srsimage:registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5ports:-1935:1935-1985:1985-7080:8080networks:-srsnetworks:srs:启动服务docker-composeup-d然后在浏览器访问http://ip:7080/console/ng_index.html#/summaries即可看到控制台页面下面实验通过ffmpeg进行rtmp视频推流然后通过aliplayer拉取直播视频流。二、ffmpeg rtmp 实时视频推流下载windows版本ffmpeghttps://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-2024-04-01-git-7bf85d2d3a-essentials_build.7z如果是linux或mac系统可通过下面链接下载https://ffmpeg.org/download.html下载之后可在bin下看到启动文件在进行推流前需要查看摄像头名称ffmpeg-list_devicestrue-fdshow-idummy实时推流ffmpeg-fdshow-framerate30-video_size640x480-ivideoIntegrated Webcam-c:vlibx264-presetultrafast-pix_fmtyuv420p-fflv rtmp://192.168.40.20:1935/live/livestream/1其中参数的介绍如下-f dshow指定输入格式为DirectShow用于在Windows上捕获视频。-framerate 30指定视频帧率为30帧每秒。-video_size 640x480指定视频的尺寸为640x480像素。-i video“Integrated Webcam”指定视频输入源为名为 “Integrated Webcam” 的摄像头设备。注意这里的 video 中的名称是通过上面查询出来的。-c:v libx264指定视频编码器为libx264用于将视频编码为H.264格式。-preset ultrafast指定编码速度为ultrafast表示使用最快的编码速度但会产生更大的文件大小。-pix_fmt yuv420p指定像素格式为yuv420p这是一种常用的像素格式与大多数播放器和流媒体服务兼容。-f flv指定输出格式为FLV。rtmp://192.168.40.20:1935/live/livestream/1指定RTMP服务器的地址和流名称。其中192.168.40.20:1935 是RTMP服务器的IP地址和端口号/live/livestream/1 是流的名称。你需要将这部分替换为你实际使用的RTMP服务器地址和流名称。可在srs的自带的播放器页面查看http://ip:7080/players/srs_player.html?schemahttpport7080api7080注意url根据rtmp推流时的路径要一致例如上面推流是rtmp://ip:1935/live/livestream/1这边查看就是http://ip:7080/live/livestream/1.flv然后点击Play即可看到推流的视频。为了隐私考虑这里将摄像头挡住了你应该可以看到你的实时画面。三、 aliplayer 拉取试试视频流AliPlayer是阿里云推出的一款跨平台的视频播放器SDK。它具有丰富的功能和强大的性能可以帮助开发者快速构建稳定、高效的视频播放应用。构建逻辑如下!DOCTYPE htmlhtmlheadmetacharsetutf-8meta http-equivx-ua-compatiblecontentIEedgemetanameviewportcontentwidthdevice-width, heightdevice-height, initial-scale1, maximum-scale1, minimum-scale1, user-scalableno/titleAliplayer Online Settings/titlelinkrelstylesheethrefhttps://g.alicdn.com/apsara-media-box/imp-web-player/2.21.0/skins/default/aliplayer-min.css/scripttypetext/javascriptcharsetutf-8srchttps://g.alicdn.com/apsara-media-box/imp-web-player/2.21.0/aliplayer-min.js/script/headbodydivclassprism-playeridplayer-con/divscriptvar playernew Aliplayer({id:player-con,source:http://192.168.40.20:7080/live/livestream/1.flv,width:100%,height:500px,autoplay:true,isLive:false,rePlay:false,playsinline:true,preload:true,controlBarVisibility:hover,useH5Prism:true},function(player){console.log(The player is created);});/script/body注意source中的url和前面路径一致。为了隐私考虑这里将摄像头挡住了你应该可以看到你的实时画面。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑