Install
openclaw skills install jf-open-pro-livestream杰峰设备直播预览技能(开发版)。支持多端集成实时视频播放,兼容 HLS、RTSP、RTMP、FLV、MP4、WebRTC 等主流协议,适配 H.264/H.265 设备。
openclaw skills install jf-open-pro-livestream支持杰峰设备实时直播地址获取,适用于多端集成播放:
适用场景:
| 变量名 | 说明 | 默认值 | 必需 |
|---|---|---|---|
JF_UUID | 开放平台用户 uuid | - | ✅ |
JF_APP_KEY | 开放平台应用 appKey | - | ✅ |
JF_APP_SECRET | 开放平台应用密钥 | - | ✅ |
JF_MOVE_CARD | 移动卡标识(用于签名) | 2 | ✅ |
JF_DEVICE_SN | 设备序列号 | - | ✅ |
JF_DEVICE_TOKEN | 设备接口访问令牌 | - | ✅ |
JF_DEVICE_USERNAME | 设备用户名 | admin | ❌ |
JF_DEVICE_PASSWORD | 设备密码 | - | ❌ |
JF_ENDPOINT | API 接入地址 | api-cn.jftechws.com | ❌ |
| 功能 | 地址 | 方法 | 需要 Token | 需要在线 |
|---|---|---|---|---|
| 获取直播地址 | POST /gwp/v3/rtc/device/livestream/{token} | POST | ✅ | ✅ |
| 协议 | 值 | 说明 | 适用场景 |
|---|---|---|---|
| FLV | flv | 标准 FLV 封装 | Web 端(H.264/H.265) |
| FLV 增强 | flv-enhanced | FLV-enhanced 封装 | VLC 4.0+、ffmpeg 6.1+ |
| WS-FLV | ws-flv | WebSocket FLV | Web 端低时延 |
| WS-FLV 增强 | ws-flv-enhanced | WebSocket FLV-enhanced | Web 端低时延 |
| WS 私有 | ws-pri | 杰峰私有协议 | 杰峰 WEB 播放器 |
| 协议 | 值 | 说明 | 适用场景 |
|---|---|---|---|
| HLS-TS | hls-ts | HLS+TS 切片 | iOS、Safari |
| HLS-FMP4 | hls-fmp4 | HLS+fMP4 切片 | iOS、Safari |
| 协议 | 值 | 说明 | 适用场景 |
|---|---|---|---|
| RTMP-FLV | rtmp-flv | RTMP+FLV | 微信小程序 |
| RTMP 增强 | rtmp-enhanced | RTMP+FLV-enhanced | 微信小程序 |
| 协议 | 值 | 说明 | 适用场景 |
|---|---|---|---|
| RTSP-SDP | rtsp-sdp | RTSP 标准协议 | VLC、FFmpeg |
| RTSP 私有 | rtsp-pri | RTSP 私有协议 | 杰峰客户端 |
| 协议 | 值 | 说明 | 适用场景 |
|---|---|---|---|
| MP4 | mp4 | HTTP+MP4 | Chrome 23+ |
| 协议 | 值 | 说明 | 适用场景 |
|---|---|---|---|
| WebRTC | webrtc | WebRTC 协议 | 仅 H.264,低时延 |
| 组件 | 支持协议 |
|---|---|
| live-player | http-flv、rtmp、hls |
| 播放方式 | 支持协议 | 说明 |
|---|---|---|
<video> 标签 | hls、mp4 | 仅 H.264 |
| flv.js | http-flv | 需要 H.264 |
| WebRTC API | webrtc | 仅 H.264,低时延 |
| 杰峰 WEB 播放器 | 全部 | 支持 H.264/H.265 |
| 播放器 | 推荐协议 |
|---|---|
| VLC 4.0+ | flv-enhanced、rtsp |
| FFmpeg 6.1+ | flv-enhanced、rtsp |
| PotPlayer | rtsp、rtmp |
# 设置环境变量
export JF_UUID="uuidxxxx"
export JF_APP_KEY="appkeyxxxx"
export JF_APP_SECRET="appsecretxxxx"
export JF_MOVE_CARD=0
export JF_DEVICE_SN="snxxx1"
export JF_DEVICE_TOKEN="NTQ0NzQ3YmE3MXwyYzFk..."
export JF_DEVICE_USERNAME="admin"
export JF_DEVICE_PASSWORD="xxxx"
export JF_ENDPOINT="api-cn.jftechws.com"
cd ~/.openclaw/workspace/skills/developer/jf-open-pro-livestream/scripts
# 获取 FLV 地址(标清辅码流)
python3 livestream.py --action get-url --protocol flv
# 获取 FLV 地址(高清主码流)
python3 livestream.py --action get-url --protocol flv --stream 0
# 获取 HLS-TS 地址
python3 livestream.py --action get-url --protocol hls-ts
# 获取 HLS-FMP4 地址
python3 livestream.py --action get-url --protocol hls-fmp4
# 获取 RTMP-FLV 地址
python3 livestream.py --action get-url --protocol rtmp-flv
# 获取 WebRTC 地址(仅支持 H.264 设备)
python3 livestream.py --action get-url --protocol webrtc
# 获取 RTSP 地址
python3 livestream.py --action get-url --protocol rtsp-sdp
# 设置 24 小时有效期
python3 livestream.py --action get-url --protocol flv --expire-hours 24
# 设置 7 天有效期
python3 livestream.py --action get-url --protocol flv --expire-days 7
| 参数 | 类型 | 必需 | 默认值 | 说明 |
|---|---|---|---|---|
| channel | string | ✅ | 0 | 通道号(0=第一通道) |
| stream | string | ✅ | 1 | 码流(0=高清主码流,1=标清辅码流) |
| protocol | string | ✅ | - | 播放协议 |
| username | string | ✅ | admin | 设备登录用户名 |
| password | string | ❌ | `` | 设备登录密码 |
| expireTime | string | ❌ | 10 小时 | URL 有效期(毫秒时间戳) |
| 字段 | 类型 | 说明 |
|---|---|---|
| code | int | 平台状态码(2000=成功) |
| msg | string | 响应消息 |
| data | object | 响应数据 |
| ├─ Ret | int | 设备状态码(100=成功) |
| ├─ url | string | 播放地址 URL |
| └─ retMsg | string | 设备错误信息(失败时) |
| code | 说明 | 处理建议 |
|---|---|---|
| 2000 | 成功 | - |
| 28007 | Header 参数错误 | 检查 uuid、appKey、timeMillis、signature |
| 40103 | 无效 Token | deviceToken 过期,重新获取 |
| 50000 | 服务器内部错误 | 联系杰峰技术支持 |
| Ret | 说明 | 处理建议 |
|---|---|---|
| 100 | 成功 | - |
| 101 | 登录连接超时 | 检查设备是否在线 |
| 106 | 用户名或密码错误 | 检查设备凭证 |
| 文件 | 说明 |
|---|---|
SKILL.md | 技能文档 |
scripts/livestream.py | Python 执行脚本 |
scripts/crypto.py | 签名/时间戳加密工具(复用) |