云计算百科
云计算领域专业知识百科平台

海康威视摄像头实时推流到阿里云公网服务器(Windows + FFmpeg + nginx-rtmp)

海康威视摄像头实时推流到阿里云公网服务器(Windows + FFmpeg + nginx-rtmp

    • 1. 步骤总览
    • 2. 阿里云 ECS(Linux)配置
      • 2.1 开放端口
      • 2.2 安装 nginx-rtmp
    • 3. Windows 电脑端配置
      • 3.1 安装 FFmpeg
        • 3.1.1 官网/镜像下载:
        • 3.1.2 解压后将 bin 目录加入系统 Path
      • 3.2 获取海康 RTSP 地址
      • 3.3 一次性推流测试
    • 4. 公网观看
      • 4.1 VLC播放器
      • 4.2 网页嵌入(可选)
    • 5. 长期守护运行
      • 5.1 注册成 Windows 服务(nssm)
        • 5.1.1 下载 [nssm](https://nssm.cc/)
        • 5.1.2 管理员 PowerShell:
        • 5.1.3 启动服务 HikPush,开机即推流,崩溃自动重启。
    • 6. 常见问题速查表
    • 7. 一键脚本(懒人版)

适用场景

  • 摄像头:海康威视 IPC/NVR(局域网)
  • 推流机:Windows 10/11(可 7×24 开机)
  • 服务器:阿里云 ECS(Ubuntu / CentOS)
  • 公网观看:VLC、网页、微信小程序均可

1. 步骤总览

阶段任务备注
① 服务器端 部署 nginx-rtmp,监听 1945 端口 一次性
② Windows 端 安装 FFmpeg,拉 RTSP 推 RTMP 一次性
③ 验证 VLC 公网播放 随时
④ 长期运行 注册 Windows 服务/nssm 可选

2. 阿里云 ECS(Linux)配置

2.1 开放端口

安全组 添加 2 条入方向规则

  • TCP 1945 → RTMP 推流
  • TCP 80/443 → 可选 HTTP-FLV/HLS

2.2 安装 nginx-rtmp

sudo apt update
sudo apt install nginx-full libnginx-mod-rtmp -y

sudo tee /etc/nginx/nginx.conf > /dev/null <<'EOF'
user www-data;
events { worker_connections 1024; }
http { include /etc/nginx/sites-enabled/*; }

rtmp {
server {
listen 1945;
chunk_size 4096;
application live {
live on;
record off;
gop_cache on; # 低延迟
}
}
}
EOF

sudo systemctl restart nginx

3. Windows 电脑端配置

3.1 安装 FFmpeg

3.1.1 官网/镜像下载:

https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip

3.1.2 解压后将 bin 目录加入系统 Path

PowerShell 验证

ffmpeg -version

3.2 获取海康 RTSP 地址

类型示例
主码流 rtsp://admin:密码@192.168.1.64:554/Streaming/Channels/101
子码流 rtsp://admin:密码@192.168.1.64:554/Streaming/Channels/102

3.3 一次性推流测试

ffmpeg -re -rtsp_transport tcp `
-i "rtsp://admin:Sago0%402024@192.168.1.64:554/Streaming/Channels/101" `

-vcodec libx264 -preset ultrafast -tune zerolatency -an `
-s 1280×720 -b:v 1200k -f flv `

rtmp://<ECS-公网IP>:1945/live/hik1

出现 fps ≈ 25 speed ≈ 1.0x 即成功。

4. 公网观看

4.1 VLC播放器

  • 菜单:媒体 → 打开网络串流

  • URL:

    rtmp://<ECS-公网IP>:1945/live/hik1

4.2 网页嵌入(可选)

<script src="https://cdn.jsdelivr.net/npm/flv.js/dist/flv.min.js"></script>
<video id="video" controls autoplay></video>
<script>
if (flvjs.isSupported()) {
const player = flvjs.createPlayer({
type: 'flv',
url: 'http://<域名或IP>:8080/live/hik1.flv'
});
player.attachMediaElement(document.getElementById('video'));
player.load();
player.play();
}
</script>

5. 长期守护运行

5.1 注册成 Windows 服务(nssm)

5.1.1 下载 nssm
5.1.2 管理员 PowerShell:

nssm install HikPush

  • Application:C:\\ffmpeg\\bin\\ffmpeg.exe
  • Arguments: -re -rtsp_transport tcp -i rtsp://admin:Sago0%402024@192.168.1.64/Streaming/Channels/101 -vcodec libx264 -preset ultrafast -tune zerolatency -an -s 1280×720 -b:v 1200k -f flv rtmp://:1945/live/hik1
  • Startup type:Automatic
5.1.3 启动服务 HikPush,开机即推流,崩溃自动重启。

6. 常见问题速查表

现象原因 & 解决
VLC 无法连接 安全组未放行 1945 / 路径拼写错误
画面黑屏 摄像头未启用 RTSP / 路径 101/102 选错
花屏/卡顿 网络抖动:改用 -rtsp_transport tcp 并降码率
延迟高 降低分辨率或 GOP;使用 tune=zerolatency

7. 一键脚本(懒人版)

保存为 start_hik_push.bat,双击即可运行:

@echo off
title Hikvision → Aliyun RTMP
ffmpeg -re -rtsp_transport tcp ^
-i "rtsp://admin:Sago0%402024@192.168.1.64:554/Streaming/Channels/101" ^
-vcodec libx264 -preset ultrafast -tune zerolatency -an ^
-s 1280×720 -b:v 1200k -f flv ^
rtmp://<ECS-公网IP>:1945/live/hik1
pause

赞(0)
未经允许不得转载:网硕互联帮助中心 » 海康威视摄像头实时推流到阿里云公网服务器(Windows + FFmpeg + nginx-rtmp)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!