搭建RTMP直播流服务器实现直播

搭建RTMP直播流服务器实现直播

服务介绍

RTMP流媒体服务器,现成的开源方案有很多,有SRS,Red5,wowoza,FMS等,我这里使用的是Nginx的rtmp插件实现实时流转发。

先在 Nginx官网 下载源码包,然后在 github 下载插件包。

为了简化安装过程,网上有很多现成的 nginx + rtmp docker 镜像。下面以 alqutami/rtmp-hls 为例来讲解 rtmp 流媒体服务器的部署。

此 Docker 映像可用于创建开箱即用的支持RTMP、HLS、DASH的视频流服务器。它还允许视频流的自适应流媒体和自定义转码。所有模块都是在 Debian 和 Alpine Linux 基础映像上从源代码构建的。

当前图像是使用以下方法构建的:

部署服务

下载

通过 docker 方式的部署无需安装服务器依赖环境,也不用关心服务器系统发行版。主要需要安装 docker,然后执行以下命令获取镜像:

# pull rtmp-hls image
docker pull alqutami/rtmp-hls

# see rtmp-hls image
docker image ls

# save image
docker image save alqutami/rtmp-hls:latest > alqutami_rtmp-hls_latest.tar.gz

# load image
docker image load < alqutami_rtmp-hls_latest.tar.gz

安装

镜像下载安装之后,即可直接安装运行 rtmp 的 docker container

# base buid
docker run -d --name rtmp -p 1935:1935 -p 8080:8080 alqutami/rtmp-hls:latest

# see container 
docker container exec -it rtmp bash

# delete container 
docker container rm -f rtmp

附件:

调试

流式传输到服务器

查看流

笔记:*

# conf buid
docker run -d \
--name rtmp \
-p 1935:1935 \
-p 8080:8080 \
-v /data/rtmp/nginx.conf:/etc/nginx/nginx.conf \
-v /data/rtmp/html:/usr/local/nginx/html \
alqutami/rtmp-hls:latest
# order conf copy
mkdir -p html/players

docker container cp rtmp:/usr/local/nginx/html/50x.html html/
docker container cp rtmp:/usr/local/nginx/html/index.html html/
docker container cp rtmp:/usr/local/nginx/html/players/dash.html html/players/
docker container cp rtmp:/usr/local/nginx/html/players/hls.html html/players/
docker container cp rtmp:/usr/local/nginx/html/players/hls_hlsjs.html html/players/
docker container cp rtmp:/usr/local/nginx/html/players/rtmp.html html/players/
docker container cp rtmp:/usr/local/nginx/html/players/rtmp_hls.html html/players/
docker container cp rtmp:/usr/local/nginx/html/stat.xsl html/

rtmp 保存修改后的 html 文件的目录 在哪里。

页面调试

# stat page
http://rtmp.wzhz.xyz/stat

# players page
http://rtmp.wzhz.xyz/players/dash.html
http://rtmp.wzhz.xyz/players/hls.html
http://rtmp.wzhz.xyz/players/rtmp.html
http://rtmp.wzhz.xyz/players/rtmp_hls.html
http://rtmp.wzhz.xyz/players/hls_hlsjs.html


Revision #2
Created 24 September 2021 03:04:46 by 吴壮壮
Updated 24 September 2021 05:02:11 by 吴壮壮