POST /hik/nvr/playback/clips/download
接口以 centerTime 为中心,默认下载前 30 秒和后 30 秒,总计 1 分钟。NVR
端口、账号和密码全部从 basedata_eqpbook_nvr 读取;请求只提交共用设备树中的
nvrIp + channel。
请求示例:
{
"nvrIp": "192.168.1.249",
"channel": 1,
"centerTime": "2026-07-28 11:55:00"
}
该请求对应的录像范围为:
2026-07-28 11:54:30 - 2026-07-28 11:55:30
streamType 默认是 1(主码流);beforeSeconds 和 afterSeconds 默认都是
30,也可以显式传入,单侧允许范围为 0-300 秒。
Windows PowerShell 中的 curl 可能是 Invoke-WebRequest 的别名,因此需要明确
使用 curl.exe:
curl.exe --fail-with-body -X POST "http://localhost:28081/hik/nvr/playback/clips/download" `
-H "Content-Type: application/json" `
--data-raw '{"nvrIp":"192.168.1.249","channel":1,"centerTime":"2026-07-28 11:55:00"}' `
--output "hik-clip-20260728-115500.mp4"
也可以使用 PowerShell 原生命令:
$body = @{
nvrIp = "192.168.1.249"
channel = 1
centerTime = "2026-07-28 11:55:00"
} | ConvertTo-Json
Invoke-WebRequest `
-Method Post `
-Uri "http://localhost:28081/hik/nvr/playback/clips/download" `
-ContentType "application/json" `
-Body $body `
-OutFile "hik-clip-20260728-115500.mp4"
历史回放页面顶部查询区已增加“下载时刻”和“下载1分钟”,并继续复用外层共用
设备树当前选择的 nvrIp + channel:
11:55:00。11:54:30 - 11:55:30 的 MP4。如果“下载时刻”留空,页面会使用当前正在回放的设备时刻作为中心。下载期间不会 停止已有的历史回放会话;同一页面一次只会提交一个下载任务。
目标时间尚未到达时,页面会在发送请求前弹窗提醒;直接调用接口也会被后端拒绝。 目标时间没有录像、录像中间断档或前后不足 30 秒时,页面会弹窗展示后端返回的 具体原因,不会下载空文件或不完整片段。
400。404。409,不会生成伪造的一分钟文件。Swagger UI 中可查看完整字段和错误响应:
http://localhost:28081/swagger-ui/index.html