docker方式安装zlmediakit资料

拉取官方镜像
docker pull zlmediakit/zlmediakit:master

首次运行临时容器
docker run -d --name zlmediakit-tmp zlmediakit/zlmediakit:master

提取默认配置文件
# 创建宿主机配置目录
mkdir -p /opt/zlmediakit/conf
# 复制容器内配置文件到宿主机
docker cp zlmediakit-tmp:/opt/media/conf/config.ini /opt/zlmediakit/conf/
# 删除临时容器
docker rm -f zlmediakit-tmp

编辑配置文件
vim /opt/zlmediakit/conf/config.ini
必改项
[api]
secret = your_custom_secret  # 必须修改默认值
 
[rtp_proxy]
port_range = 30000-30500     # 端口范围需与容器映射一致
 
[http]
port = 80                    # 保持与容器映射端口对应 宿主机映射到8080
allow_ip_range = 0.0.0.0/0   # 允许所有IP访问
ssl_port=443                 # 若开启HTTPS
 
[rtmp]
port=1935                    # 必须与Docker映射的容器端口一致
 
[websocket]
port=9000                    # 若开启WebSocket
 
[general]
mediaServerId = xWXfsArzAcUCSkVz  #服务器唯一id 可自定义

可选优化项

[general]
mediaServerId=0001          # 集群部署时需区分ID
 
[hook]
enable_flow_report=1        # 开启流量统计

如果之前运行过同名容器,先停止并删除旧容器:

docker stop zlmediakit && docker rm zlmediakit

以下中 30000-30500 端口,可缩小范围,一定要大于50个,根据实际的业务调整

以下端口都可修改,但是必须与config.ini 一致

在运行ZLMediaKit的Docker容器时,需要根据流媒体服务需求开放以下端口。以下是详细的端口说明和配置建议:

必开核心端口
端口/范围	协议	用途说明	                        配置示例
​1935​	    TCP	    RTMP协议(推流/拉流)	            -p 1935:1935
​80​	        TCP	    HTTP协议(HLS/HTTP-FLV播放)	    -p 8080:80(宿主机端口可调)
​554​	        TCP	    RTSP协议(实时流传输)	            -p 554:554
​30000-30500	TCP/UDP	RTP代理端口范围(WebRTC/RTP转发)	-p 30000-30500:30000-30500/tcp
                                                        -p 30000-30500:30000-30500/udp

方式1:直接运行

docker run -d --name zlmediakit \
-p 1935:1935 -p 8080:80 -p 554:554 \
-p 30000-30500:30000-30500/tcp \
-p 30000-30500:30000-30500/udp \
-v /opt/zlmediakit/conf/config.ini:/opt/media/conf/config.ini \
zlmediakit/zlmediakit:master

方式2:docker-compose部署(推荐)​

# docker-compose.yml
services:
  zlmediakit:
    image: zlmediakit/zlmediakit:master
    volumes:
      - /data/zlmediakit/conf/config.ini:/opt/media/conf/config.ini
    ports:
      - "1935:1935"
      - "8080:80"
      - "8444:443"
      - "554:554"
      - "30000-30500:30000-30500/tcp"
      - "30000-30500:30000-30500/udp"
    restart: always

启动命令:

docker-compose up -d

验证配置生效

1. 查看实时日志

docker logs -f zlmediakit-zlmediakit-1 | grep "config loaded"
# 应显示"config loaded from /opt/media/conf/config.ini"
 
**2. 访问管理界面**
浏览器打开`http://宿主机IP:8080`,若显示ZLMediaKit欢迎页且无IP白名单错误,则配置成功
 
**3. API接口测试**
```bash
curl http://宿主机IP:8080/api/defaultAuth
# 返回的secret应与配置一致
    
热更新配置(无需重启)

通过API触发配置重载:

curl "http://宿主机IP:8080/api/reloadConfig?secret=your_custom_secret"

#此镜像为github action 持续集成自动编译推送,跟代码(master分支)保持最新状态
docker run -id -p 1935:1935 -p 8080:80 -p 8443:443 -p 8554:554 -p 10000:10000 -p 10000:10000/udp -p 8000:8000/udp -p 9000:9000/udp zlmediakit/zlmediakit:master


docker run --name zlmediakit -id -p 1935:1935 -p 8080:80 -p 8444:443 -p 8554:554 -p 10000:10000 -p 10000:10000/udp -p 8000:8000/udp -p 19000:9000/udp zlmediakit/zlmediakit:master


rtsp使用554端口号
rtmp使用1935端口号
ws使用80端口号
wss使用443端口号


启动的时候查看日志,会给出 secret参数
2025-04-08 17:32:36.094 W [MediaServer] [1-MediaServer] main.cpp:283 start_main | The api.secret is invalid,
 modified it to: E8J04AJKH6lqowwqMjyEEaCxq7mwxmIt, saved config file: ../conf/config.ini

进入docker容器中查看这个配置文件

docker exec -it 325a62ecd352 /bin/sh

配置文件路径:/opt/media/conf/config.ini

secret=E8J04AJKH6lqowwqMjyEEaCxq7mwxmIt


另一种查看secret的方法 (这个只能在访问地址上添加secret参数后才能点开查看)
访问网址,出现7个序号的菜单,点击第6条:6 webassist/,此时页面上会提示:在url路径中添加正确的secret参数
在菜单栏中找到"服务器配置",能看到"API配置"


添加上secret参数后的访问地址:
https://192.168.2.163:8444/webassist/?secret=E8J04AJKH6lqowwqMjyEEaCxq7mwxmIt
http://192.168.2.163:8080/webassist/?secret=E8J04AJKH6lqowwqMjyEEaCxq7mwxmIt


ffmpeg -re -i "1.mp4" -vcodec h264 -acodec aac -f flv rtmp://192.168.2.163/live/test2 
ffplay rtmp://192.168.2.202:8080/live/aaa


通过接口添加摄像机视频流地址:
http://192.168.2.163:8080/index/api/addStreamProxy?vhost=__defaultVhost__&app=live&stream=fff&url=rtsp://xxx:xxx@ip/LiveMedia/ch1/Media1/trackID=1&secret=Uzjepg727JcfzKJfKEhWGIcKnNLacwNJ

VLC播放地址:http://192.168.2.163:8080/live/fff/hls.m3u8
posted @ 2025-04-10 17:43  哈喽哈喽111111  阅读(1026)  评论(0)    收藏  举报