使用centos7搭建流媒体平台

实现流媒体直播

流媒体服务器,推流客户端,拉流客户端

硬件设施 centos7服务器,window拉流客户端

软件层面 dockers+nginx+rtmp模块

其他工具 git vlc

搭建rtmp服务器

这里是搭建服务器的环境

首先配置centos的环境

下载vmware

vmware的破解码

下载centos7的镜像

按照普通安装centos7的方式给一个1核2g运存20g内存的环境

配置centos7环境

更新系统到最新状态 sudo yum update

启用epel仓库 sudo yum install epel-release

配置语言环境 sudo yum install -y gcc-c++
make python-devel # 或其他特定版本的Python如python36-devel

防火墙设置 sudo firewall-cmd --permanent --add-port=80/tcp

安装dockers

sudo yum install -y yum-utils

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

sudo yum install -y docker-ce docker-ce-cli containerd.io

启用docker并设置自动启动

sudo systemctl start docker

sudo systemctl enable docker

检查是否成功安装运行
docker --version

运行项目

安装git

sudo yum install git

git --version

开始克隆

git clone https://gitcode.com/tiangolo/nginx-rtmp-docker.git

然后进去到项目目录
cd nginx-rtmp-docker

使用docker启动监听,这里就已经运行了RTMP服务器,监听口在1935

docker run -d -p 1935:1935 --name=nginx-rtmp tiangolo/nginx-rtmp

推流服务端

安装ffmpeg推流

sudo apt-get update

sudo apt-get install ffmpeg

然后进到一个文件夹,文件夹内必须要有mp4文件,下一步要做的就是将这个文件转码推送到客户端

ffmpeg -re -i input.mp4 -c copy -f flv rtmp://localhost/live/stream

“input.mp4”是你的视频文件,“rtmp://localhost/live/stream”是你的RTMP服务器地址

现在的RTMP是自己服务器内

docker run -d -p 1935:1935 --name=nginx-rtmp 

tiangolo/nginx-rtmp命令启动了一个名为"nginx-rtmp"的容器,它监听主机的1935端口。

ffmpeg -re -i input.mp4 -c copy -f flv

rtmp://localhost/live/stream命令将名为"input.mp4"的视频文件转换成流,然后推送到"rtmp://localhost/live/stream

ffmpeg是推流客户端,而nginx-rtmp容器是流媒体服务器,二者之间通过RTMP协议进行通信

sudo firewall-cmd --reload

到这一步推流客户端,流媒体服务器已经搭建完毕

拉流客户端

搭建流媒体服务器

搭建之前需要知道一个东西,这个时候推流服务器的ip地址是哪个

在centos7系统中,使用ip addr指令获取
会出来几条IP接口

io 环回接口,用在本机通讯

ens33 物理以太网接口

virbr0 虚拟网桥

docker0 Docker容器网络的虚拟网桥

这里需要用 ens33地址接口

然后在其他机器上测试这个接口是否能正常使用

在windows上使用ipconfig 地址
看是否有返回值

这里就确定是否可以正常使用

下一步,下载Vlc客户端作为拉流客户端
vlc下载地址:windows版

在推流服务器使用这个指令让客户端播放完视频一直循环播放

ffmpeg -re -stream_loop -1 -i forest4kTest.mp4 -c copy -f flv rtmp://192.168.121.50/live/stream

总结:

三个端串联,流媒体服务器,推流客户端,拉流客户端
参考原作者:https://blog.csdn.net/Dontla/article/details/135375042

  • 26
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值