搭建推流和拉流环境

Posted 都市烟火

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建推流和拉流环境相关的知识,希望对你有一定的参考价值。

转自:【玩转腾讯云】搭建推流和拉流环境

【准备】一个带有公网 ip 且带宽够用的云服务器

本文测试的服务器环境: 腾讯云服务器Ubuntu Server 18.04.1 LTS 64位 2C4G100M

【配置环境】

 

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账号执行上面的命令。

apt update
apt install -y git gcc g++ unzip make  python
git clone https://gitee.com/songboy/srs.git && ls srs
cd srs/trunk/ && ls
./configure && make
cat conf/srs.conf

【运行】

RTMP推流+RTMP拉流

./objs/srs -c conf/srs.conf

RTMP推流+RTMP/hls拉流

./objs/srs -c conf/http.hls.conf

RTMP推流+RTMP/hls拉流 后台运行

nohup ./objs/srs -c conf/http.hls.conf > myout.file 2>&1 &

当返回pid则程序正常运行,例如:[2] 10654。

【查找并结束进程】

1.查找正在运行的程序

ps -ef | grep srs.conf

得到以下结果

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

 

【参考文章原文链接】

Ubuntu中使用Nginx+rtmp模块搭建流媒体视频点播服务

Ubuntu中使用Nginx+rtmp搭建流媒体直播服务

docker中使用源码方式搭建SRS流媒体服务

SRS-HTTP服务部署实例

本文代码来自:docker中使用源码方式搭建SRS流媒体服务 侵权删除。

以上是关于搭建推流和拉流环境的主要内容,如果未能解决你的问题,请参考以下文章

VLC 播放器的推流和拉流方法

阿里云直播鉴权

推流和拉流的概念以及RTMP和HLS协议

流媒体中的推流和拉流区别

C++/Qt音视频通话开发MetaRTC源码解读,视频推流和拉流

直播-拉流和推流怎么设置?