【参考文章原文链接】
Ubuntu中使用Nginx rtmp模块搭建流媒体视频点播服务
Ubuntu中使用Nginx rtmp搭建流媒体直播服务
docker中使用源码方式搭建SRS流媒体服务
SRS-HTTP服务部署实例
本文代码来自:docker中使用源码方式搭建SRS流媒体服务 侵权删除。
【准备】一个带有公网 ip 且带宽够用的云服务器。
本文测试的服务器环境: 腾讯云服务器Ubuntu Server 18.04.1 LTS 64位 2C4G100M
【配置环境】
代码语言:javascript复制echo 'deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
' > /etc/apt/sources.list && cat /etc/apt/sources.list
需要使用root账号执行上面的命令。
代码语言:javascript复制apt update
代码语言:javascript复制apt install -y git gcc g unzip make python
代码语言:javascript复制git clone https://gitee.com/songboy/srs.git && ls srs
代码语言:javascript复制cd srs/trunk/ && ls
代码语言:javascript复制./configure && make
代码语言:javascript复制cat conf/srs.conf
【运行】
RTMP推流 RTMP拉流
代码语言:javascript复制./objs/srs -c conf/srs.conf
RTMP推流 RTMP/hls拉流
代码语言:javascript复制./objs/srs -c conf/http.hls.conf
RTMP推流 RTMP/hls拉流 后台运行
代码语言:javascript复制nohup ./objs/srs -c conf/http.hls.conf > myout.file 2>&1 &
当返回pid则程序正常运行,例如:[2] 10654。
【查找并结束进程】
1.查找正在运行的程序
代码语言:javascript复制ps -ef | grep srs.conf
得到以下结果
代码语言:javascript复制root 19522 2038 0 17:22 pts/0 00:00:00 ./objs/srs -c conf/http.hls.conf
2.结束进程
想要结束程序的话,只需要输入 kill -9 19522 就可以了。
【需要注意的地方】
【注意】hls拉流时,服务器应放行TCP:8080端口。
【问题】发现OBS 软件 RTMP推流不成功,无法连接服务器。
【解决】服务器端 系统设置及安全组出站、入站均放行TCP:1935端口。
【温馨提示】使用 nohup 可以使程序后台运行。
【先说结论】
可以手机/电脑RTMP推流,可以手机hls/电脑RTMP/电脑hls拉流。
【建议推流/拉流方法】
电脑RTMP推流 电脑RTMP拉流(VLC/web)延时约3秒。
【不同方式下的延时】
电脑RTMP推流 手机hls拉流 70秒
电脑RTMP推流 电脑RTMP拉流 3秒(VLC)
电脑RTMP推流 电脑RTMP拉流 3秒(web)
电脑RTMP推流 电脑hls拉流 30秒(VLC)
电脑RTMP推流 电脑hls拉流 极其不流畅(web)
手机RTMP推流 手机hls拉流 50秒
手机RTMP推流 电脑RTMP拉流 4秒(VLC)
手机RTMP推流 电脑RTMP拉流 2秒(web)
手机RTMP推流 电脑hls拉流 70秒(VLC)
手机RTMP推流 电脑hls拉流 极其不流畅(web)
【压力测试】
电脑OBS RTMP推流,电脑VLC播放器3个窗口RTMP拉流、3个窗口hls拉流。推流流量130k/s。
基本不占用云服务器内存和CPU,负载较低。
【实际测试】使用源码方式搭建SRS流媒体服务
服务器环境: 腾讯云服务器Ubuntu Server 18.04.1 LTS 64位 2C4G100M
电脑发送及接收端环境:WIN10纯净版 家用100M宽带
【以下软件使用方法】【玩转腾讯云】搭建推流和拉流环境
电脑RTMP推流:OBS软件 OBS下载
推流服务器:rtmp://123.57.228.113/live
推流串流密钥:123
OBS设置 【输出-视频比特率】为700kbps, 【音频-采样率】为44.1KHZ】,【视频-输出分辨率】为1920X1080时,延时约3秒,画质清晰,实际下行流量约150k/s。
电脑RMTP/hls拉流:VLC/网页播放
RTMP拉流rtmp://192.144.144.109:1935/live/123
hls拉流:http://192.144.144.109:8080/live/123.m3u8
VLC media player 下载
下面的网址可以在线解析播放hls(m3u8)、RMTP流。
在线SRS播放器
手机RMTP推流:杏林推流软件
推流: rtmp://192.144.144.109:1935/live/123
720P -Protrait 推流流量约200k/s,屏幕无变化时推流流量约70k/s。
手机hls拉流:Chrome浏览器网页播放
hls拉流:http://192.144.144.109:8080/live/123.m3u8