摄像头控制与历史播放:完整报文
约 1100 字大约 4 分钟
2026-10-16
本页是场景流程的完整 JSON 序列,按图中编号查阅。示例中的分支互斥,不能顺序重放全部报文;实际 ID、截止、SDP、地址和密钥须由运行时取得。实施状态及字段定义仍以场景与命令页为准。
编号报文
M01 · device.action
{
"msgToken": "s08-118",
"method": "device.action",
"params": {
"actionID": "ptzMove",
"input": {
"direction": "left",
"speed": 0.5,
"durationMs": 1000
}
},
"target": {
"productID": "p-demo",
"deviceName": "device-demo"
}
}M02 · action
{
"msgToken": "ptz-1",
"method": "action",
"actionID": "ptzMove",
"params": {
"direction": "left",
"speed": 0.5,
"durationMs": 1000
}
}M03 · actionReply
{
"msgToken": "ptz-1",
"method": "actionReply",
"actionID": "ptzMove",
"code": 200,
"msg": "success",
"data": {
"moving": true
}
}M04 · interaction.result
{
"msgToken": "s08-118",
"method": "interaction.result",
"code": 200,
"data": {
"operation": "device.action",
"state": "applied"
}
}M05 · action
{
"msgToken": "ptz-stop",
"method": "action",
"actionID": "ptzStop",
"params": {}
}M06 · actionReply
{
"msgToken": "ptz-stop",
"method": "actionReply",
"actionID": "ptzStop",
"code": 200,
"msg": "success",
"data": {
"stopped": true
}
}M07 · action
{
"msgToken": "preset-1",
"method": "action",
"actionID": "ptzPreset",
"params": {
"operation": "goto",
"presetId": "door"
}
}M08 · actionReply
{
"msgToken": "preset-1",
"method": "actionReply",
"actionID": "ptzPreset",
"code": 200,
"msg": "success",
"data": {
"presetId": "door"
}
}M09 · action
{
"msgToken": "photo-1",
"method": "action",
"actionID": "takePhoto",
"params": {}
}M10 · actionReply
{
"msgToken": "photo-1",
"method": "actionReply",
"actionID": "takePhoto",
"code": 200,
"msg": "success",
"data": {
"fileUri": "<file-uri>"
}
}M11 · device.propertyControl
{
"msgToken": "s08-119",
"method": "device.propertyControl",
"params": {
"properties": {
"privacyMode": true,
"nightVision": "auto",
"recordingPolicy": "motion"
}
},
"target": {
"productID": "p-demo",
"deviceName": "device-demo"
}
}M12 · control
{
"msgToken": "prop-1",
"method": "control",
"params": {
"privacyMode": true,
"nightVision": "auto",
"recordingPolicy": "motion"
}
}M13 · controlReply
{
"msgToken": "prop-1",
"method": "controlReply",
"code": 200,
"msg": "success",
"data": {
"privacyMode": true,
"nightVision": "auto",
"recordingPolicy": "motion"
}
}M14 · report
{
"msgToken": "report-1",
"method": "report",
"params": {
"privacyMode": true,
"nightVision": "auto",
"recordingPolicy": "motion"
}
}M15 · interaction.result
{
"msgToken": "s08-119",
"method": "interaction.result",
"code": 200,
"data": {
"operation": "device.propertyControl",
"state": "applied"
}
}M16 · interaction.open
{
"msgToken": "s08-120",
"method": "interaction.open",
"params": {
"purpose": "recordPlayback",
"cameraId": "front",
"recordingId": "record-1"
},
"target": {
"productID": "p-demo",
"deviceName": "device-demo"
}
}M17 · interaction.result
{
"msgToken": "s08-120",
"method": "interaction.result",
"sessionId": "s08-playback",
"code": 200,
"data": {
"operation": "interaction.open",
"state": "invited",
"sessionId": "s08-playback"
}
}M18 · sessionInvite
{
"msgToken": "s08-121",
"method": "sessionInvite",
"sessionId": "s08-playback",
"eventSeq": 1,
"params": {
"purpose": "recordPlayback",
"admission": "direct",
"transport": "webrtc",
"tracks": [
{
"trackId": "video-1",
"kind": "video",
"sourceId": "front",
"direction": "sendonly",
"codec": "H264",
"state": "requested"
}
],
"expiresAt": 1900000000000,
"cameraId": "front",
"recordingId": "record-1"
}
}M19 · sessionAccept
{
"msgToken": "s08-121",
"method": "sessionAccept",
"sessionId": "s08-playback",
"params": {
"acceptedTracks": [
"video-1"
]
}
}M20 · requestAck
{
"msgToken": "s08-121",
"method": "requestAck",
"sessionId": "s08-playback",
"code": 200,
"data": {
"requestMethod": "sessionAccept",
"result": {
"state": "negotiating"
}
}
}M21 · mediaOffer
{
"msgToken": "s08-122",
"method": "mediaOffer",
"sessionId": "s08-playback",
"params": {
"mediaRevision": 1,
"webrtc": {
"iceMode": "complete",
"sdp": "<SDP offer>"
}
}
}M22 · mediaAnswer
{
"msgToken": "s08-122",
"method": "mediaAnswer",
"sessionId": "s08-playback",
"code": 200,
"data": {
"mediaRevision": 1,
"webrtc": {
"iceMode": "complete",
"sdp": "<SDP answer>"
}
}
}M23 · mediaState
{
"msgToken": "s08-123",
"method": "mediaState",
"sessionId": "s08-playback",
"params": {
"mediaRevision": 1,
"state": "connected"
}
}M24 · requestAck
{
"msgToken": "s08-123",
"method": "requestAck",
"sessionId": "s08-playback",
"code": 200,
"data": {
"requestMethod": "mediaState",
"result": {
"mediaRevision": 1,
"state": "connected"
}
}
}M25 · interaction.mediaOffer
{
"msgToken": "s08-playback-peer-5",
"method": "interaction.mediaOffer",
"sessionId": "s08-playback",
"params": {
"mediaRevision": 1,
"webrtc": {
"iceMode": "complete",
"sdp": "<SDP playback offer>"
}
}
}M26 · interaction.result
{
"msgToken": "s08-playback-peer-5",
"method": "interaction.result",
"sessionId": "s08-playback",
"code": 200,
"data": {
"operation": "interaction.mediaOffer",
"state": "negotiating",
"mediaRevision": 1,
"webrtc": {
"iceMode": "complete",
"sdp": "<SDP playback answer>"
}
}
}M27 · interaction.mediaState
{
"msgToken": "s08-playback-peer-6",
"method": "interaction.mediaState",
"sessionId": "s08-playback",
"params": {
"mediaRevision": 1,
"state": "connected"
}
}M28 · interaction.result
{
"msgToken": "s08-playback-peer-6",
"method": "interaction.result",
"sessionId": "s08-playback",
"code": 200,
"data": {
"operation": "interaction.mediaState",
"state": "connected",
"mediaRevision": 1
}
}M29 · sessionEstablished
{
"msgToken": "s08-124",
"method": "sessionEstablished",
"sessionId": "s08-playback",
"eventSeq": 2,
"data": {
"state": "established",
"mediaRevision": 1
}
}M30 · interaction.end
{
"msgToken": "s08-125",
"method": "interaction.end",
"sessionId": "s08-playback",
"params": {
"reason": "userStopped"
}
}M31 · interaction.result
{
"msgToken": "s08-125",
"method": "interaction.result",
"sessionId": "s08-playback",
"code": 200,
"data": {
"operation": "interaction.end",
"state": "ended"
}
}M32 · sessionEnded
{
"msgToken": "s08-126",
"method": "sessionEnded",
"sessionId": "s08-playback",
"eventSeq": 3,
"data": {
"state": "ended",
"reason": "userStopped"
}
}更新日志
2026/10/17 03:27
查看所有更新日志
d04e1-docs(AI与音视频): 按公共主线与场景分支整合接入手册于
