- 简介:读取海康摄像头,推流至指定rtmp地址
- 系统环境:win64
- jdk版本:jdk1.8以上
- hcsdk目录内存放了连接海康的sdk。注意!此版本sdk是win64版。同时此目录下还存放了win64版测试用海康客户端(ClientDemo.exe)
- lib目录下存放的项目运行所必需的jar包
{
"camera1":{
"ip": "127.0.0.1",
"port":8000,
"user":"admin",
"pwd":"12345",
"channel":1,
"linkmode":0,
"rtmp":"rtmp://127.0.0.1:1935/hls/stream"
}
}
- camera1:摄像头别名(唯一)
- ip:摄像头IP地址
- port:海康摄像头登录端口号
- user:登录摄像头的用户名
- pwd:登录摄像头的密码
- channel:摄像头播放通道
- linkmode:摄像头连接模式最高位(31)为0表示主码流,为1表示子码流;0~30位表示连接方式:0-TCP方式,1-UDP方式,2-多播方式
- rtmp:目的rtmp推流地址
st=>start: 开始(启动软件)
op=>operation: POST{"camera":"camera1"}
e=>end: 结束(推流成功)
st->op->e
st=>start: 开始(成功推流)
op=>operation: POST{"camera":"camera1","command":{"code":23,"operation":1}}
e=>end: 结束(操作完成)
st->op->e
- 在启动正确启动项目后,项目会监听本地12346端口(Service.java文件内,可更改)
- 发送POST请求到项目(http://127.0.0.1:12346/camera)
- POST请求内容为:
{"camera":"camera1"}
- camera:摄像头别名
- 此时程序会去尝试请求摄像头,并开始向目的rtmp地址做推流
- 推流成功后使用如vlc等工具即可查看推流的视频
- 为了节约系统资源,推流默认时长为5分钟,在五分钟内重新请求即可刷新超时时间
- 摄像头操作也是发送POST请求到(http://127.0.0.1:12346/camera)
- POST的内容为:
{"camera":"camera1","command":{"code":23,"operation":1}}
- camera:摄像头别名
- command:命令
- code:具体指令
- operation:0-开始、1-停止
code | 含义 |
---|---|
2 | 接通灯光电源 |
3 | 接通雨刷开关 |
4 | 接通风扇开关 |
5 | 接通加热器开关 |
6 | 接通辅助设备开关 |
7 | 接通辅助设备开关 |
11 | 焦距变大(倍率变大) |
12 | 焦距变小(倍率变小) |
13 | 焦点前调 |
14 | 焦点后调 |
15 | 光圈扩大 |
16 | 光圈缩小 |
21 | 云台上仰 |
22 | 云台下俯 |
23 | 云台左转 |
24 | 云台右转 |
25 | 云台上仰和左转 |
26 | 云台上仰和右转 |
27 | 云台下俯和左转 |
28 | 云台下俯和右转 |
29 | 云台左右自动扫描 |
58 | 云台下俯和焦距变大(倍率变大) |
59 | 云台下俯和焦距变小(倍率变小) |
60 | 云台左转和焦距变大(倍率变大) |
61 | 云台左转和焦距变小(倍率变小) |
62 | 云台右转和焦距变大(倍率变大) |
63 | 云台右转和焦距变小(倍率变小) |
64 | 云台上仰和左转和焦距变大(倍率变大) |
65 | 云台上仰和左转和焦距变小(倍率变小) |
66 | 云台上仰和右转和焦距变大(倍率变大) |
67 | 云台上仰和右转和焦距变小(倍率变小) |
68 | 云台下俯和左转和焦距变大(倍率变大) |
69 | 云台下俯和左转和焦距变小(倍率变小) |
70 | 云台下俯和右转和焦距变大(倍率变大) |
71 | 云台下俯和右转和焦距变小(倍率变小) |
72 | 云台上仰和焦距变大(倍率变大) |
73 | 云台上仰和焦距变小(倍率变小) |