以centos镜像为基础镜像,安装nginx-rtmp服务
139
1、centos镜像(CentOS Linux release 8.0.1905 (Core))为基础镜像安装nginx-rtmp服务(nginx-1.16.1 + nginx-rtmp-dodule-master); 2、暴露端口有:1935,80 3、创建容器:docker run -itd --name nginx-rtmp -p 8081:80 -p 1932:1935 -v /home/video:/usr/local/data/video 镜像id 4、功能介绍: 目前配置了点播服务,需要直播的请自行修改nginx.conf配置文件。 增加了链接防盗链功能:服务会进行MD5加密校验,并判断时间戳是否过期(即上送时间戳是否小于当前系统时间),加密规则:时间戳 + 文件名称(包含后缀) + 秘钥 进行MD5 加 密;(可以根据自己需要更改nginx-conf配置文件规则) nginx.conf配置文件路径;/etc/nginx/nginx.conf; 注意:镜像内时区忘记改了,请进入容器修改时区,命令cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime,通过date命令查看当前系统时间。 5、使用过程: a、创建容器:docker run -itd --name nginx-rtmp -p 8081:80 -p 1932:1935 -v /home/video:/usr/local/data/video 镜像id; b、上传文件到宿主机的/home/video文件夹下面,测试文件为mp42.mp4; c、通过java创建视频请求地址(也可以通过别的语言创建,规则没毛病就行)
public static void main(String[] args) { //视频请求地址 String servername = "192.168.1.18:1932/video/mp42.mp4"; //文件名称 String downloadUrl = "mp42.mp4"; //时间戳 long express = System.currentTimeMillis() / 1000 + 60; //组装加密字符串 String authString = express + downloadUrl +" zaq12wsx"; //获取密文 String accessToken = Base64.encodeBase64URLSafeString(DigestUtils.md5Digest(authString.getBytes())); // 获取请求链接 String accessTokenUrl = "rtmp://" + servername + "?expires=" + express + "&md5=" + accessToken; System.out.println("url: " + accessTokenUrl); }
d、自行下载PotPlayer播放器进行测试。其他支持rtmp协议的播放器都可以。
Content type
Image
Digest
Size
181.6 MB
Last updated
almost 7 years ago
docker pull shenxiangesyz/nginx-rtmp