基于docker搭建nginx+rtmp+(ffmpeg)点播服务

需求:qq可以实现两个人同时在线听歌,但现在由于某种特殊需求,需要两个人能同时在线看电影的工具,其实网上有现成的工具微光,但是由于互联网限制,不能随意推视频,于是,这边博客应运而生。

最开始的时候有尝试手动搭,但是问题无数,而且使用体验并不好,本次使用docker搭建

一.docker环境

docker的安装这里不做记录,网上有很多教程,而且这个很少出问题

二.安装nginx+rtmp

这里使用docker仓库里tiangolo/nginx-rtmp的,直接拉下来运行即可

# 拉取镜像
docker pull tiangolo/nginx-rtmp
# 根据镜像运行容器
docker run -d -p 1935:1935 --name nginx-rtmp tiangolo/nginx-rtmp
  1. 只需要两行命令就搭好了,接下来可以使用工具OBS推流


    基于docker搭建nginx+rtmp+(ffmpeg)点播服务_第1张图片
    推流.png
  2. 然后可以使用VLC来拉流
    基于docker搭建nginx+rtmp+(ffmpeg)点播服务_第2张图片
    拉流.png

    注意:这样其实存在一个问题,推流是由本地推到服务器,拉流也是本地从服务器上拉,这样会多耗一倍的带宽,最好的解决方案是,由服务器进行推流,终端进行拉流,所以下面继续安装ffmpeg进行推流

三.安装ffmpeg

这里使用docker仓库里tiangolo/nginx-rtmp的,直接拉下来运行即可

# 拉取镜像
docker pull jrottenberg/ffmpeg
# 根据镜像运行容器
docker run -it --name app_ffmpeg -p 8080:8080 -v /home/app_ffmpeg/:/mnt/app/ --entrypoint=‘bash’ jrottenberg/ffmpeg
# 把文件导入到docker容器目录中
docker cp /usr/video/a.mp4 app_ffmpeg:/tmp/workdir
# 查看容器,启动容器,进入容器
docker ps -a
docker start app_ffmpeg
docker attach app_ffmpeg
# 然后就可以推流啦(这里就可以使用局域网IP进行推流)
ffmpeg -re -stream_loop -1 -i a.mp4 -vcodec copy -acodec copy -f flv rtmp://172.17.0.16:1935/live/cs

然后,然后,造作吧

你可能感兴趣的:(基于docker搭建nginx+rtmp+(ffmpeg)点播服务)