ubuntu部署srs流媒体服务
以下内容摘抄自官网地址:https://ossrs.net/lts/zh-cn/docs/v4/doc/getting-started-build
直播是SRS的典型场景,支持推直播流后多种观看方式。
下载源码,推荐用Ubuntu20:
git clone -b 4.0release https://gitee.com/ossrs/srs.git
srs/trunk
目录:cd srs/trunk
./configure
make
启动服务器:
./objs/srs -c conf/srs.conf
检查SRS是否成功启动,可以打开 http://localhost:8080/ ,或者执行命令:
# 查看SRS的状态
./etc/init.d/srs status
# 或者看SRS的日志
tail -n 30 -f ./objs/srs.log
例如,下面的命令显示SRS正在运行:
MB0:trunk $ ./etc/init.d/srs status
SRS(pid 90408) is running. [ OK ]
MB0:trunk $ tail -n 30 -f ./objs/srs.log
[2021-08-13 10:30:36.634][Trace][90408][12c97232] Hybrid cpu=0.00%,0MB, cid=1,1, timer=61,0,0, clock=0,22,25,0,0,0,0,1,0
使用 FFmpeg(点击下载) 或 OBS(点击下载) 推流:
ffmpeg -re -i ./doc/source.flv -c copy -f flv rtmp://localhost/live/livestream
Note: 实例文件
./doc/source.flv
在SRS的源代码目录中有。
打开下面的页面播放流(若SRS不在本机,请将localhost更换成服务器IP):
- RTMP (by VLC):
rtmp://localhost/live/livestream
- H5(HTTP-FLV): http://localhost:8080/live/livestream.flv
- H5(HLS): http://localhost:8080/live/livestream.m3u8
WebRTC
SRS支持WebRTC,可以做会议或视频聊天。
下载源码,推荐用Ubuntu20:
git clone -b 4.0release https://gitee.com/ossrs/srs.git
编译,注意需要切换到srs/trunk
目录:
cd srs/trunk
./configure
make
启动服务器:
CANDIDATE="192.168.1.10"
./objs/srs -c conf/srs.conf
Note: 请将IP换成你的SRS的IP地址。
Note: 请将CANDIDATE设置为服务器的外网地址,详细请阅读WebRTC: CANDIDATE。
检查SRS是否成功启动,可以打开 http://localhost:8080/ ,或者执行命令:
# 查看SRS的状态
./etc/init.d/srs status
# 或者看SRS的日志
tail -n 30 -f ./objs/srs.log
例如,下面的命令显示SRS正在运行:
MB0:trunk $ ./etc/init.d/srs status
SRS(pid 90408) is running. [ OK ]
MB0:trunk $ tail -n 30 -f ./objs/srs.log
[2021-08-13 10:30:36.634][Trace][90408][12c97232] Hybrid cpu=0.00%,0MB, cid=1,1, timer=61,0,0, clock=0,22,25,0,0,0,0,1,0
使用WebRTC推流到SRS:WebRTC: Publish
打开页面观看WebRTC流:WebRTC: Play
Note: 可以打开不同的页面,推拉不同的流,就可以实现视频聊天了。
WebRTC for Live Streaming
SRS支持直播转WebRTC,推直播流,使用WebRTC观看。
下载源码,推荐用Ubuntu20:
git clone -b 4.0release https://gitee.com/ossrs/srs.git
编译,注意需要切换到srs/trunk
目录:
cd srs/trunk
./configure
make
启动服务器:
CANDIDATE="192.168.1.10"
./objs/srs -c conf/rtmp2rtc.conf
Note: 请将IP换成你的SRS的IP地址。
Note: 请将CANDIDATE设置为服务器的外网地址,详细请阅读WebRTC: CANDIDATE。
Note: 注意如果RTMP转WebRTC流播放,必须使用配置文件
rtmp2rtc.conf
使用 FFmpeg(点击下载) 或 OBS(点击下载) 推流:
ffmpeg -re -i ./doc/source.flv -c copy -f flv rtmp://localhost/live/livestream
Note: 实例文件
./doc/source.flv
在SRS的源代码目录中有。
打开下面的页面播放流(若SRS不在本机,请将localhost更换成服务器IP):
- WebRTC: webrtc://localhost/live/livestream
- H5(HTTP-FLV): http://localhost:8080/live/livestream.flv
- H5(HLS): http://localhost:8080/live/livestream.m3u8
WebRTC using HTTPS
若需要在非本机使用WebRTC,比如SRS运行在远程服务器,在笔记本或者手机上使用WebRTC,则需要开启HTTPS API。
下载源码,推荐用Ubuntu20:
git clone -b 4.0release https://gitee.com/ossrs/srs.git
编译,注意需要切换到srs/trunk
目录:
cd srs/trunk
./configure
make
启动服务器:
CANDIDATE="192.168.1.10"
./objs/srs -c conf/https.rtc.conf
Note: 请将IP换成你的SRS的IP地址。
Note: 请将CANDIDATE设置为服务器的外网地址,详细请阅读WebRTC: CANDIDATE。
Remark: 请使用你的证书文件,代替上面配置中的key和cert,请参考 HTTPS API 以及 HTTPS Callback 以及 HTTPS Live Streaming, 当然了HTTPS的反向代理也能和SRS工作很好,比如Nginx代理到SRS。
使用WebRTC推流到SRS:WebRTC: Publish
打开页面观看WebRTC流:WebRTC: Play
注意:自签名证书,在空白处输入
thisisunsafe
(注意没空格)。
Note: 可以打开不同的页面,推拉不同的流,就可以实现视频聊天了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!