Skip to content

GB28181 Not supported CmdType: MediaStatus #111

@zhongzilu

Description

@zhongzilu

在预览播放历史录像文件时出现的该问题。

摄像头品牌是海康,Monibuca 使用的是 Linux 平台, docker 部署,GB28181的版本号为 "v4.4.5-0.20240521112210-a207352fe6e4,使用的配置是在默认配置的基础上,只修改了 invitemode 属性值为 0

操作流程:

  1. 使用 /gb28181/api/records API接口查询到了录像文件,返回有36条记录
  2. 使用 /gb28181/api/invite API 加上 startTimeendTime 进行拉流
  3. 使用 /preview/ 进行在线预览播放录像文件,typewebrtc

一开始播放很正常,直到连续播放到大约第20个录像文件的中途时,画面不动了,通过海康摄像头管理后台查看录像文件列表如下图所示:
图片

查看 Monibuca 容器日志输出大致如下:

15:05:31.658+0800       INFO    GB28181 OnRegister      {"isUnregister": false, "id": "34020000001320000001", "source": "192.168.50.203:5060", "destination": "[::]:5060"}
15:05:31.658+0800       INFO    GB28181 StoreDevice     {"id": "34020000001320000001", "deviceIp": "192.168.50.203:5060", "servIp": "3402000000", "sipIP": "192.168.50.66", "mediaIp": "192.168.50.66"}
15:05:36.674+0800       INFO    GB28181 QueryDeviceInfo {"id": "34020000001320000001", "status code": 200}
15:06:34.950+0800       INFO    GB28181 invite response {"id": "34020000001320000001", "channel": "34020000001320000001", "status code": 200}
15:06:34.950+0800       INFO    created {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1}
15:06:34.950+0800       INFO    publish {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "ptr": "0xc000f70a08"}
15:06:34.951+0800       INFO    ⌛->🟡  {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "action": "publish"}
15:06:34.951+0800       INFO    tcp listen 1 at :58200
15:06:34.956+0800       INFO    start receive ps stream from    {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "tcp": "192.168.50.66:58200"}
15:06:35.265+0800       INFO    attach video track      {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "h264", "width": 1280, "height": 720}
15:06:35.265+0800       INFO    video track attached    {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "h264", "width": 1280, "height": 720}
15:06:35.265+0800       INFO    🟡->🟢  {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "action": "track available"}
15:06:35.265+0800       INFO    audio track attached    {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "pcma", "sample rate": 8000}
15:06:40.187+0800       INFO    subscribe       {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112"}
15:06:40.187+0800       INFO    suber +1        {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112", "remains": 1}
15:06:40.187+0800       INFO    track+1 {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112", "name": "h264"}
15:06:40.188+0800       INFO    track+1 {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112", "name": "pcma"}
15:06:40.188+0800       INFO    Connection State has changed:connecting {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112"}
15:06:40.190+0800       INFO    candidate:2111806186 1 tcp 1671430143 192.168.50.66 9000 typ host tcptype passive       {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112"}
15:06:40.190+0800       INFO    candidate:2027898665 1 tcp 1671430143 172.19.0.1 9000 typ host tcptype passive  {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112"}
15:06:40.191+0800       INFO    candidate:2954730683 1 tcp 1671430143 172.17.0.1 9000 typ host tcptype passive  {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112"}
15:06:40.191+0800       INFO    candidate:1873040234 1 tcp 1671430143 172.18.0.1 9000 typ host tcptype passive  {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112"}
15:06:40.204+0800       INFO    Connection State has changed:connected  {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112"}
15:06:40.204+0800       INFO    playblock       {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112", "subType": 1}
15:06:40.204+0800       INFO    start read      {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112", "track": "h264", "mode": 0}
15:06:40.204+0800       INFO    first frame read        {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112", "track": "h264", "firstTs": "4.507672861s", "firstSeq": 102}
15:06:40.245+0800       INFO    start read      {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112", "track": "pcma", "mode": 0}
15:06:40.245+0800       INFO    first frame read        {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112", "track": "pcma", "firstTs": "4.507672861s", "firstSeq": 101}
15:06:41.334+0800       INFO    jump    {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112", "track": "h264", "skipSeq": 49, "skipTs": "5.415672861s"}
15:06:41.455+0800       INFO    jump    {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112", "track": "pcma", "skipSeq": 49, "skipTs": "5.377672861s"}
15:07:15.892+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "h264", "delta1": 1983870, "delta2": 1983870}
15:07:15.892+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "pcma", "delta1": 1980000, "delta2": 1980000}
15:07:39.508+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "h264", "delta1": 5577930, "delta2": 7561800}
15:07:39.509+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "pcma", "delta1": 5580000, "delta2": 7560000}
15:08:30.118+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "h264", "delta1": 1983870, "delta2": 9545670}
15:08:30.118+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "pcma", "delta1": 1983600, "delta2": 9543600}
15:08:49.452+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "h264", "delta1": 1265130, "delta2": 10810800}
15:08:49.453+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "pcma", "delta1": 1263600, "delta2": 10807200}
15:10:23.508+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "h264", "delta1": 7507890, "delta2": 18318690}
15:10:23.508+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "pcma", "delta1": 7509600, "delta2": 18316800}
15:12:43.758+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "pcma", "delta1": 1443600, "delta2": 19760400}
15:12:43.759+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "h264", "delta1": 1444770, "delta2": 19763460}
15:13:28.707+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "h264", "delta1": 3421530, "delta2": 23184990}
15:13:28.707+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "pcma", "delta1": 3420000, "delta2": 23180400}
15:13:53.546+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "h264", "delta1": 32533020, "delta2": 55718010}
15:13:53.546+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "pcma", "delta1": 32533200, "delta2": 55713600}
15:14:07.817+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "h264", "delta1": 2163510, "delta2": 57881520}
15:14:07.817+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "pcma", "delta1": 2163600, "delta2": 57877200}
15:14:23.626+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "h264", "delta1": 13125330, "delta2": 71006850}
15:14:23.626+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "pcma", "delta1": 13125600, "delta2": 71002800}
15:14:44.369+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "h264", "delta1": 70866630, "delta2": 141873480}
15:14:44.369+0800       WARN    track dts reset {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "track": "pcma", "delta1": 70866000, "delta2": 141868800}
15:16:17.894+0800       ERROR   gb28181 decode rtp error:       {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "error": "size 56 < 219824: RTP header size insufficient for extension"}
15:16:17.894+0800       INFO    stop receive ps stream from     {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher", "tcp": "192.168.50.66:58200"}
15:16:17.894+0800       INFO    close   {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "PSPublisher"}
15:16:17.898+0800       WARN    GB28181 Not supported CmdType   {"id": "34020000001320000001", "CmdType": "MediaStatus", "body": "<?xml version=\"1.0\" encoding=\"GB2312\"?>\n<Notify>\n<CmdType>MediaStatus</CmdType>\n<SN>244</SN>\n<DeviceID>34020000001320000001</DeviceID>\n<NotifyType>121</NotifyType>\n</Notify>\n"}
15:16:20.435+0800       WARN    publish is closed       {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "error": "stop", "ptr": "0xc000e42820"}
15:16:20.435+0800       INFO    🟢->⌛  {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "action": "timeout"}
15:16:30.435+0800       INFO    ⌛->🔴  {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "action": "timeout"}
15:16:30.435+0800       INFO    close   {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112", "event": "close"}
15:16:30.435+0800       WARN    rtcp read error {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112", "error": "EOF"}
15:16:30.436+0800       INFO    Connection State has changed:closed     {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 1, "type": "WebRTCSubscriber", "ID": "824652794112"}
15:17:28.450+0800       INFO    created {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 2}
15:17:28.450+0800       INFO    subscribe       {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 2, "type": "HDLSubscriber", "ID": "192.168.50.207:50377"}
15:17:28.450+0800       INFO    suber +1        {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 2, "type": "HDLSubscriber", "ID": "192.168.50.207:50377", "remains": 1}
15:17:38.451+0800       INFO    ⌛->🔴  {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 2, "action": "timeout"}
15:17:43.276+0800       INFO    created {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 3}
15:17:43.276+0800       INFO    subscribe       {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 3, "type": "WebRTCSubscriber", "ID": "824652791808"}
15:17:43.277+0800       INFO    suber +1        {"stream": "34020000001320000001/34020000001320000001/1717689600-1717776000", "id": 3, "type": "WebRTCSubscriber", "ID": "824652791808", "remains": 1}

以上日志中存在1个 ERROR 等级错误,请作者帮忙查看一下

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions