【网络通信 -- 直播】SRS 实战记录 -- SRS 部署与直播效果测试
【网络通信 -- 直播】SRS 实战记录 -- SRS 部署与直播效果测试
【1】SRS(Simple Realtime Server) 部署
SRS 代码下载
git clone https://gitee.com/winlinvip/srs.oschina.git srs &&
cd srs/trunk && git remote set-url origin https://github.com/ossrs/srs.git && git pull
# webrtc需要srs的最低版本:SRS4.0.14,所以我们部署的srs的时候版本需要大于SRS4.0.14
# 查看分支
git branch -v
# 若是不是 *4.0release ,需要切换分支
git checkout 4.0release
#再次查看当前所处分支
git branch -v
SRS 代码配置与编译
配置
./configure --with-hls --with-ssl --with-http-server --with-http-callback --with-http-api --with-ingest --with-stream-caster
编译
make
【2】SRS 配置与启动
SRS 配置文件示例
# the config for srs to delivery RTMP
# @see https://github.com/ossrs/srs/wiki/v1_CN_SampleRTMP
# @see full.conf for detail config.listen 1935;
max_connections 1000;
srs_log_tank console;
srs_log_file ./objs/srs.log;
daemon off;http_server {enabled on;listen 8080;dir ./objs/nginx/html;
}
http_api {enabled on;listen 1985;
}
stats {network 0;
}
rtc_server {enabled on;# Listen at udp://8000listen 8000;## The $CANDIDATE means fetch from env, if not configed, use * as default.## The * means retrieving server IP automatically, from all network interfaces,# @see https://github.com/ossrs/srs/issues/307#issuecomment-599028124candidate $CANDIDATE;
}
vhost __defaultVhost__ {# 0延迟,默认就是0延迟min_latency on;tcp_nodelay on;play {gop_cache off;queue_length 10;mw_latency 100;mw_msgs 0;}# 开启 flv 播放http_remux {enabled on;mount [vhost]/[app]/[stream].flv;}# 开启 m3u8 播放hls {enabled on;hls_path ./objs/nginx/html;hls_fragment 10;hls_window 60;}# 保存视频dvr {enabled on;# 这个里的都保存dvr_apply all;dvr_path ./objs/nginx/dvr/[app]/[stream]/[timestamp].mp4;dvr_plan session;time_jitter full;}#vhost打开启用rtcrtc {enabled on;bframe discard;}}vhost nosave {# 0延迟,默认就是0延迟# min_latency on;# play {# mw_latency 0;# mw_msgs 0;# }# 开启 flv 播放http_remux {enabled on;mount [vhost]/[app]/[stream].flv;}# 开启 m3u8 播放hls {enabled on;hls_path ./objs/nginx/html;hls_fragment 10;hls_window 60;}#vhost打开启用rtcrtc {enabled on;bframe discard;}
}
SRS 启停命令
启动 SRS
./objs/srs -c 配置文件路径(一般位于 conf 文件夹下)查看 SRS 状态
./etc/init.d/srs status停止 SRS
./etc/init.d/srs stop
【3】SRS 服务器相关说明
【3.1】SRS 自带播放器网址
SRS 自带播放器网址,http://IP:8080/players/rtc_player.html
【3.2】SRS 控制台配置
下载 ossrs/srs-docker 项目,将其中的 srs-docker/srs-console/trunk/research/ 中的 console 文件夹复制到 srs 服务的 srs/trunk/objs/nginx/html/ 文件夹中,此时控制台访问网址即为 http://IP:1985/console/ng_index.html#/connect;
【4】推流端软件简介
【4.1】Open Broadcaster Software,OBS
官方网址,https://obsproject.com/zh-cn
主界面图示
推流设置
【5】直播效果展示
实验环境
SRS 服务器(部署在单台台式机);推流工具 OBS,推送 RTMP 流;拉流工具 VLC,拉取 RTMP,HTTP-FLV;SRS 自带 RTC 播放器,WebRTC 拉流;
推流直播效果对比
RTMP 推流 + RTMP 拉流
RTMP 推流 + HTTP-FLV 拉流
RTMP 推流 + WebRTC 拉流
参考与致谢
本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。
【1】SRS(Simple Realtime Server) 官方网站
【2】srs部署/webrtc拉流
【3】SRS之启用webrtc播放
【4】《直播从零开始》SRS RTMP/HLS低延时模式
【5】配置 OBS 直播推流
【网络通信 -- 直播】SRS 实战记录 -- SRS 部署与直播效果测试相关推荐
- 【网络通信 -- 直播】项目实战记录 -- 弱网模拟工具
[网络通信 -- 直播]项目实战记录 -- 弱网模拟工具 [1]Windows 系统中弱网模拟工具 Windows 系统中可以使用 Clumsy 工具模拟弱网环境 Lag(延迟),把数据包缓存一段时间 ...
- 网页端搭建视频流实时播放平台/直播平台(FFmpeg+SRS+http-flv+flv.js+h5)
搭建视频流实时播放平台/直播平台(FFmpeg+SRS+http-flv+flv.js+h5) 基于网页端搭建视频流的实时播放,也可以应用到直播平台,原理一致 以下操作都是基于ubuntu18.04, ...
- ffmpeg 安装_CentOS7.6安装SRS和ffmpeg实现自建直播服务器
我使用的SRS版本:SRS-CentOS6-x86_64-2.0.263 查看系统版本 [root@xxxxxx ~]# cat /etc/redhat-release 安装常用软件 [root@xx ...
- srs直播 java开发,通过srs实现直播
通过srs实现直播 最终效果 效果图 环境配置 服务器:centos:7, nodejs:10.16.3 客户端:windows10 推流服务器 通过SRS实现流媒体, 它支持RTMP/HLS/Web ...
- srs直播 java开发,使用 SRS/OBS/VLC 快速搭建直播服务系统
环境准备 推流服务器 我用 SRS 运行在 Debian/Jessie 下 v2.0.209 . 编译安装 ./configure --prefix=/opt/srs --with-stat --wi ...
- 【网络通信 -- SIP 电话】项目实战记录 -- SIP 服务器 OPENSIPS 搭建测试与 SIP 客户端 PJSIP 编译安装测试
[网络通信 -- SIP 电话]项目实战记录 -- SIP 服务器 OPENSIPS 搭建测试与 SIP 客户端 PJSIP 编译安装测试 [1]SIP 服务器 OPENSIPS 搭建 1.1 安装环 ...
- SRS视频服务器-docker部署srs4.0.198-ubuntu系统:配置低时延实现srt推流和拉流
一.docker安装srs4.0.198 推荐使用docker来安装srs视频服务器,简单方便 我使用的是ubuntu18.04系统. 1.1.docker的安装 我参考的是:https://blog ...
- SRS 实战 GB28181 流媒体服务解决方案
1.SRS 简介 1.1.概述 SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码.SRS提供了丰富的接入方案将RTMP流接入SRS, 包括推送RTMP到SRS.推送RT ...
- 【网络通信 -- WebRTC】项目实战记录 -- WebRTC Native SDP 协商没有 H264 载荷问题
[网络通信 -- WebRTC]项目实战记录 -- WebRTC Native SDP 协商没有 H264 载荷问题 [1]原因分析 webrtc h264 的 supportedHwCodecPro ...
最新文章
- 多线程番外之真假*程
- lf 前后端分离 (4) 价格策略
- 自动增加asp元件及onclick
- 多线程与高并发(六):线程池可用的各种高并发容器详解:CopyOnWriteList,BlockingQueue等
- mysql 36条军规_mysql开发36条军规(转)
- Jerry Wang的SAP UI5源代码深入剖析系列文章
- [前台]---input标签中的hidden,浏览器差异问题
- 探讨IOS应用在中国的盈利模式
- Ubuntu的超宽屏支持2560*1080
- android 横向滚动图片,Android使用Photoview实现图片左右滑动及缩放功能
- Jellybean 4.1.1 精简列表+谷歌服务包精简列表
- 按键精灵 android,按键精灵安卓版
- 下载网页上的视频、音频文件
- quartus 中无法选择USB-Blaster下载程序的问题。
- 【项目管理】干系人管理
- Spring Boot微服务API网关
- 用正则表达式制作单线程小说网站小说下载器
- 3个重要的同余式定理
- FCN(全卷积网络)部分函数方法更新说明
- Python爬虫(2.网络爬虫的实现原理及技术)
热门文章
- 基于Python的人脸识别 附带说明文档
- 数据库orcle-实验一 数据定义和数据更新
- 如何使用谷歌浏览器开发者工具中的Performance分析网页性能
- 达摩院智能计算实验室负责人周靖人 入选IEEE Fellow
- Python--爬虫,了解防盗链-->解决防盗链,解决反反反爬
- 搜救小车单片机_一种智能火灾搜救小车的制作方法
- 微信蜜獾服务器,突击手蜜獾直播露脸,被喊话关掉美颜,粉丝:这么帅不女装可惜了...
- 能ping通虚拟机,但snmp报文 Destination unreachable(Host administratively prohibited
- java动作游戏教程_用java设计实现一个简单的动作冒险类游戏
- 微信二次开发教程(1)微信公众号介绍