Giter Site home page Giter Site logo

srs-gb28181's People

Contributors

winlinvip avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

srs-gb28181's Issues

GB28181: 推流h264, 用vlc播放RTMP卡顿花屏(由于startcode=0x000001) #2209

描述(Description)
28181推流h264到SRS/develop, 用vlc播放RTMP卡顿花屏(由于NALU startcode=0x00 00 01 3Bytes)

  1. SRS版本(Version): 4.0release和develop分支

重现Bug的步骤(How to replay bug?)
ffmpeg编码输出的h264帧,sps与pps的startcode=0x000001(3Bytes),而非startcode=0x00000001(4Bytes)
将导致h264转flv时,sps/pps不完整,VLC播放卡花

期望行为(Expect)

         if (video_data[index] == 0x00 && video_data[index+1] == 0x00 &&
-             video_data[index+2] == 0x00 && video_data[index+3] == 0x01){
-                 list_index.push_back(index);
-             }
+             video_data[index+2] == 0x00 && video_data[index+3] == 0x01) {
+                index_node.pos = index;
+                index_node.len = 4;
+                list_index.push_back(index_node);
+         }
+
+        if (video_data[index] == 0x00 && video_data[index+1] == 0x00 &&
+             video_data[index+2] == 0x01) {
+                index_node.pos = index;
+                index_node.len = 3;
+                list_index.push_back(index_node);
+         }
     }

         //0001xxxxxxxxxx
         //xxxx0001xxxxxxx
-        uint32_t naluLen = size - cur_pos - 4;
+        uint32_t naluLen = size - index_node.pos - index_node.len;
         
-        char *frame = video_data + cur_pos + 4;
+        char *frame = video_data + index_node.pos + index_node.len;
         int frame_size = naluLen;

海康录像机 设备名称中文乱码

注意:提问前,请先看FAQ(Please read FAQ before file an issue) ossrs/srs#2716
image

描述(Description)

描述你遇到了什么问题(Please description your issue here)

  1. SRS版本(Version): xxxxxx

  2. SRS的日志如下(Log):


xxxxxxxxxxxx

  1. SRS的配置如下(Config):

xxxxxxxxxxxx

重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. xxxxxx
  2. xxxxxx
  3. xxxxxx

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)

添加dvr 配置后srs-gb28181设备注册不上

注意:提问前,请先看FAQ(Please read FAQ before file an issue) ossrs/srs#2716

描述(Description)
使用 海康的ipc 国标推流到srs-gb28181,归属vhost 是空字符串,添加dvr 录制配置后设备连接不上

描述你遇到了什么问题(Please description your issue here)
ipc 连接到 srs ,vhost 显示为空
添加dvr 录制配置设备连接不上

  1. SRS版本(Version): xxxxxx
    最新版
  2. SRS的日志如下(Log):

[2022-02-11 13:42:37.138][Trace][17032][77k94442] gb28181: 34020000001320000003 clients device=34020000001320000031 send invite code=1028
[2022-02-11 13:42:37.139][Trace][17032][77k94442] gb28181: sip session=34020000001320000003 peer(192.168.2.102, 5060) status(RegisterOk,AliveOk) duration(436,11)
[2022-02-11 13:42:37.751][Trace][17032][n70w09eq] gb28181: 34020000001320000002 clients device=34020000001320000021 send invite code=1028
[2022-02-11 13:42:38.139][Trace][17032][77k94442] gb28181: generate ssrc id=34020000001320000003@34020000001320000031, ssrc=23303
[2022-02-11 13:42:38.139][Warn][17032][77k94442][11] gb28181: create rtmp muxer error, code=1028 : gb28181: rtmp muxer initialize 34020000001320000003@34020000001320000031 : gb28181 rtmp: stream /live/34020000001320000003@34020000001320000031 is busy
thread [17032][77k94442]: fetch_or_create_rtmpmuxer() [src/app/srs_app_gb28181.cpp:1854][errno=11]
thread [17032][77k94442]: initialize() [src/app/srs_app_gb28181.cpp:986][errno=11]
[2022-02-11 13:42:38.140][Warn][17032][77k94442][11] gb28181: create rtmp muxer error, code=1028 : gb28181: rtmp muxer initialize 34020000001320000003@34020000001320000031 : gb28181 rtmp: stream /live/34020000001320000003@34020000001320000031 is busy
thread [17032][77k94442]: fetch_or_create_rtmpmuxer() [src/app/srs_app_gb28181.cpp:1854][errno=11]
thread [17032][77k94442]: initialize() [src/app/srs_app_gb28181.cpp:986][errno=11]
[2022-02-11 13:42:38.751][Trace][17032][n70w09eq] gb28181: generate ssrc id=34020000001320000002@34020000001320000021, ssrc=38116615
[2022-02-11 13:42:38.752][Warn][17032][n70w09eq][11] gb28181: create rtmp muxer error, code=1028 : gb28181: rtmp muxer initialize 34020000001320000002@34020000001320000021 : gb28181 rtmp: stream /live/34020000001320000002@34020000001320000021 is busy
thread [17032][n70w09eq]: fetch_or_create_rtmpmuxer() [src/app/srs_app_gb28181.cpp:1854][errno=11]
thread [17032][n70w09eq]: initialize() [src/app/srs_app_gb28181.cpp:986][errno=11]
[2022-02-11 13:42:38.752][Warn][17032][n70w09eq][11] gb28181: create rtmp muxer error, code=1028 : gb28181: rtmp muxer initialize 34020000001320000002@34020000001320000021 : gb28181 rtmp: stream /live/34020000001320000002@34020000001320000021 is busy
thread [17032][n70w09eq]: fetch_or_create_rtmpmuxer() [src/app/srs_app_gb28181.cpp:1854][errno=11]
thread [17032][n70w09eq]: initialize() [src/app/srs_app_gb28181.cpp:986][errno=11]
[2022-02-11 13:42:39.081][Trace][17032][76p5b58o] Hybrid cpu=0.00%,19MB, cid=8,0, timer=62,0,0, clock=0,46,2,0,0,0,0,0,0
[2022-02-11 13:42:39.140][Trace][17032][77k94442] gb28181: 34020000001320000003 clients device=34020000001320000031 send invite code=1028
[2022-02-11 13:42:39.752][Trace][17032][n70w09eq] gb28181: 34020000001320000002 clients device=34020000001320000021 send invite code=1028
[2022-02-11 13:42:39.752][Trace][17032][n70w09eq] gb28181: sip session=34020000001320000002 peer(192.168.2.101, 5060) status(RegisterOk,AliveOk) duration(439,13)
^C[2022-02-11 13:42:39.813][Trace][17032][y3nps8cd] sig=2, user terminate program, fast quit
[2022-02-11 13:42:40.141][Trace][17032][77k94442] gb28181: generate ssrc id=34020000001320000003@34020000001320000031, ssrc=23311
[2022-02-11 13:42:40.141][Warn][17032][77k94442][11] gb28181: create rtmp muxer error, code=1028 : gb28181: rtmp muxer initialize 34020000001320000003@34020000001320000031 : gb28181 rtmp: stream /live/34020000001320000003@34020000001320000031 is busy
thread [17032][77k94442]: fetch_or_create_rtmpmuxer() [src/app/srs_app_gb28181.cpp:1854][errno=11]
thread [17032][77k94442]: initialize() [src/app/srs_app_gb28181.cpp:986][errno=11]
[2022-02-11 13:42:40.141][Warn][17032][77k94442][11] gb28181: create rtmp muxer error, code=1028 : gb28181: rtmp muxer initialize 34020000001320000003@34020000001320000031 : gb28181 rtmp: stream /live/34020000001320000003@34020000001320000031 is busy
thread [17032][77k94442]: fetch_or_create_rtmpmuxer() [src/app/srs_app_gb28181.cpp:1854][errno=11]


  1. SRS的配置如下(Config):

# push gb28181 stream to SRS.

listen                  1935;
max_connections         1000;
daemon              off;
srs_log_tank        console;

http_api {
    enabled         on;
    listen          1985;
    
    raw_api {
        enabled             on;
        allow_reload        on;
        allow_query         on;
        allow_update        on;

    }

    https {
        enabled on;
        listen 1990;
        key ./conf/server.key;
        cert ./conf/server.crt;
    }
}

http_server {
    enabled         on;
    listen          8080;
    https {
        enabled on;
        listen 443;
        key ./conf/server.key;
        cert ./conf/server.crt;
    }

 
}

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;

    # 转发流到rtmp服务器地址与端口
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
    # [stream] is VideoChannelCodecID(视频通道编码ID) for sip
    # 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
    # [ssrc] rtp中的ssrc
    output              rtmp://127.0.0.1:1935/live/[stream];
    
    # 接收设备端rtp流的多路复用端口
    listen              9000;
    # 多路复用端口类型,on为tcp,off为udp
    # 默认:on
    tcp_enable            on;

    # rtp接收监听端口范围,最小值
    rtp_port_min        58200;
    # rtp接收监听端口范围,最大值
    rtp_port_max        58300;

    # 是否等待关键帧之后,再转发,
    # off:不需等待,直接转发
    # on:等第一个关键帧后,再转发
    wait_keyframe       on;
    
    # rtp包空闲等待时间,如果指定时间没有收到任何包
    # rtp监听连接自动停止,发送BYE命令
    rtp_idle_timeout    30;

    # 是否转发音频流
    # 目前只支持aac格式,所以需要设备支持aac格式
    # on:转发音频
    # off:不转发音频,只有视频
    # *注意*!!!:flv 只支持11025  22050  44100 三种
    # 如果设备端没有三种中任何一个,转发时为自动选择一种格式
    # 同时也会将adts的头封装在flv aac raw数据中
    # 这样的话播放器为自动通过adts头自动选择采样频率
    # 像ffplay, vlc都可以,但是flash是没有声音,
    # 因为flash,只支持11025 22050 44100
    audio_enable        off;


    # 服务器主机号,可以域名或ip地址
    # 也就是设备端将媒体发送的地址,如果是服务器是内外网
    # 需要写外网地址,
    # 调用api创建stream session时返回ip地址也是host
    # $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
    # *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
    host       192.168.2.205;

    #根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
    #rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
    auto_create_channel   off;

    sip {
        # 是否启用srs内部sip信令
        # 为on信令走srs, off 只转发ps流
        enabled on;
        
        # sip监听udp端口
        listen              5060;
        
        # SIP server ID(SIP服务器ID).
        # 设备端配置编号需要与该值一致,否则无法注册
        serial              34020000002000000001;

        # SIP server domain(SIP服务器域)
        realm               3402000000;

        # 服务端发送ack后,接收回应的超时时间,单位为秒
        # 如果指定时间没有回应,认为失败
        ack_timeout         30;

        # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
        # 认为设备离线
        keepalive_timeout   120;

        # 注册之后是否自动给设备端发送invite
        # on: 是  off 不是,需要通过api控制
        auto_play           on;
        # 设备将流发送的端口,是否固定
        # on 发送流到多路复用端口 如9000
        # off 自动从rtp_mix_port - rtp_max_port 之间的值中
        # 选一个可以用的端口
        invite_port_fixed     on;

        # 向设备或下级域查询设备列表的间隔,单位(秒)
        # 默认60秒
        query_catalog_interval  60;
    }
}

rtc_server {
    enabled         on;
    # Listen at udp://8000
    listen          8000;
    #
    # The $CANDIDATE means fetch from env, if not configed, use * as default.
    #
    # The * means retrieving server IP automatically, from all network interfaces,
    # @see https://github.com/ossrs/srs/issues/307#issuecomment-599028124
    candidate       $CANDIDATE;
}

vhost __defaultVhost__ {
	http_hooks {
	    enabled         on;
	    on_connect      http://192.168.2.202:8088/srs/v3/api/connect;
	    on_close        http://192.168.2.202:8088/srs/v3/api/close;     
	    on_publish      http://192.168.2.202:8088/srs/v3/api/publish;
	    on_unpublish    http://192.168.2.202:8088/srs/v3/api/unPublish;      
	    on_play         http://192.168.2.202:8088/srs/v3/api/play;     
	    on_stop         http://192.168.2.202:8088/srs/v3/api/stop;
	    on_hls          http://192.168.2.202:8088/srs/v3/api/hls;
	}
	dvr {
			enabled on;
			#all表示录制所有视频流,也可以按频道录制
			#规则为/,例:live/stream1 live/stream2
			dvr_apply all;
			#dvr计划
			dvr_plan segment;
			#录制的路径,详细配置规则见附录三
			dvr_path /data/[stream]/[2006][01][02]/[15].[04].[05].flv;
			#segment方式录制时间设置,单位:分钟
			dvr_duration 3600;
			#开启按关键帧且flv
			dvr_wait_keyframe on;
			#时间戳抖动算法。full使用完全的时间戳矫正;
			#zero只是保证从0开始;off不矫正时间戳。
			time_jitter full;
		}


	
    	
    rtc {
        enabled     on;
        bframe      discard;
    }

    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
}




重现(Replay)

重现Bug的步骤(How to replay bug?)
1.ipc连接到srs,vhost 显示为空
2.添加dvr 录制配置时报错

期望行为(Expect)
能够正常录制,vhost为空并不影响功能

描述你期望发生的事情(Please describe your expectation)

srs-gb28181编译时报错h265无效选项

SRS版本(Version): 5.0.26

通过git下载源码后编译报错
编译命令:./configure --gb28181=on --h265=on --with-ingest
报错:./configure: error: invalid option "--h265"

[root@iZ2ze4xuhkt8y4q7uzvyiqZ trunk]# ./configure --gb28181=on --h265=on --with-ingest ./configure: error: invalid option "--h265" [root@iZ2ze4xuhkt8y4q7uzvyiqZ trunk]# pwd /srs-gb28181/trunk

之前下载时gb28181还没分离出来,是不是我下载错分支了

srs接入GB28181协议的布控球摄像头,30台设备以上,现在设备上线后,经常导致srs服务器退出停止,可以怎么处理吗

SRS版本(Version): 4.0
SRS的日志如下(Log):
SRS的配置如下(Config):

listen 1935;
max_connections 1000;
srs_log_tank file;
srs_log_file ./objs/srs.log;
daemon on;

http_api {
enabled on;
listen 1985;
}

http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}

stats {
network 0;
}

stream_caster {
enabled on;
caster gb28181;
output rtmp://127.0.0.1:1935/live/[stream];

listen              9000;

tcp_enable            on;

rtp_port_min        58200;

rtp_port_max        58300;

wait_keyframe       on;

rtp_idle_timeout    30;

audio_enable        off;

jitterbuffer_enable  off;

host       192.168.1.5;

auto_create_channel   off;

sip {
    enabled on;

    listen              5060;
    
    serial              34020000002000000001;

    realm               3402000000;

    ack_timeout         30;

    keepalive_timeout   120;

    auto_play           on;
	
    invite_port_fixed     on;

    query_catalog_interval  60;
}

}

rtc_server {
enabled on;

listen          8000;

candidate       192.168.1.5;

}

vhost defaultVhost {

rtc {
    enabled     on;
    bframe      discard;
}

hls {
    enabled         on;
    hls_path        ./objs/nginx/html;
    hls_fragment    10;
    hls_window      60;
}

http_remux {
    enabled     on;
    mount       [vhost]/[app]/[stream].flv;
}

}

BUG报告,void SrsRtpFrameBuffer::ShiftSubsequentPackets 如果packets_为空会出现异常

修正如下:

void SrsRtpFrameBuffer::ShiftSubsequentPackets(PacketIterator it,
int steps_to_shift)
{
if (it != packets_.end()) {
++it;
}
if (it == packets_.end()) {
return;
}

uint8_t* first_packet_ptr = const_cast<uint8_t*>((*it).dataPtr);
int shift_length = 0;

// Calculate the total move length and move the data pointers in advance.
for (; it != packets_.end(); ++it) {
    shift_length += (*it).sizeBytes;

    if ((*it).dataPtr != NULL) {
        (*it).dataPtr += steps_to_shift;
    }
}

memmove(first_packet_ptr + steps_to_shift, first_packet_ptr, shift_length);

}

dvr录制时reload配置停止录制,文件是temp文件

注意:提问前,请先看FAQ(Please read FAQ before file an issue) ossrs/srs#2716

描述(Description)
当我开始录制一路流之后,修改了配置,srs 提示reload 成功,但是存在的文件仍然是temp文件,我无法进行播放

描述你遇到了什么问题(Please description your issue here)
当我开始录制一路流之后,修改了配置,srs 提示reload 成功,但是存在的文件仍然是temp文件,我无法进行播放

  1. SRS版本(Version): xxxxxx
    最新版

  2. SRS的日志如下(Log):

  3. SRS的配置如下(Config):
    重现(Replay)
    1.开始录制,
    2.生成temp文件
    3.修改配置文件不录制
    4.重启接口重启
    5.文件仍然为temp

重现Bug的步骤(How to replay bug?)

  1. xxxxxx
  2. xxxxxx
  3. xxxxxx

期望行为(Expect)
reload 检查存在的录制任务,将录制文件变成可以播放的mp4或者flv,重启亦然

描述你期望发生的事情(Please describe your expectation)

GB28181:摄像头流匹配的Vhost为空,怀疑output没起作用 #2391

SRS版本 4.0
配置文件:

listen              1935;
max_connections     1000;
srs_log_tank        file;
srs_log_file        ./objs/srs.log;
daemon              on;
http_api {
    enabled         on;
    listen          1985;
    raw_api {
        enabled             on;
        allow_reload        on;
        allow_query         on;
        allow_update        on;
    }
}
http_server {
    enabled         on;
    listen          8088;
    dir             ./objs/nginx/html;
}
stats {
    network         0;
}
rtc_server {
    enabled         on;
    listen          8000;
    candidate       192.168.0.2;
}
stream_caster {
    enabled             on;
    caster              gb28181;
    output              rtmp://127.0.0.1:1935/live/[stream];
    listen              9000;
    # 多路复用端口类型,on为tcp,off为udp
    # 默认:off
    tcp_enable            off;
    rtp_port_min        58200;
    rtp_port_max        58300;
    wait_keyframe       on;
    rtp_idle_timeout    30;
    audio_enable        off;
    jitterbuffer_enable  on;

    host       192.168.0.2;

    #根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
    #rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
    auto_create_channel   off;

    sip {
        enabled on;
        listen              5060;
        serial              XXXXXXXXXX2007000001;
        realm              XXXXXXXXXX;
        ack_timeout         30;
        keepalive_timeout   120;
        auto_play           on;
        invite_port_fixed     on;
        query_catalog_interval  60;
    }
}

vhost __defaultVhost__ {
    #开启hls切片,可以生成m3u8播放地址
    hls {
        enabled         on;
    }
    ## 开启 flv 播放
    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
    #开启webRTC播放
    rtc {
        enabled     on;
        bframe      discard;
    }
    forward {
        enabled on;
        destination 192.168.0.9:1935;
    }
}

问题:摄像头注册后可以获取流,可以拉取RTMP、HLS的流,但控制台显示的vhost为空。
也就是说摄像头没有匹配到__defaultVhost__。
微信图片_20210601103318
微信图片_20210601103312

怀疑:stream_caster中的output没起作用。

期望的结果:当摄像头注册成功后,其视频通道的流应该匹配到__defaultVhost__,以便进行更多的操作。

GB28181级联,下级srs报错

在局域网做级联测试时,摄像头连接下级srs,下级srs配置remote到上级srs。

  1. SRS版本(Version): 5.0.26

  2. 下级SRS的报错日志如下:

[2022-05-10 16:47:49.484][Trace][30651][1u718737] gb28181: client id=34020000001320000004@34020000001320000003,  ssrc=0xba9f08, peer(10.4.7.76, 15060), rtmp muxer is alive
[2022-05-10 16:47:50.421][Trace][30651][70d695bi] Hybrid cpu=1.00%,15MB, cid=1,0, timer=62,0,0, clock=0,42,6,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:49,oth:0,buf:0)
[2022-05-10 16:47:52.362][Trace][30651][cf274722] HTTP #37 10.1.120.93:56593 GET http://10.4.7.85:1985/api/v1/streams/?callback=angular.callbacks._12, content-length=-1
[2022-05-10 16:47:52.497][Trace][30651][i9590178] complex handshake success.
[2022-05-10 16:47:52.497][Trace][30651][i9590178] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 16:47:52.540][Trace][30651][i9590178] connected, version=5.0.26.0, ip=10.4.7.120, pid=22780, id=0, dsu=1
[2022-05-10 16:47:52.541][Trace][30651][i9590178] edge-pull publish url rtmp://10.4.7.120:1935/live/livestream_{i}, stream=livestream_{i} as livestream_{i}
[2022-05-10 16:47:55.422][Trace][30651][70d695bi] Hybrid cpu=1.00%,15MB, cid=2,0, timer=62,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:49,oth:0,buf:0)
[2022-05-10 16:47:55.880][Trace][30651][cf274722] HTTP #38 10.1.120.93:56593 GET http://10.4.7.85:1985/api/v1/streams/?callback=angular.callbacks._13, content-length=-1
[2022-05-10 16:47:57.544][Warn][30651][i9590178][62] EdgeIngester: Ignore error, code=1011 : recv message : recv interlaced message : read basic header : basic header requires 1 bytes : read bytes : timeout 5000 ms
thread [30651][i9590178]: ingest() [src/app/srs_app_edge.cpp:566][errno=62]
thread [30651][i9590178]: recv_message() [src/protocol/srs_rtmp_stack.cpp:372][errno=62]
thread [30651][i9590178]: recv_interlaced_message() [src/protocol/srs_rtmp_stack.cpp:859][errno=62]
thread [30651][i9590178]: read_basic_header() [src/protocol/srs_rtmp_stack.cpp:954][errno=62]
thread [30651][i9590178]: grow() [src/protocol/srs_protocol_stream.cpp:162][errno=62]
thread [30651][i9590178]: read() [src/protocol/srs_service_st.cpp:522][errno=62]
[2022-05-10 16:47:58.377][Trace][30651][03sx421b] gb28181: sip session=34020000001320000004 peer(10.4.7.76, 15060) status(RegisterOk,AliveOk) duration(185,0)
[2022-05-10 16:47:59.486][Trace][30651][1u718737] gb28181: client id=34020000001320000004@34020000001320000003,  ssrc=0xba9f08, peer(10.4.7.76, 15060), rtmp muxer is alive
[2022-05-10 16:47:59.879][Trace][30651][cf274722] HTTP #39 10.1.120.93:56593 GET http://10.4.7.85:1985/api/v1/streams/?callback=angular.callbacks._14, content-length=-1
[2022-05-10 16:48:00.422][Trace][30651][70d695bi] Hybrid cpu=1.00%,15MB, cid=2,0, timer=62,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:49,oth:0,buf:0)
[2022-05-10 16:48:00.548][Trace][30651][i9590178] complex handshake success.

  1. SRS的配置如下(Config):

上级

# push gb28181 stream to SRS.

listen                  1935;
max_connections         1000;
#daemon              off;
#srs_log_tank        console;
srs_log_tank        file;
srs_log_file        ./objs/srs.log;
daemon              on;

http_api {
    enabled         on;
    listen          1985;
}

http_server {
    enabled         on;
    listen          8091;
}

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;

    # 转发流到rtmp服务器地址与端口
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
    # [stream] is VideoChannelCodecID(视频通道编码ID) for sip
    # 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
    # [ssrc] rtp中的ssrc
    output              rtmp://127.0.0.1:1935/live/[stream];
    
    # 接收设备端rtp流的多路复用端口
    listen              9000;
    # 多路复用端口类型,on为tcp,off为udp
    # 默认:on
    tcp_enable            on;

    # rtp接收监听端口范围,最小值
    rtp_port_min        58200;
    # rtp接收监听端口范围,最大值
    rtp_port_max        58300;

    # 是否等待关键帧之后,再转发,
    # off:不需等待,直接转发
    # on:等第一个关键帧后,再转发
    wait_keyframe       on;
    
    # rtp包空闲等待时间,如果指定时间没有收到任何包
    # rtp监听连接自动停止,发送BYE命令
    rtp_idle_timeout    30;

    # 是否转发音频流
    # 目前只支持aac格式,所以需要设备支持aac格式
    # on:转发音频
    # off:不转发音频,只有视频
    # *注意*!!!:flv 只支持11025  22050  44100 三种
    # 如果设备端没有三种中任何一个,转发时为自动选择一种格式
    # 同时也会将adts的头封装在flv aac raw数据中
    # 这样的话播放器为自动通过adts头自动选择采样频率
    # 像ffplay, vlc都可以,但是flash是没有声音,
    # 因为flash,只支持11025 22050 44100
    audio_enable        off;


    # 服务器主机号,可以域名或ip地址
    # 也就是设备端将媒体发送的地址,如果是服务器是内外网
    # 需要写外网地址,
    # 调用api创建stream session时返回ip地址也是host
    # $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
    # *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
    host       10.4.7.120;

    #根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
    #rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
    auto_create_channel   off;

    sip {
        # 是否启用srs内部sip信令
        # 为on信令走srs, off 只转发ps流
        enabled on;
        
        # sip监听udp端口
        #listen              5060;
        listen              15063;
        
        # SIP server ID(SIP服务器ID).
        # 设备端配置编号需要与该值一致,否则无法注册
        serial              34020000002000000001;

        # SIP server domain(SIP服务器域)
        realm               3402000000;

        # 服务端发送ack后,接收回应的超时时间,单位为秒
        # 如果指定时间没有回应,认为失败
        ack_timeout         30;

        # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
        # 认为设备离线
        keepalive_timeout   120;

        # 注册之后是否自动给设备端发送invite
        # on: 是  off 不是,需要通过api控制
        auto_play           on;
        # 设备将流发送的端口,是否固定
        # on 发送流到多路复用端口 如9000
        # off 自动从rtp_mix_port - rtp_max_port 之间的值中
        # 选一个可以用的端口
        invite_port_fixed     on;

        # 向设备或下级域查询设备列表的间隔,单位(秒)
        # 默认60秒
        query_catalog_interval  60;
    }
}

rtc_server {
    enabled         on;
    # Listen at udp://8000
    listen          8000;
    #
    # The $CANDIDATE means fetch from env, if not configed, use * as default.
    #
    # The * means retrieving server IP automatically, from all network interfaces,
    # @see https://github.com/ossrs/srs/issues/307#issuecomment-599028124
    candidate       10.4.7.120;
}

vhost __defaultVhost__ {
    rtc {
        enabled     on;
        bframe      discard;
    }

    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }

}

下级

# push gb28181 stream to SRS.

listen                  1935;
max_connections         1000;
daemon              off;
srs_log_tank        console;

http_api {
    enabled         on;
    listen          1985;
}

http_server {
    enabled         on;
    listen          8080;
}

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;

    # 转发流到rtmp服务器地址与端口
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
    # [stream] is VideoChannelCodecID(视频通道编码ID) for sip
    # 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
    # [ssrc] rtp中的ssrc
    output              rtmp://127.0.0.1:1935/live/[stream];
    
    # 接收设备端rtp流的多路复用端口
    listen              9000;
    # 多路复用端口类型,on为tcp,off为udp
    # 默认:on
    tcp_enable            on;

    # rtp接收监听端口范围,最小值
    rtp_port_min        58200;
    # rtp接收监听端口范围,最大值
    rtp_port_max        58300;

    # 是否等待关键帧之后,再转发,
    # off:不需等待,直接转发
    # on:等第一个关键帧后,再转发
    wait_keyframe       on;
    
    # rtp包空闲等待时间,如果指定时间没有收到任何包
    # rtp监听连接自动停止,发送BYE命令
    rtp_idle_timeout    30;

    # 是否转发音频流
    # 目前只支持aac格式,所以需要设备支持aac格式
    # on:转发音频
    # off:不转发音频,只有视频
    # *注意*!!!:flv 只支持11025  22050  44100 三种
    # 如果设备端没有三种中任何一个,转发时为自动选择一种格式
    # 同时也会将adts的头封装在flv aac raw数据中
    # 这样的话播放器为自动通过adts头自动选择采样频率
    # 像ffplay, vlc都可以,但是flash是没有声音,
    # 因为flash,只支持11025 22050 44100
    audio_enable        off;


    # 服务器主机号,可以域名或ip地址
    # 也就是设备端将媒体发送的地址,如果是服务器是内外网
    # 需要写外网地址,
    # 调用api创建stream session时返回ip地址也是host
    # $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
    # *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
    host       10.4.7.85;

    #根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
    #rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
    auto_create_channel   off;

    sip {
        # 是否启用srs内部sip信令
        # 为on信令走srs, off 只转发ps流
        enabled on;
        
        # sip监听udp端口
        listen              5060;
        
        # SIP server ID(SIP服务器ID).
        # 设备端配置编号需要与该值一致,否则无法注册
        serial              34020000002000000005;

        # SIP server domain(SIP服务器域)
        realm               3402000000;

        # 服务端发送ack后,接收回应的超时时间,单位为秒
        # 如果指定时间没有回应,认为失败
        ack_timeout         30;

        # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
        # 认为设备离线
        keepalive_timeout   120;

        # 注册之后是否自动给设备端发送invite
        # on: 是  off 不是,需要通过api控制
        auto_play           on;
        # 设备将流发送的端口,是否固定
        # on 发送流到多路复用端口 如9000
        # off 自动从rtp_mix_port - rtp_max_port 之间的值中
        # 选一个可以用的端口
        invite_port_fixed     on;

        # 向设备或下级域查询设备列表的间隔,单位(秒)
        # 默认60秒
        query_catalog_interval  60;
    }
}

rtc_server {
    enabled         on;
    # Listen at udp://8000
    listen          8000;
    #
    # The $CANDIDATE means fetch from env, if not configed, use * as default.
    #
    # The * means retrieving server IP automatically, from all network interfaces,
    # @see https://github.com/ossrs/srs/issues/307#issuecomment-599028124
    candidate       10.4.7.85;
}

vhost __defaultVhost__ {
    rtc {
        enabled     on;
        bframe      discard;
    }

    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
    
    cluster {
        mode        remote;
        origin      10.4.7.120:1935;    
    }
}

4 上级srs和下级srs上的全量日志如下:
下级

[2022-05-10 17:03:43.856][Trace][21694][g68s776t] XCORE-SRS/5.0.26(Leo)
[2022-05-10 17:03:43.863][Trace][21694][g68s776t] config parse complete
[2022-05-10 17:03:43.863][Warn][21694][g68s776t][22] transform: vhost.rtc.bframe to vhost.rtc.keep_bframe off
[2022-05-10 17:03:43.864][Trace][21694][g68s776t] write log to console
[2022-05-10 17:03:43.865][Trace][21694][g68s776t][MAIN] SRS/5.0.26(Leo), MIT
[2022-05-10 17:03:43.865][Trace][21694][g68s776t] authors: Winlin<[email protected]> ZhaoWenjie<[email protected]> ShiWei<[email protected]> XiaoZhihong<[email protected]> WuPengqiang<[email protected]> XiaLixin<[email protected]> LiPeng<[email protected]> ChenGuanghua<[email protected]> ChenHaibo<[email protected]> Johzzy<[email protected]> Zhouxiaojun2008<[email protected]> Pengfei.ma<[email protected]> ZhangJunqin<[email protected]> and https://github.com/ossrs/srs/blob/develop/trunk/AUTHORS.md#contributors
[2022-05-10 17:03:43.866][Trace][21694][g68s776t] cwd=/home/eb_edge/baiqixiang/gb28281_srs/trunk, work_dir=./, build: 2022-04-27 09:49:32, configure: --x86-x64 --with-gb28181, uname: Linux localhost.localdomain 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux, osx: 0, pkg: , region: , source: 
[2022-05-10 17:03:43.866][Trace][21694][g68s776t] configure detail: --prefix=/usr/local/srs --config=conf/srs.conf --hls=on --hds=off --dvr=on --ssl=on --https=on --ssl-1-0=off --ssl-local=off --sys-ssl=off --transcode=on --ingest=on --stat=on --http-callback=on --http-server=on --stream-caster=on --http-api=on --utest=off --cherrypy=off --srt=off --rtc=on --simulator=off --gb28181=on --iconv=off --cxx11=on --cxx14=off --ffmpeg-fit=on --nasm=on --srtp-nasm=on --clean=on --gperf=off --gmc=off --gmd=off --gmp=off --gcp=off --gprof=off --static=off --shared-st=off --shared-srt=off --shared-ffmpeg=off --log-verbose=off --log-info=off --log-trace=on --gcov=off --debug=off --debug-stats=off --cross-build=off --cc=gcc --cxx=g++ --ar=ar --ld=ld --randlib=randlib
[2022-05-10 17:03:43.867][Trace][21694][g68s776t] srs checking config...
[2022-05-10 17:03:43.868][Trace][21694][g68s776t] ips, iface[0] enp1s0 ipv4 0x11043 10.4.7.85, iface[1] enp1s0 ipv6 0x11043 fe80::b9bc:731f:cca7:29b6%enp1s0
[2022-05-10 17:03:43.869][Trace][21694][g68s776t] devices, intranet enp1s0 10.4.7.85, intranet enp1s0 fe80::b9bc:731f:cca7:29b6%enp1s0
[2022-05-10 17:03:43.870][Warn][21694][g68s776t][22] stats network use index=0, ip=10.4.7.85, ifname=enp1s0
[2022-05-10 17:03:43.871][Warn][21694][g68s776t][22] stats disk not configed, disk iops disabled.
[2022-05-10 17:03:43.871][Trace][21694][g68s776t] write log to console
[2022-05-10 17:03:43.872][Trace][21694][g68s776t] features, rch:on, dash:on, hls:on, hds:off, srt:off, hc:on, ha:on, hs:on, hp:on, dvr:on, trans:on, inge:on, stat:on, sc:on
[2022-05-10 17:03:43.872][Trace][21694][g68s776t] SRS on  amd64 x86_64, conf:./conf/push.gb28181.conf, limit:1000, writev:1024, encoding:little-endian, HZ:100
[2022-05-10 17:03:43.873][Trace][21694][g68s776t] mw sleep:350ms. mr enabled:on, default:0, sleep:350ms
[2022-05-10 17:03:43.873][Trace][21694][g68s776t] gc:on, pq:30000ms, cscc:[0,16), csa:on, tn:on(may hurts performance), ss:auto(guess by merged write)
[2022-05-10 17:03:43.873][Trace][21694][g68s776t] system default latency(ms): mw(0-350) + mr(0-350) + play-queue(0-30000)
[2022-05-10 17:03:43.874][Warn][21694][g68s776t][22] SRS/5.0.26 is not stable
[2022-05-10 17:03:43.899][Trace][21694][g68s776t] fingerprint=5A:02:4D:36:4F:C9:9F:9D:53:DE:C8:6B:C9:65:C9:11:A2:91:5F:11:FF:2F:5B:BD:CC:D6:D7:9C:C7:E5:96:C3
[2022-05-10 17:03:43.899][Trace][21694][g68s776t] CircuitBreaker: enabled=1, high=2x90, critical=1x95, dying=5x99
[2022-05-10 17:03:43.900][Trace][21694][g68s776t] http flv live stream, vhost=__defaultVhost__, mount=[vhost]/[app]/[stream].flv
[2022-05-10 17:03:43.900][Trace][21694][g68s776t] http: root mount to ./objs/nginx/html
[2022-05-10 17:03:43.900][Trace][21694][g68s776t] server main cid=g68s776t, pid=21694, ppid=11565, asprocess=0
[2022-05-10 17:03:43.901][Trace][21694][g68s776t] write pid=21694 to ./objs/srs.pid success!
[2022-05-10 17:03:43.902][Trace][21694][g68s776t] RTMP listen at tcp://0.0.0.0:1935, fd=7
[2022-05-10 17:03:43.902][Trace][21694][g68s776t] HTTP-API listen at tcp://0.0.0.0:1985, fd=8
[2022-05-10 17:03:43.903][Trace][21694][g68s776t] HTTP-Server listen at tcp://0.0.0.0:8080, fd=9
[2022-05-10 17:03:43.908][Trace][21694][g68s776t] UDP #10 LISTEN at 0.0.0.0:5060, SO_SNDBUF(default=212992, expect=10485760, actual=20971520, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=20971520, r0=0)
[2022-05-10 17:03:43.909][Trace][21694][g68s776t] GB28181-SIP over UDP listen at udp://0.0.0.0:5060, fd=10
[2022-05-10 17:03:43.913][Trace][21694][g68s776t] signal installed, reload=1, reopen=10, fast_quit=15, grace_quit=3
[2022-05-10 17:03:43.919][Trace][21694][g68s776t] http: api mount /console to ./objs/nginx/html/console
[2022-05-10 17:03:43.920][Trace][21694][g68s776t] rtc listen at udp://0.0.0.0:8000, fd=12
[2022-05-10 17:03:43.925][Trace][21694][3885jum7] Hybrid cpu=0.00%,13MB
[2022-05-10 17:03:43.926][Warn][21694][p7v1bsh3][22] use private address as ip: 10.4.7.85, ifname=enp1s0
[2022-05-10 17:03:43.926][Trace][21694][p7v1bsh3] Startup query id=17e52534d04011ec864873dc94b5c2cf, eip=10.4.7.85, wait=320s
[2022-05-10 17:03:43.927][Trace][21694][pi751498] GB28181: connection manager run, conns=0
[2022-05-10 17:03:43.927][Trace][21694][7eip54h0] GB28181TCP: connection manager run, conns=0
[2022-05-10 17:03:43.928][Trace][21694][2990t459] TCP: connection manager run, conns=0
[2022-05-10 17:03:43.930][Trace][21694][3t7u8q27] UDP #12 LISTEN at 0.0.0.0:8000, SO_SNDBUF(default=212992, expect=10485760, actual=20971520, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=20971520, r0=0)
[2022-05-10 17:03:43.931][Trace][21694][p9209156] RTC: connection manager run, conns=0
[2022-05-10 17:03:44.865][Trace][21694][g68s776t] gb28181: request client id=34020000001320000004 peer(10.4.7.76, 15060)
[2022-05-10 17:03:44.866][Trace][21694][g68s776t] gb28181: request method=REGISTER, uri=sip:34020000002000000005@3402000000, version=SIP/2.0 expires=3600
[2022-05-10 17:03:46.356][Trace][21694][668j0a5r] RTMP client ip=10.4.7.85:41552, fd=13
[2022-05-10 17:03:46.358][Trace][21694][668j0a5r] simple handshake success.
[2022-05-10 17:03:46.389][Trace][21694][82ej2tap] RTMP client ip=10.4.7.85:41554, fd=14
[2022-05-10 17:03:46.390][Trace][21694][82ej2tap] simple handshake success.
[2022-05-10 17:03:46.397][Trace][21694][668j0a5r] connect app, tcUrl=rtmp://10.4.7.85/live, pageUrl=, swfUrl=, schema=rtmp, vhost=10.4.7.85, port=1935, app=live, args=null
[2022-05-10 17:03:46.397][Trace][21694][668j0a5r] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:03:46.429][Trace][21694][82ej2tap] connect app, tcUrl=rtmp://10.4.7.85/live, pageUrl=, swfUrl=, schema=rtmp, vhost=10.4.7.85, port=1935, app=live, args=null
[2022-05-10 17:03:46.430][Trace][21694][82ej2tap] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:03:46.438][Trace][21694][668j0a5r] client identified, type=rtmp-play, vhost=10.4.7.85, app=live, stream=livestream_{i}, param=, duration=-1ms
[2022-05-10 17:03:46.439][Trace][21694][668j0a5r] connected stream, tcUrl=rtmp://10.4.7.85/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=livestream_{i}, param=, args=null
[2022-05-10 17:03:46.439][Trace][21694][668j0a5r] new source, stream_url=/live/livestream_{i}
[2022-05-10 17:03:46.440][Trace][21694][668j0a5r] source url=/live/livestream_{i}, ip=10.4.7.85, cache=1, is_edge=1, source_id=/
[2022-05-10 17:03:46.442][Trace][21694][668j0a5r] ignore disabled exec for vhost=__defaultVhost__
[2022-05-10 17:03:46.443][Trace][21694][668j0a5r] http: mount flv stream for sid=/live/livestream_{i}, mount=/live/livestream_{i}.flv
[2022-05-10 17:03:46.444][Trace][21694][668j0a5r] dispatch cached gop success. count=0, duration=-1
[2022-05-10 17:03:46.445][Trace][21694][668j0a5r] create consumer, active=1, queue_size=0.00, jitter=30000000
[2022-05-10 17:03:46.446][Trace][21694][668j0a5r] set fd=13, SO_SNDBUF=2626560=>175000, buffer=350ms
[2022-05-10 17:03:46.446][Trace][21694][668j0a5r] start play smi=0ms, mw_sleep=350, mw_msgs=8, realtime=0, tcp_nodelay=0
[2022-05-10 17:03:46.447][Trace][21694][668j0a5r] update source_id=pq09053a/668j0a5r
[2022-05-10 17:03:46.448][Trace][21694][h233r464] RTMP client ip=10.4.7.85:41556, fd=16
[2022-05-10 17:03:46.449][Trace][21694][h233r464] simple handshake success.
[2022-05-10 17:03:46.462][Trace][21694][pq09053a] complex handshake success.
[2022-05-10 17:03:46.463][Trace][21694][pq09053a] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:03:46.471][Trace][21694][82ej2tap] client identified, type=rtmp-play, vhost=10.4.7.85, app=live, stream=livestream_{i}, param=, duration=-1ms
[2022-05-10 17:03:46.472][Trace][21694][82ej2tap] connected stream, tcUrl=rtmp://10.4.7.85/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=livestream_{i}, param=, args=null
[2022-05-10 17:03:46.472][Trace][21694][82ej2tap] source url=/live/livestream_{i}, ip=10.4.7.85, cache=1, is_edge=1, source_id=pq09053a/668j0a5r
[2022-05-10 17:03:46.473][Trace][21694][82ej2tap] dispatch cached gop success. count=0, duration=-1
[2022-05-10 17:03:46.474][Trace][21694][82ej2tap] create consumer, active=1, queue_size=0.00, jitter=30000000
[2022-05-10 17:03:46.474][Trace][21694][82ej2tap] set fd=14, SO_SNDBUF=2626560=>175000, buffer=350ms
[2022-05-10 17:03:46.475][Trace][21694][82ej2tap] start play smi=0ms, mw_sleep=350, mw_msgs=8, realtime=0, tcp_nodelay=0
[2022-05-10 17:03:46.488][Trace][21694][h233r464] connect app, tcUrl=rtmp://10.4.7.85/live, pageUrl=, swfUrl=, schema=rtmp, vhost=10.4.7.85, port=1935, app=live, args=null
[2022-05-10 17:03:46.489][Trace][21694][h233r464] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:03:46.507][Trace][21694][pq09053a] connected, version=5.0.26.0, ip=10.4.7.120, pid=31798, id=0, dsu=1
[2022-05-10 17:03:46.508][Trace][21694][pq09053a] edge-pull publish url rtmp://10.4.7.120:1935/live/livestream_{i}, stream=livestream_{i} as livestream_{i}
[2022-05-10 17:03:46.508][Trace][21694][pq09053a] edge change from 100 to state 101 (pull).
[2022-05-10 17:03:46.529][Trace][21694][h233r464] client identified, type=rtmp-play, vhost=10.4.7.85, app=live, stream=livestream_{i}, param=, duration=-1ms
[2022-05-10 17:03:46.529][Trace][21694][h233r464] connected stream, tcUrl=rtmp://10.4.7.85/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=livestream_{i}, param=, args=null
[2022-05-10 17:03:46.529][Trace][21694][h233r464] source url=/live/livestream_{i}, ip=10.4.7.85, cache=1, is_edge=1, source_id=pq09053a/668j0a5r
[2022-05-10 17:03:46.529][Trace][21694][h233r464] dispatch cached gop success. count=0, duration=-1
[2022-05-10 17:03:46.529][Trace][21694][h233r464] create consumer, active=1, queue_size=0.00, jitter=30000000
[2022-05-10 17:03:46.529][Trace][21694][h233r464] set fd=16, SO_SNDBUF=2626560=>175000, buffer=350ms
[2022-05-10 17:03:46.529][Trace][21694][h233r464] start play smi=0ms, mw_sleep=350, mw_msgs=8, realtime=0, tcp_nodelay=0
[2022-05-10 17:03:48.852][Trace][21694][3885jum7] Hybrid cpu=0.00%,13MB
[2022-05-10 17:03:48.867][Trace][21694][7iuk0844] gb28181: sip session=34020000001320000004 peer(10.4.7.76, 15060) status(RegisterOk,AliveOk) duration(3,0)
[2022-05-10 17:03:49.867][Trace][21694][7iuk0844] gb28181: generate ssrc id=34020000001320000004@34020000001320000003, ssrc=12230414
[2022-05-10 17:03:49.867][Trace][21694][7iuk0844] new source, stream_url=/live/34020000001320000004@34020000001320000003
[2022-05-10 17:03:49.867][Trace][21694][7iuk0844] new source, stream_url=/live/34020000001320000004@34020000001320000003
[2022-05-10 17:03:49.867][Trace][21694][7iuk0844] RTC bridge from RTMP, rtmp2rtc=0, keep_bframe=0, merge_nalus=0
[2022-05-10 17:03:49.868][Trace][21694][7iuk0844] ignore disabled exec for vhost=
[2022-05-10 17:03:49.868][Trace][21694][7iuk0844] gb28181: create new stream channel id:34020000001320000004@34020000001320000003 rtmp url=rtmp://127.0.0.1:1935/live/34020000001320000004@34020000001320000003
[2022-05-10 17:03:49.869][Trace][21694][g68s776t] gb28181: request client id=34020000001320000003, peer(10.4.7.76, 15060)
[2022-05-10 17:03:49.869][Trace][21694][g68s776t] gb28181: respone method=INVITE, uri=34020000002000000005@3402000000, version=SIP/2.0 
[2022-05-10 17:03:49.870][Trace][21694][g68s776t] gb28181: INVITE response 34020000001320000003 client status=100
[2022-05-10 17:03:49.872][Trace][21694][g68s776t] gb28181: ssrc in y line is 12230414:ba9f0e
[2022-05-10 17:03:49.872][Trace][21694][g68s776t] gb28181: request client id=34020000001320000003, peer(10.4.7.76, 15060)
[2022-05-10 17:03:49.872][Trace][21694][g68s776t] gb28181: respone method=INVITE, uri=34020000002000000005@3402000000, version=SIP/2.0 
[2022-05-10 17:03:49.872][Trace][21694][g68s776t] gb28181: INVITE response 34020000001320000003 client status=200
[2022-05-10 17:03:49.872][Trace][21694][g68s776t] gb28181: device unique id is 34020000001320000004@34020000001320000003
[2022-05-10 17:03:49.874][Trace][21694][7q4r0at6] gb28181 new connect by rtp-tcp from: 10.4.7.76:15060
[2022-05-10 17:03:49.976][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27357328
[2022-05-10 17:03:49.979][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:27357328, _buffer:27388016
[2022-05-10 17:03:49.985][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:27388016, _buffer:-282001392
[2022-05-10 17:03:50.063][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27388016
[2022-05-10 17:03:50.103][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27418032
[2022-05-10 17:03:50.143][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27448048
[2022-05-10 17:03:50.184][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27478064
[2022-05-10 17:03:50.224][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27508080
[2022-05-10 17:03:50.264][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27538096
[2022-05-10 17:03:50.305][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27568112
[2022-05-10 17:03:50.345][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27598128
[2022-05-10 17:03:50.386][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27628144
[2022-05-10 17:03:50.426][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27658160
[2022-05-10 17:03:50.466][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27688176
[2022-05-10 17:03:50.507][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27718192
[2022-05-10 17:03:50.547][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27748208
[2022-05-10 17:03:50.587][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27778224
[2022-05-10 17:03:50.602][Trace][21694][r77519v1] RTP: jitbuffer key=34020000001320000004@34020000001320000003 reallocate a frame buffer size(107500>0) resize(137500)
[2022-05-10 17:03:50.602][Trace][21694][r77519v1] gb28181: ps map video es_type=h264(1b), es_id=e0, es_info_length=28
[2022-05-10 17:03:50.603][Trace][21694][r77519v1] 69B video sh,  codec(7, profile=Main, level=3.1, 1280x720, 0kbps, 0.0fps, 0.0s)
[2022-05-10 17:03:50.867][Trace][21694][7iuk0844] gb28181: 34020000001320000004 clients device=34020000001320000003 send invite code=0
[2022-05-10 17:03:51.212][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27808240
[2022-05-10 17:03:51.515][Warn][21694][pq09053a][62] EdgeIngester: Ignore error, code=1011 : recv message : recv interlaced message : read basic header : basic header requires 1 bytes : read bytes : timeout 5000 ms
thread [21694][pq09053a]: ingest() [src/app/srs_app_edge.cpp:566][errno=62]
thread [21694][pq09053a]: recv_message() [src/protocol/srs_rtmp_stack.cpp:372][errno=62]
thread [21694][pq09053a]: recv_interlaced_message() [src/protocol/srs_rtmp_stack.cpp:859][errno=62]
thread [21694][pq09053a]: read_basic_header() [src/protocol/srs_rtmp_stack.cpp:954][errno=62]
thread [21694][pq09053a]: grow() [src/protocol/srs_protocol_stream.cpp:162][errno=62]
thread [21694][pq09053a]: read() [src/protocol/srs_service_st.cpp:522][errno=62]
[2022-05-10 17:03:53.853][Trace][21694][3885jum7] Hybrid cpu=1.00%,15MB
[2022-05-10 17:03:54.526][Trace][21694][pq09053a] complex handshake success.
[2022-05-10 17:03:54.526][Trace][21694][pq09053a] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:03:54.568][Trace][21694][pq09053a] connected, version=5.0.26.0, ip=10.4.7.120, pid=31798, id=0, dsu=1
[2022-05-10 17:03:54.569][Trace][21694][pq09053a] edge-pull publish url rtmp://10.4.7.120:1935/live/livestream_{i}, stream=livestream_{i} as livestream_{i}
[2022-05-10 17:03:55.070][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:27778224, _buffer:28118256
[2022-05-10 17:03:55.077][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:28118256, _buffer:-282353648
[2022-05-10 17:03:56.370][Trace][21694][r77519v1] gb28181: client id=34020000001320000004@34020000001320000003,  ssrc=0xba9f0e, peer(10.4.7.76, 15060), rtmp muxer is alive
[2022-05-10 17:03:58.853][Trace][21694][3885jum7] Hybrid cpu=0.00%,15MB, cid=8,2, timer=62,0,0, clock=0,44,4,0,1,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:30,oth:0,buf:0)
[2022-05-10 17:03:59.571][Warn][21694][pq09053a][62] EdgeIngester: Ignore error, code=1011 : recv message : recv interlaced message : read basic header : basic header requires 1 bytes : read bytes : timeout 5000 ms
thread [21694][pq09053a]: ingest() [src/app/srs_app_edge.cpp:566][errno=62]
thread [21694][pq09053a]: recv_message() [src/protocol/srs_rtmp_stack.cpp:372][errno=62]
thread [21694][pq09053a]: recv_interlaced_message() [src/protocol/srs_rtmp_stack.cpp:859][errno=62]
thread [21694][pq09053a]: read_basic_header() [src/protocol/srs_rtmp_stack.cpp:954][errno=62]
thread [21694][pq09053a]: grow() [src/protocol/srs_protocol_stream.cpp:162][errno=62]
thread [21694][pq09053a]: read() [src/protocol/srs_service_st.cpp:522][errno=62]
[2022-05-10 17:04:00.114][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:27658160, _buffer:28004784
[2022-05-10 17:04:00.120][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:28004784, _buffer:28094800
[2022-05-10 17:04:02.578][Trace][21694][pq09053a] complex handshake success.
[2022-05-10 17:04:02.578][Trace][21694][pq09053a] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:04:02.619][Trace][21694][pq09053a] connected, version=5.0.26.0, ip=10.4.7.120, pid=31798, id=0, dsu=1
[2022-05-10 17:04:02.620][Trace][21694][pq09053a] edge-pull publish url rtmp://10.4.7.120:1935/live/livestream_{i}, stream=livestream_{i} as livestream_{i}
[2022-05-10 17:04:03.854][Trace][21694][3885jum7] Hybrid cpu=1.00%,15MB, cid=8,2, timer=62,0,0, clock=0,44,4,0,1,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:30,oth:0,buf:0)
[2022-05-10 17:04:05.162][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:27538096, _buffer:28003552
[2022-05-10 17:04:05.169][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:28003552, _buffer:28304816
[2022-05-10 17:04:06.375][Trace][21694][7q4r0at6] <- GBS gb28181: client_id , peer(10.4.7.76, 15060) ps rtp packet 364B, age=22523686, vt=2/96, sts=707/1450800/0xba9f0e, paylod=352B
[2022-05-10 17:04:07.622][Warn][21694][pq09053a][62] EdgeIngester: Ignore error, code=1011 : recv message : recv interlaced message : read basic header : basic header requires 1 bytes : read bytes : timeout 5000 ms
thread [21694][pq09053a]: ingest() [src/app/srs_app_edge.cpp:566][errno=62]
thread [21694][pq09053a]: recv_message() [src/protocol/srs_rtmp_stack.cpp:372][errno=62]
thread [21694][pq09053a]: recv_interlaced_message() [src/protocol/srs_rtmp_stack.cpp:859][errno=62]
thread [21694][pq09053a]: read_basic_header() [src/protocol/srs_rtmp_stack.cpp:954][errno=62]
thread [21694][pq09053a]: grow() [src/protocol/srs_protocol_stream.cpp:162][errno=62]
thread [21694][pq09053a]: read() [src/protocol/srs_service_st.cpp:522][errno=62]
[2022-05-10 17:04:08.854][Trace][21694][3885jum7] Hybrid cpu=1.00%,15MB, cid=8,2, timer=62,0,0, clock=0,44,4,0,1,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:30,oth:0,buf:0)
[2022-05-10 17:04:10.195][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:27418032, _buffer:28000544
[2022-05-10 17:04:10.201][Trace][21694][7q4r0at6] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:28000544, _buffer:-282566640
[2022-05-10 17:04:10.630][Trace][21694][pq09053a] complex handshake success.
[2022-05-10 17:04:10.630][Trace][21694][pq09053a] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:04:10.672][Trace][21694][pq09053a] connected, version=5.0.26.0, ip=10.4.7.120, pid=31798, id=0, dsu=1
[2022-05-10 17:04:10.673][Trace][21694][pq09053a] edge-pull publish url rtmp://10.4.7.120:1935/live/livestream_{i}, stream=livestream_{i} as livestream_{i}
[2022-05-10 17:04:13.854][Trace][21694][3885jum7] Hybrid cpu=2.00%,16MB, cid=2,0, timer=61,0,0, clock=0,42,6,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-05-10 17:04:15.676][Warn][21694][pq09053a][62] EdgeIngester: Ignore error, code=1011 : recv message : recv interlaced message : read basic header : basic header requires 1 bytes : read bytes : timeout 5000 ms
thread [21694][pq09053a]: ingest() [src/app/srs_app_edge.cpp:566][errno=62]
thread [21694][pq09053a]: recv_message() [src/protocol/srs_rtmp_stack.cpp:372][errno=62]
thread [21694][pq09053a]: recv_interlaced_message() [src/protocol/srs_rtmp_stack.cpp:859][errno=62]
thread [21694][pq09053a]: read_basic_header() [src/protocol/srs_rtmp_stack.cpp:954][errno=62]
thread [21694][pq09053a]: grow() [src/protocol/srs_protocol_stream.cpp:162][errno=62]
thread [21694][pq09053a]: read() [src/protocol/srs_service_st.cpp:522][errno=62]
[2022-05-10 17:04:16.383][Trace][21694][r77519v1] gb28181: client id=34020000001320000004@34020000001320000003,  ssrc=0xba9f0e, peer(10.4.7.76, 15060), rtmp muxer is alive
[2022-05-10 17:04:18.691][Trace][21694][pq09053a] complex handshake success.
[2022-05-10 17:04:18.692][Trace][21694][pq09053a] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:04:18.695][Trace][21694][pq09053a] connected, version=5.0.26.0, ip=10.4.7.120, pid=31798, id=0, dsu=1
[2022-05-10 17:04:18.736][Trace][21694][pq09053a] edge-pull publish url rtmp://10.4.7.120:1935/live/livestream_{i}, stream=livestream_{i} as livestream_{i}
[2022-05-10 17:04:18.855][Trace][21694][3885jum7] Hybrid cpu=0.00%,16MB, cid=2,0, timer=61,0,0, clock=0,42,6,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-05-10 17:04:23.742][Warn][21694][pq09053a][62] EdgeIngester: Ignore error, code=1011 : recv message : recv interlaced message : read basic header : basic header requires 1 bytes : read bytes : timeout 5000 ms
thread [21694][pq09053a]: ingest() [src/app/srs_app_edge.cpp:566][errno=62]
thread [21694][pq09053a]: recv_message() [src/protocol/srs_rtmp_stack.cpp:372][errno=62]
thread [21694][pq09053a]: recv_interlaced_message() [src/protocol/srs_rtmp_stack.cpp:859][errno=62]
thread [21694][pq09053a]: read_basic_header() [src/protocol/srs_rtmp_stack.cpp:954][errno=62]
thread [21694][pq09053a]: grow() [src/protocol/srs_protocol_stream.cpp:162][errno=62]
thread [21694][pq09053a]: read() [src/protocol/srs_service_st.cpp:522][errno=62]
[2022-05-10 17:04:23.856][Trace][21694][3885jum7] Hybrid cpu=0.00%,16MB, cid=2,0, timer=62,0,0, clock=0,42,5,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:49,oth:0,buf:0)
[2022-05-10 17:04:26.410][Trace][21694][r77519v1] gb28181: client id=34020000001320000004@34020000001320000003,  ssrc=0xba9f0e, peer(10.4.7.76, 15060), rtmp muxer is alive
[2022-05-10 17:04:26.769][Trace][21694][pq09053a] complex handshake success.
[2022-05-10 17:04:26.769][Trace][21694][pq09053a] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:04:26.812][Trace][21694][pq09053a] connected, version=5.0.26.0, ip=10.4.7.120, pid=31798, id=0, dsu=1
[2022-05-10 17:04:26.814][Trace][21694][pq09053a] edge-pull publish url rtmp://10.4.7.120:1935/live/livestream_{i}, stream=livestream_{i} as livestream_{i}
[2022-05-10 17:04:28.857][Trace][21694][3885jum7] Hybrid cpu=0.00%,16MB, cid=2,0, timer=62,0,0, clock=0,42,5,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:49,oth:0,buf:0)
[2022-05-10 17:04:31.818][Warn][21694][pq09053a][62] EdgeIngester: Ignore error, code=1011 : recv message : recv interlaced message : read basic header : basic header requires 1 bytes : read bytes : timeout 5000 ms
thread [21694][pq09053a]: ingest() [src/app/srs_app_edge.cpp:566][errno=62]
thread [21694][pq09053a]: recv_message() [src/protocol/srs_rtmp_stack.cpp:372][errno=62]
thread [21694][pq09053a]: recv_interlaced_message() [src/protocol/srs_rtmp_stack.cpp:859][errno=62]
thread [21694][pq09053a]: read_basic_header() [src/protocol/srs_rtmp_stack.cpp:954][errno=62]
thread [21694][pq09053a]: grow() [src/protocol/srs_protocol_stream.cpp:162][errno=62]
thread [21694][pq09053a]: read() [src/protocol/srs_service_st.cpp:522][errno=62]
[2022-05-10 17:04:33.857][Trace][21694][3885jum7] Hybrid cpu=1.00%,16MB, cid=1,0, timer=61,0,0, clock=0,43,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:49,oth:0,buf:0)
[2022-05-10 17:04:34.827][Trace][21694][pq09053a] complex handshake success.
[2022-05-10 17:04:34.827][Trace][21694][pq09053a] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:04:34.872][Trace][21694][pq09053a] connected, version=5.0.26.0, ip=10.4.7.120, pid=31798, id=0, dsu=1
[2022-05-10 17:04:34.873][Trace][21694][pq09053a] edge-pull publish url rtmp://10.4.7.120:1935/live/livestream_{i}, stream=livestream_{i} as livestream_{i}
[2022-05-10 17:04:36.398][Trace][21694][r77519v1] gb28181: client id=34020000001320000004@34020000001320000003,  ssrc=0xba9f0e, peer(10.4.7.76, 15060), rtmp muxer is alive
[2022-05-10 17:04:38.858][Trace][21694][3885jum7] Hybrid cpu=1.00%,16MB, cid=1,0, timer=61,0,0, clock=0,43,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:49,oth:0,buf:0)
[2022-05-10 17:04:39.917][Warn][21694][pq09053a][62] EdgeIngester: Ignore error, code=1011 : recv message : recv interlaced message : read basic header : basic header requires 1 bytes : read bytes : timeout 5000 ms
thread [21694][pq09053a]: ingest() [src/app/srs_app_edge.cpp:566][errno=62]
thread [21694][pq09053a]: recv_message() [src/protocol/srs_rtmp_stack.cpp:372][errno=62]
thread [21694][pq09053a]: recv_interlaced_message() [src/protocol/srs_rtmp_stack.cpp:859][errno=62]
thread [21694][pq09053a]: read_basic_header() [src/protocol/srs_rtmp_stack.cpp:954][errno=62]
thread [21694][pq09053a]: grow() [src/protocol/srs_protocol_stream.cpp:162][errno=62]
thread [21694][pq09053a]: read() [src/protocol/srs_service_st.cpp:522][errno=62]
[2022-05-10 17:04:42.931][Trace][21694][pq09053a] complex handshake success.
[2022-05-10 17:04:42.931][Trace][21694][pq09053a] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:04:42.972][Trace][21694][pq09053a] connected, version=5.0.26.0, ip=10.4.7.120, pid=31798, id=0, dsu=1
[2022-05-10 17:04:42.974][Trace][21694][pq09053a] edge-pull publish url rtmp://10.4.7.120:1935/live/livestream_{i}, stream=livestream_{i} as livestream_{i}
[2022-05-10 17:04:43.858][Trace][21694][3885jum7] Hybrid cpu=1.00%,16MB, cid=1,0, timer=61,0,0, clock=0,43,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:49,oth:0,buf:0)
^C[2022-05-10 17:04:44.188][Trace][21694][g68s776t] sig=2, user terminate program, fast quit
^C^C[2022-05-10 17:04:44.890][Trace][21694][g68s776t] cleanup for quit signal fast=1, grace=0

上级

[2022-05-10 17:03:32.622][Trace][31796][z18d40as][MAIN] SRS/5.0.26(Leo), MIT
[2022-05-10 17:03:32.622][Trace][31796][z18d40as] authors: Winlin<[email protected]> ZhaoWenjie<[email protected]> ShiWei<[email protected]> XiaoZhihong<[email protected]> WuPengqiang<[email protected]> XiaLixin<[email protected]> LiPeng<[email protected]> ChenGuanghua<[email protected]> ChenHaibo<[email protected]> Johzzy<[email protected]> Zhouxiaojun2008<[email protected]> Pengfei.ma<[email protected]> ZhangJunqin<[email protected]> and https://github.com/ossrs/srs/blob/develop/trunk/AUTHORS.md#contributors
[2022-05-10 17:03:32.622][Trace][31796][z18d40as] cwd=/root/luoxingyu/videoStream/my28181/srs-gb28181-feature-gb28181/trunk, work_dir=./, build: 2022-04-14 18:40:13, configure: --x86-x64 --with-gb28181, uname: Linux localhost.localdomain 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux, osx: 0, pkg: , region: , source: 
[2022-05-10 17:03:32.622][Trace][31796][z18d40as] configure detail: --prefix=/usr/local/srs --config=conf/srs.conf --hls=on --hds=off --dvr=on --ssl=on --https=on --ssl-1-0=off --ssl-local=off --sys-ssl=off --transcode=on --ingest=on --stat=on --http-callback=on --http-server=on --stream-caster=on --http-api=on --utest=off --cherrypy=off --srt=off --rtc=on --simulator=off --gb28181=on --iconv=off --cxx11=on --cxx14=off --ffmpeg-fit=on --nasm=on --srtp-nasm=on --clean=on --gperf=off --gmc=off --gmd=off --gmp=off --gcp=off --gprof=off --static=off --shared-st=off --shared-srt=off --shared-ffmpeg=off --log-verbose=off --log-info=off --log-trace=on --gcov=off --debug=off --debug-stats=off --cross-build=off --cc=gcc --cxx=g++ --ar=ar --ld=ld --randlib=randlib
[2022-05-10 17:03:32.622][Trace][31796][z18d40as] srs checking config...
[2022-05-10 17:03:32.624][Trace][31796][z18d40as] ips, iface[0] enp0s3 ipv4 0x11043 10.4.7.120, iface[1] enp0s3 ipv6 0x11043 fe80::1714:fdb6:cd58:831f%enp0s3
[2022-05-10 17:03:32.624][Trace][31796][z18d40as] devices, intranet enp0s3 10.4.7.120, intranet enp0s3 fe80::1714:fdb6:cd58:831f%enp0s3
[2022-05-10 17:03:32.624][Warn][31796][z18d40as][22] stats network use index=0, ip=10.4.7.120, ifname=enp0s3
[2022-05-10 17:03:32.624][Warn][31796][z18d40as][22] stats disk not configed, disk iops disabled.
[2022-05-10 17:03:32.624][Trace][31796][z18d40as] you can check log by: tail -n 30 -f ./objs/srs.log
[2022-05-10 17:03:32.624][Trace][31796][z18d40as] please check SRS by: ./etc/init.d/srs status
[2022-05-10 17:03:32.624][Trace][31796][z18d40as] features, rch:on, dash:on, hls:on, hds:off, srt:off, hc:on, ha:on, hs:on, hp:on, dvr:on, trans:on, inge:on, stat:on, sc:on
[2022-05-10 17:03:32.624][Trace][31796][z18d40as] SRS on  amd64 x86_64, conf:./conf/push.gb28181.conf, limit:1000, writev:1024, encoding:little-endian, HZ:100
[2022-05-10 17:03:32.624][Trace][31796][z18d40as] mw sleep:350ms. mr enabled:on, default:0, sleep:350ms
[2022-05-10 17:03:32.624][Trace][31796][z18d40as] gc:on, pq:30000ms, cscc:[0,16), csa:on, tn:on(may hurts performance), ss:auto(guess by merged write)
[2022-05-10 17:03:32.624][Trace][31796][z18d40as] system default latency(ms): mw(0-350) + mr(0-350) + play-queue(0-30000)
[2022-05-10 17:03:32.624][Warn][31796][z18d40as][22] SRS/5.0.26 is not stable
[2022-05-10 17:03:32.624][Trace][31796][z18d40as] start daemon mode...
[2022-05-10 17:03:32.626][Trace][31797][z18d40as] father process exit
[2022-05-10 17:03:32.627][Trace][31796][z18d40as] grandpa process exit.
[2022-05-10 17:03:32.630][Trace][31798][z18d40as] son(daemon) process running.
[2022-05-10 17:03:32.639][Trace][31798][z18d40as] fingerprint=28:19:E6:C7:CE:3B:D4:04:9F:ED:C7:59:19:48:48:20:2B:4A:DA:E2:F4:C6:7D:80:26:92:07:41:A2:0A:32:AA
[2022-05-10 17:03:32.639][Trace][31798][z18d40as] CircuitBreaker: enabled=1, high=2x90, critical=1x95, dying=5x99
[2022-05-10 17:03:32.639][Trace][31798][z18d40as] http flv live stream, vhost=__defaultVhost__, mount=[vhost]/[app]/[stream].flv
[2022-05-10 17:03:32.639][Trace][31798][z18d40as] http: root mount to ./objs/nginx/html
[2022-05-10 17:03:32.639][Trace][31798][z18d40as] server main cid=z18d40as, pid=31798, ppid=1, asprocess=0
[2022-05-10 17:03:32.639][Trace][31798][z18d40as] write pid=31798 to ./objs/srs.pid success!
[2022-05-10 17:03:32.639][Trace][31798][z18d40as] RTMP listen at tcp://0.0.0.0:1935, fd=8
[2022-05-10 17:03:32.639][Trace][31798][z18d40as] HTTP-API listen at tcp://0.0.0.0:1985, fd=9
[2022-05-10 17:03:32.639][Trace][31798][z18d40as] HTTP-Server listen at tcp://0.0.0.0:8091, fd=10
[2022-05-10 17:03:32.641][Trace][31798][z18d40as] UDP #11 LISTEN at 0.0.0.0:15063, SO_SNDBUF(default=212992, expect=10485760, actual=425984, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=425984, r0=0)
[2022-05-10 17:03:32.641][Trace][31798][z18d40as] GB28181-SIP over UDP listen at udp://0.0.0.0:15063, fd=11
[2022-05-10 17:03:32.642][Trace][31798][z18d40as] signal installed, reload=1, reopen=10, fast_quit=15, grace_quit=3
[2022-05-10 17:03:32.642][Trace][31798][z18d40as] http: api mount /console to ./objs/nginx/html/console
[2022-05-10 17:03:32.642][Trace][31798][z18d40as] rtc listen at udp://0.0.0.0:8000, fd=13
[2022-05-10 17:03:32.643][Trace][31798][5r8n0l16] Hybrid cpu=0.00%,12MB
[2022-05-10 17:03:32.643][Warn][31798][8515xlnk][22] use private address as ip: 10.4.7.120, ifname=enp0s3
[2022-05-10 17:03:32.643][Trace][31798][8515xlnk] Startup query id=112ea184d04011ec8389cb87fd021f8c, eip=10.4.7.120, wait=536s
[2022-05-10 17:03:32.643][Trace][31798][78696826] GB28181: connection manager run, conns=0
[2022-05-10 17:03:32.643][Trace][31798][ov237141] GB28181TCP: connection manager run, conns=0
[2022-05-10 17:03:32.643][Trace][31798][7753q724] TCP: connection manager run, conns=0
[2022-05-10 17:03:32.643][Trace][31798][f10b375v] UDP #13 LISTEN at 0.0.0.0:8000, SO_SNDBUF(default=212992, expect=10485760, actual=425984, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=425984, r0=0)
[2022-05-10 17:03:32.643][Trace][31798][5r01zd7o] RTC: connection manager run, conns=0
[2022-05-10 17:03:37.615][Trace][31798][5r8n0l16] Hybrid cpu=2.00%,12MB
[2022-05-10 17:03:42.616][Trace][31798][5r8n0l16] Hybrid cpu=1.00%,12MB
[2022-05-10 17:03:43.964][Trace][31798][mkj40418] RTMP client ip=10.4.7.85:37602, fd=14
[2022-05-10 17:03:43.979][Trace][31798][mkj40418] complex handshake success
[2022-05-10 17:03:43.980][Trace][31798][mkj40418] connect app, tcUrl=rtmp://10.4.7.120/live, pageUrl=, swfUrl=, schema=rtmp, vhost=10.4.7.120, port=1935, app=live, args=(obj)
[2022-05-10 17:03:43.980][Trace][31798][mkj40418] edge-srs ip=10.4.7.85, version=5.0.26, pid=21694, id=0
[2022-05-10 17:03:43.980][Trace][31798][mkj40418] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:03:44.024][Trace][31798][mkj40418] client identified, type=rtmp-play, vhost=10.4.7.120, app=live, stream=livestream_{i}, param=, duration=-1ms
[2022-05-10 17:03:44.024][Trace][31798][mkj40418] connected stream, tcUrl=rtmp://10.4.7.120/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=livestream_{i}, param=, args=(obj)
[2022-05-10 17:03:44.024][Trace][31798][mkj40418] new source, stream_url=/live/livestream_{i}
[2022-05-10 17:03:44.025][Trace][31798][mkj40418] source url=/live/livestream_{i}, ip=10.4.7.85, cache=1, is_edge=0, source_id=/
[2022-05-10 17:03:44.026][Trace][31798][mkj40418] create consumer, active=0, queue_size=0.00, jitter=30000000
[2022-05-10 17:03:44.026][Trace][31798][mkj40418] set fd=14, SO_SNDBUF=332800=>175000, buffer=350ms
[2022-05-10 17:03:44.026][Trace][31798][mkj40418] start play smi=0ms, mw_sleep=350, mw_msgs=8, realtime=0, tcp_nodelay=0
[2022-05-10 17:03:47.618][Trace][31798][5r8n0l16] Hybrid cpu=1.01%,12MB, cid=1,1, timer=61,0,0, clock=1,38,9,1,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:1,oth:0,buf:0)
[2022-05-10 17:03:52.033][Trace][31798][mkj40418] TCP: before dispose resource(RtmpConn)(0x1b582b0), conns=1, zombies=0, ign=0, inz=0, ind=0
[2022-05-10 17:03:52.033][Warn][31798][mkj40418][104] client disconnect peer. ret=1007
[2022-05-10 17:03:52.033][Trace][31798][7753q724] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2022-05-10 17:03:52.033][Trace][31798][mkj40418] TCP: disposing #0 resource(RtmpConn)(0x1b582b0), conns=1, disposing=1, zombies=0
[2022-05-10 17:03:52.033][Trace][31798][1muj3w7f] RTMP client ip=10.4.7.85:37604, fd=14
[2022-05-10 17:03:52.042][Trace][31798][1muj3w7f] complex handshake success
[2022-05-10 17:03:52.042][Trace][31798][1muj3w7f] connect app, tcUrl=rtmp://10.4.7.120/live, pageUrl=, swfUrl=, schema=rtmp, vhost=10.4.7.120, port=1935, app=live, args=(obj)
[2022-05-10 17:03:52.042][Trace][31798][1muj3w7f] edge-srs ip=10.4.7.85, version=5.0.26, pid=21694, id=0
[2022-05-10 17:03:52.042][Trace][31798][1muj3w7f] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:03:52.084][Trace][31798][1muj3w7f] client identified, type=rtmp-play, vhost=10.4.7.120, app=live, stream=livestream_{i}, param=, duration=-1ms
[2022-05-10 17:03:52.085][Trace][31798][1muj3w7f] connected stream, tcUrl=rtmp://10.4.7.120/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=livestream_{i}, param=, args=(obj)
[2022-05-10 17:03:52.085][Trace][31798][1muj3w7f] source url=/live/livestream_{i}, ip=10.4.7.85, cache=1, is_edge=0, source_id=/
[2022-05-10 17:03:52.085][Trace][31798][1muj3w7f] create consumer, active=0, queue_size=0.00, jitter=30000000
[2022-05-10 17:03:52.085][Trace][31798][1muj3w7f] set fd=14, SO_SNDBUF=332800=>175000, buffer=350ms
[2022-05-10 17:03:52.085][Trace][31798][1muj3w7f] start play smi=0ms, mw_sleep=350, mw_msgs=8, realtime=0, tcp_nodelay=0
[2022-05-10 17:03:52.620][Trace][31798][5r8n0l16] Hybrid cpu=0.00%,12MB, cid=1,1, timer=61,0,0, clock=1,38,9,1,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:1,oth:0,buf:0)
[2022-05-10 17:03:57.620][Trace][31798][5r8n0l16] Hybrid cpu=1.00%,13MB, cid=3,1, timer=61,0,0, clock=0,36,10,1,1,0,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:1,oth:0,buf:0)
[2022-05-10 17:04:00.088][Trace][31798][1muj3w7f] TCP: before dispose resource(RtmpConn)(0x1b582b0), conns=1, zombies=0, ign=0, inz=0, ind=0
[2022-05-10 17:04:00.088][Warn][31798][1muj3w7f][104] client disconnect peer. ret=1007
[2022-05-10 17:04:00.088][Trace][31798][7753q724] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2022-05-10 17:04:00.088][Trace][31798][1muj3w7f] TCP: disposing #0 resource(RtmpConn)(0x1b582b0), conns=1, disposing=1, zombies=0
[2022-05-10 17:04:00.089][Trace][31798][8g1994xg] RTMP client ip=10.4.7.85:37606, fd=14
[2022-05-10 17:04:00.094][Trace][31798][8g1994xg] complex handshake success
[2022-05-10 17:04:00.094][Trace][31798][8g1994xg] connect app, tcUrl=rtmp://10.4.7.120/live, pageUrl=, swfUrl=, schema=rtmp, vhost=10.4.7.120, port=1935, app=live, args=(obj)
[2022-05-10 17:04:00.094][Trace][31798][8g1994xg] edge-srs ip=10.4.7.85, version=5.0.26, pid=21694, id=0
[2022-05-10 17:04:00.094][Trace][31798][8g1994xg] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:04:00.136][Trace][31798][8g1994xg] client identified, type=rtmp-play, vhost=10.4.7.120, app=live, stream=livestream_{i}, param=, duration=-1ms
[2022-05-10 17:04:00.136][Trace][31798][8g1994xg] connected stream, tcUrl=rtmp://10.4.7.120/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=livestream_{i}, param=, args=(obj)
[2022-05-10 17:04:00.136][Trace][31798][8g1994xg] source url=/live/livestream_{i}, ip=10.4.7.85, cache=1, is_edge=0, source_id=/
[2022-05-10 17:04:00.136][Trace][31798][8g1994xg] create consumer, active=0, queue_size=0.00, jitter=30000000
[2022-05-10 17:04:00.137][Trace][31798][8g1994xg] set fd=14, SO_SNDBUF=332800=>175000, buffer=350ms
[2022-05-10 17:04:00.137][Trace][31798][8g1994xg] start play smi=0ms, mw_sleep=350, mw_msgs=8, realtime=0, tcp_nodelay=0
[2022-05-10 17:04:00.137][Trace][31798][8g1994xg] -> PLA time=0, msgs=0, okbps=594,0,0, ikbps=480,0,0, mw=350/8
[2022-05-10 17:04:02.621][Trace][31798][5r8n0l16] Hybrid cpu=1.00%,13MB, cid=3,1, timer=61,0,0, clock=0,36,10,1,1,0,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:1,oth:0,buf:0)
[2022-05-10 17:04:07.621][Trace][31798][5r8n0l16] Hybrid cpu=0.00%,13MB, cid=3,1, timer=61,0,0, clock=0,37,9,1,1,0,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:1,oth:0,buf:0)
[2022-05-10 17:04:08.139][Trace][31798][8g1994xg] TCP: before dispose resource(RtmpConn)(0x1b582b0), conns=1, zombies=0, ign=0, inz=0, ind=0
[2022-05-10 17:04:08.139][Warn][31798][8g1994xg][104] client disconnect peer. ret=1007
[2022-05-10 17:04:08.140][Trace][31798][7753q724] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2022-05-10 17:04:08.140][Trace][31798][8g1994xg] TCP: disposing #0 resource(RtmpConn)(0x1b582b0), conns=1, disposing=1, zombies=0
[2022-05-10 17:04:08.140][Trace][31798][kdx536w2] RTMP client ip=10.4.7.85:37608, fd=14
[2022-05-10 17:04:08.146][Trace][31798][kdx536w2] complex handshake success
[2022-05-10 17:04:08.146][Trace][31798][kdx536w2] connect app, tcUrl=rtmp://10.4.7.120/live, pageUrl=, swfUrl=, schema=rtmp, vhost=10.4.7.120, port=1935, app=live, args=(obj)
[2022-05-10 17:04:08.146][Trace][31798][kdx536w2] edge-srs ip=10.4.7.85, version=5.0.26, pid=21694, id=0
[2022-05-10 17:04:08.146][Trace][31798][kdx536w2] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:04:08.189][Trace][31798][kdx536w2] client identified, type=rtmp-play, vhost=10.4.7.120, app=live, stream=livestream_{i}, param=, duration=-1ms
[2022-05-10 17:04:08.189][Trace][31798][kdx536w2] connected stream, tcUrl=rtmp://10.4.7.120/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=livestream_{i}, param=, args=(obj)
[2022-05-10 17:04:08.189][Trace][31798][kdx536w2] source url=/live/livestream_{i}, ip=10.4.7.85, cache=1, is_edge=0, source_id=/
[2022-05-10 17:04:08.190][Trace][31798][kdx536w2] create consumer, active=0, queue_size=0.00, jitter=30000000
[2022-05-10 17:04:08.190][Trace][31798][kdx536w2] set fd=14, SO_SNDBUF=332800=>175000, buffer=350ms
[2022-05-10 17:04:08.190][Trace][31798][kdx536w2] start play smi=0ms, mw_sleep=350, mw_msgs=8, realtime=0, tcp_nodelay=0
[2022-05-10 17:04:12.622][Trace][31798][5r8n0l16] Hybrid cpu=0.00%,13MB, cid=3,1, timer=61,0,0, clock=0,37,9,1,1,0,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:1,oth:0,buf:0)
[2022-05-10 17:04:16.192][Trace][31798][kdx536w2] TCP: before dispose resource(RtmpConn)(0x1b583c0), conns=1, zombies=0, ign=0, inz=0, ind=0
[2022-05-10 17:04:16.193][Warn][31798][kdx536w2][104] client disconnect peer. ret=1007
[2022-05-10 17:04:16.193][Trace][31798][7753q724] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2022-05-10 17:04:16.193][Trace][31798][kdx536w2] TCP: disposing #0 resource(RtmpConn)(0x1b583c0), conns=1, disposing=1, zombies=0
[2022-05-10 17:04:16.200][Trace][31798][5z656hh9] RTMP client ip=10.4.7.85:37610, fd=14
[2022-05-10 17:04:16.208][Trace][31798][5z656hh9] complex handshake success
[2022-05-10 17:04:16.208][Trace][31798][5z656hh9] connect app, tcUrl=rtmp://10.4.7.120/live, pageUrl=, swfUrl=, schema=rtmp, vhost=10.4.7.120, port=1935, app=live, args=(obj)
[2022-05-10 17:04:16.209][Trace][31798][5z656hh9] edge-srs ip=10.4.7.85, version=5.0.26, pid=21694, id=0
[2022-05-10 17:04:16.209][Trace][31798][5z656hh9] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:04:16.255][Trace][31798][5z656hh9] client identified, type=rtmp-play, vhost=10.4.7.120, app=live, stream=livestream_{i}, param=, duration=-1ms
[2022-05-10 17:04:16.255][Trace][31798][5z656hh9] connected stream, tcUrl=rtmp://10.4.7.120/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=livestream_{i}, param=, args=(obj)
[2022-05-10 17:04:16.255][Trace][31798][5z656hh9] source url=/live/livestream_{i}, ip=10.4.7.85, cache=1, is_edge=0, source_id=/
[2022-05-10 17:04:16.255][Trace][31798][5z656hh9] create consumer, active=0, queue_size=0.00, jitter=30000000
[2022-05-10 17:04:16.255][Trace][31798][5z656hh9] set fd=14, SO_SNDBUF=332800=>175000, buffer=350ms
[2022-05-10 17:04:16.256][Trace][31798][5z656hh9] start play smi=0ms, mw_sleep=350, mw_msgs=8, realtime=0, tcp_nodelay=0
[2022-05-10 17:04:16.256][Trace][31798][5z656hh9] -> PLA time=0, msgs=0, okbps=824,0,0, ikbps=665,0,0, mw=350/8
[2022-05-10 17:04:17.622][Trace][31798][5r8n0l16] Hybrid cpu=2.00%,13MB, cid=3,1, timer=61,0,0, clock=0,37,9,1,1,0,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:1,oth:0,buf:0)
[2022-05-10 17:04:22.623][Trace][31798][5r8n0l16] Hybrid cpu=1.00%,13MB, cid=4,1, timer=61,0,0, clock=0,35,12,1,1,0,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:1,oth:0,buf:0)
[2022-05-10 17:04:24.259][Trace][31798][5z656hh9] TCP: before dispose resource(RtmpConn)(0x1b60bf0), conns=1, zombies=0, ign=0, inz=0, ind=0
[2022-05-10 17:04:24.259][Warn][31798][5z656hh9][104] client disconnect peer. ret=1007
[2022-05-10 17:04:24.260][Trace][31798][7753q724] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2022-05-10 17:04:24.260][Trace][31798][5z656hh9] TCP: disposing #0 resource(RtmpConn)(0x1b60bf0), conns=1, disposing=1, zombies=0
[2022-05-10 17:04:24.277][Trace][31798][8zxy1p61] RTMP client ip=10.4.7.85:37612, fd=14
[2022-05-10 17:04:24.285][Trace][31798][8zxy1p61] complex handshake success
[2022-05-10 17:04:24.286][Trace][31798][8zxy1p61] connect app, tcUrl=rtmp://10.4.7.120/live, pageUrl=, swfUrl=, schema=rtmp, vhost=10.4.7.120, port=1935, app=live, args=(obj)
[2022-05-10 17:04:24.286][Trace][31798][8zxy1p61] edge-srs ip=10.4.7.85, version=5.0.26, pid=21694, id=0
[2022-05-10 17:04:24.286][Trace][31798][8zxy1p61] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:04:24.330][Trace][31798][8zxy1p61] client identified, type=rtmp-play, vhost=10.4.7.120, app=live, stream=livestream_{i}, param=, duration=-1ms
[2022-05-10 17:04:24.330][Trace][31798][8zxy1p61] connected stream, tcUrl=rtmp://10.4.7.120/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=livestream_{i}, param=, args=(obj)
[2022-05-10 17:04:24.330][Trace][31798][8zxy1p61] source url=/live/livestream_{i}, ip=10.4.7.85, cache=1, is_edge=0, source_id=/
[2022-05-10 17:04:24.332][Trace][31798][8zxy1p61] create consumer, active=0, queue_size=0.00, jitter=30000000
[2022-05-10 17:04:24.332][Trace][31798][8zxy1p61] set fd=14, SO_SNDBUF=332800=>175000, buffer=350ms
[2022-05-10 17:04:24.332][Trace][31798][8zxy1p61] start play smi=0ms, mw_sleep=350, mw_msgs=8, realtime=0, tcp_nodelay=0
[2022-05-10 17:04:27.624][Trace][31798][5r8n0l16] Hybrid cpu=0.00%,13MB, cid=4,1, timer=61,0,0, clock=0,35,12,1,1,0,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:1,oth:0,buf:0)
[2022-05-10 17:04:32.335][Trace][31798][8zxy1p61] TCP: before dispose resource(RtmpConn)(0x1b60650), conns=1, zombies=0, ign=0, inz=0, ind=0
[2022-05-10 17:04:32.335][Warn][31798][8zxy1p61][104] client disconnect peer. ret=1007
[2022-05-10 17:04:32.335][Trace][31798][7753q724] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2022-05-10 17:04:32.335][Trace][31798][8zxy1p61] TCP: disposing #0 resource(RtmpConn)(0x1b60650), conns=1, disposing=1, zombies=0
[2022-05-10 17:04:32.336][Trace][31798][gr556465] RTMP client ip=10.4.7.85:37614, fd=14
[2022-05-10 17:04:32.344][Trace][31798][gr556465] complex handshake success
[2022-05-10 17:04:32.345][Trace][31798][gr556465] connect app, tcUrl=rtmp://10.4.7.120/live, pageUrl=, swfUrl=, schema=rtmp, vhost=10.4.7.120, port=1935, app=live, args=(obj)
[2022-05-10 17:04:32.345][Trace][31798][gr556465] edge-srs ip=10.4.7.85, version=5.0.26, pid=21694, id=0
[2022-05-10 17:04:32.345][Trace][31798][gr556465] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-05-10 17:04:32.389][Trace][31798][gr556465] client identified, type=rtmp-play, vhost=10.4.7.120, app=live, stream=livestream_{i}, param=, duration=-1ms
[2022-05-10 17:04:32.389][Trace][31798][gr556465] connected stream, tcUrl=rtmp://10.4.7.120/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=livestream_{i}, param=, args=(obj)
[2022-05-10 17:04:32.389][Trace][31798][gr556465] source url=/live/livestream_{i}, ip=10.4.7.85, cache=1, is_edge=0, source_id=/
[2022-05-10 17:04:32.390][Trace][31798][gr556465] create consumer, active=0, queue_size=0.00, jitter=30000000
[2022-05-10 17:04:32.390][Trace][31798][gr556465] set fd=14, SO_SNDBUF=332800=>175000, buffer=350ms
[2022-05-10 17:04:32.390][Trace][31798][gr556465] start play smi=0ms, mw_sleep=350, mw_msgs=8, realtime=0, tcp_nodelay=0
[2022-05-10 17:04:32.391][Trace][31798][gr556465] -> PLA time=0, msgs=0, okbps=863,0,0, ikbps=697,0,0, mw=350/8
[2022-05-10 17:04:32.624][Trace][31798][5r8n0l16] Hybrid cpu=1.00%,13MB, cid=6,1, timer=61,0,0, clock=0,35,11,1,0,1,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:2,oth:0,buf:0)
[2022-05-10 17:04:37.624][Trace][31798][5r8n0l16] Hybrid cpu=1.00%,13MB, cid=6,1, timer=61,0,0, clock=0,35,11,1,0,1,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:2,oth:0,buf:0)

在上级srs看不到有rtmp流上来,用vlc等播放器去播放rtmp://10.4.7.120:1935/live/34020000001320000004@34020000002000000003 也是播放不了。

国标流推到srs使用webrtc播放问题

注意:提问前,请先看FAQ(Please read FAQ before file an issue) ossrs/srs#2716

描述(Description)

描述你遇到了什么问题(Please description your issue here)
gb28181推流webrtc无法播放,但rtmp播放没有问题

  1. SRS版本(Version): xxxxxx
    feature/gb28181 最新版本
  2. SRS的日志如下(Log):
![1642496866(1)](https://user-images.githubusercontent.com/23013326/149905681-202a8d93-ce86-4c56-b4d6-a6768bd8028e.png)


xxxxxxxxxxxx

  1. SRS的配置如下(Config):
# push gb28181 stream to SRS.

listen                  1935;
max_connections         1000;
daemon              off;
srs_log_tank        console;

http_api {
    enabled         on;
    listen          1985;
}

http_server {
    enabled         on;
    listen          8080;
}

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;

    # 转发流到rtmp服务器地址与端口
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
    # [stream] is VideoChannelCodecID(视频通道编码ID) for sip
    # 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
    # [ssrc] rtp中的ssrc
    output              rtmp://127.0.0.1:1935/live/[stream];
    
    # 接收设备端rtp流的多路复用端口
    listen              9000;
    # 多路复用端口类型,on为tcp,off为udp
    # 默认:on
    tcp_enable            on;

    # rtp接收监听端口范围,最小值
    rtp_port_min        58200;
    # rtp接收监听端口范围,最大值
    rtp_port_max        58300;

    # 是否等待关键帧之后,再转发,
    # off:不需等待,直接转发
    # on:等第一个关键帧后,再转发
    wait_keyframe       on;
    
    # rtp包空闲等待时间,如果指定时间没有收到任何包
    # rtp监听连接自动停止,发送BYE命令
    rtp_idle_timeout    30;

    # 是否转发音频流
    # 目前只支持aac格式,所以需要设备支持aac格式
    # on:转发音频
    # off:不转发音频,只有视频
    # *注意*!!!:flv 只支持11025  22050  44100 三种
    # 如果设备端没有三种中任何一个,转发时为自动选择一种格式
    # 同时也会将adts的头封装在flv aac raw数据中
    # 这样的话播放器为自动通过adts头自动选择采样频率
    # 像ffplay, vlc都可以,但是flash是没有声音,
    # 因为flash,只支持11025 22050 44100
    audio_enable        off;


    # 服务器主机号,可以域名或ip地址
    # 也就是设备端将媒体发送的地址,如果是服务器是内外网
    # 需要写外网地址,
    # 调用api创建stream session时返回ip地址也是host
    # $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
    # *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
    #host       $CANDIDATE;
    host	192.168.1.115;

    #根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
    #rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
    auto_create_channel   off;

    sip {
        # 是否启用srs内部sip信令
        # 为on信令走srs, off 只转发ps流
        enabled on;
        
        # sip监听udp端口
        listen              5060;
        
        # SIP server ID(SIP服务器ID).
        # 设备端配置编号需要与该值一致,否则无法注册
        serial              34020000002000000001;

        # SIP server domain(SIP服务器域)
        realm               3402000000;

        # 服务端发送ack后,接收回应的超时时间,单位为秒
        # 如果指定时间没有回应,认为失败
        ack_timeout         30;

        # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
        # 认为设备离线
        keepalive_timeout   120;

        # 注册之后是否自动给设备端发送invite
        # on: 是  off 不是,需要通过api控制
        auto_play           on;
        # 设备将流发送的端口,是否固定
        # on 发送流到多路复用端口 如9000
        # off 自动从rtp_mix_port - rtp_max_port 之间的值中
        # 选一个可以用的端口
        invite_port_fixed     on;

        # 向设备或下级域查询设备列表的间隔,单位(秒)
        # 默认60秒
        query_catalog_interval  60;
    }
}

rtc_server {
    enabled         on;
    
    # Listen at udp://8000
    listen          8000;
    #
    # The $CANDIDATE means fetch from env, if not configed, use * as default.
    #
    # The * means retrieving server IP automatically, from all network interfaces,
    # @see https://github.com/ossrs/srs/issues/307#issuecomment-599028124
    #candidate       $CANDIDATE;
    candidate	     192.168.1.115;
}

vhost __defaultVhost__ {
    rtc {
        enabled     on;
	rtmp_to_rtc on;
        bframe      discard;
    }

    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
}
xxxxxxxxxxxx

重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. 国标设备注册服务器自动推流
  2. ffmplay播放rtmp没有问题
  3. http://ip:8080/players/rtc_player.html 无法播放视频
  4. 1642497110(1)

期望行为(Expect)
webrtc可以正常播放国标流

描述你期望发生的事情(Please describe your expectation)

GB28181: http-callback 功能无效,无法触发回调 #1822

描述(Description)

feature/gb28181 分支编译时附带了 --with-http-callback , 当设备推流时, http_hooks 配置均没有产生回调, 上一个版本的 feature/gb28181 分支的 http_hooks 功能正常

  1. SRS版本(Version): 4.0.29 , commitId 为 0aea46a
  2. SRS的日志如下(Log):
2020-06-28 09:48:41.232][Trace][17728][0] XCORE-SRS/4.0.29(Leo)
[2020-06-28 09:48:41.233][Trace][17728][0] config parse complete
[2020-06-28 09:48:41.233][Trace][17728][0] write log to console
[2020-06-28 09:48:41.233][Trace][17728][0] SRS/4.0.29(Leo), MIT
[2020-06-28 09:48:41.233][Trace][17728][0] authors: Winlin,Wenjie,Runner365,John,B.P.Y,Lixin
[2020-06-28 09:48:41.233][Trace][17728][0] contributors: winlin<[email protected]> wenjie.zhao<[email protected]> xiangcheng.liu<[email protected]> naijia.liu<[email protected]> alcoholyi<[email protected]> byteman<[email protected]> chad.wang<[email protected]> suhetao<[email protected]> Johnny<[email protected]> karthikeyan<[email protected]> StevenLiu<[email protected]> zhengfl<[email protected]> tufang14<[email protected]> allspace<[email protected]> niesongsong<[email protected]> rudeb0t<[email protected]> CallMeNP<[email protected]> synote<[email protected]> lovecat<[email protected]> panda1986<[email protected]> YueHonghui<[email protected]> ThomasDreibholz<[email protected]> JuntaoLiu<[email protected]> RocFang<[email protected]> MakarovYaroslav<[email protected]> MirkoVelic<[email protected]> HuiZhang(huzhang2)<[email protected]> OtterWa<[email protected]> walkermi<[email protected]> haofz<[email protected]> ME_Kun_Han<[email protected]> ljx0305<[email protected]> cenxinwei<[email protected]> StarBrilliant<[email protected]> xubin<[email protected]> intliang<[email protected]> flowerwrong<[email protected]> YLX<[email protected]> J<[email protected]> Harlan<[email protected]> hankun<[email protected]> JonathanBarratt<[email protected]> KeeganH<[email protected]> StevenLiu<[email protected]> liuxc0116<[email protected]> ChengdongZhang<[email protected]> lovacat<[email protected]> qiang.li<[email protected]> HungMingWu<[email protected]> Himer<[email protected]> xialixin<[email protected]> alphonsetai<[email protected]> Michael.Ma<[email protected]> lam2003<[email protected]> runner365<[email protected]> XiaofengWang<[email protected]> XiaLixin<[email protected]> xiaozhihong<[email protected]> HuyaJohn<[email protected]> yanghuiwen<[email protected]> Bepartofyou<[email protected]> l<[email protected]> xfalcon<[email protected]> cgh<[email protected]> LiPeng<[email protected]> 
[2020-06-28 09:48:41.233][Trace][17728][0] cwd=/Users/joe/Workspace/GitHub/srs/trunk, work_dir=./, build: 2020-06-28 09:43:39, configure: --gb28181=on --http-callback=on --ssl=on --hls=on --http-api=on --stat=on --http-server=on --osx, uname: Darwin Lim-MacBook-Pro.local 19.5.0 Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64 x86_64, osx: 1
[2020-06-28 09:48:41.233][Trace][17728][0] configure detail: --prefix=/usr/local/srs --hls=on --hds=off --dvr=on --ssl=on --sys-ssl=off --transcode=on --ingest=on --stat=on --http-callback=on --http-server=on --stream-caster=on --http-api=on --utest=off --srt=off --rtc=on --simulator=off --gb28181=on --nasm=off --srtp-nasm=off --sendmmsg=off --clean=on --gperf=off --gmc=off --gmd=off --gmp=off --gcp=off --gprof=off --log-trace --cc=gcc --cxx=g++ --ar=ar --ld=ld --randlib=randlib
[2020-06-28 09:48:41.233][Trace][17728][0] srs checking config...
[2020-06-28 09:48:41.234][Trace][17728][0] ips, iface[0] en0 ipv4 0x8863 192.168.3.2, iface[1] llw0 ipv6 0x8863 fe80::ec71:acff:fef3:af39w0
[2020-06-28 09:48:41.234][Trace][17728][0] devices, intranet en0 192.168.3.2, intranet llw0 fe80::ec71:acff:fef3:af39w0
[2020-06-28 09:48:41.234][Warn][17728][0][0] stats network use index=0, ip=192.168.3.2, ifname=en0
[2020-06-28 09:48:41.234][Warn][17728][0][0] stats disk not configed, disk iops disabled.
[2020-06-28 09:48:41.234][Trace][17728][0] write log to console
[2020-06-28 09:48:41.234][Trace][17728][0] features, rch:on, dash:on, hls:on, hds:off, srt:off, hc:on, ha:on, hs:on, hp:on, dvr:on, trans:on, inge:on, stat:on, sc:on
[2020-06-28 09:48:41.234][Trace][17728][0] SRS on  amd64 x86_64, conf:conf/push.gb28181.conf, limit:1000, writev:1024, encoding:little-endian, HZ:100
[2020-06-28 09:48:41.234][Trace][17728][0] mw sleep:350ms. mr enabled:on, default:0, sleep:350ms
[2020-06-28 09:48:41.234][Trace][17728][0] gc:on, pq:30000ms, cscc:[0,16), csa:on, tn:on(may hurts performance), ss:auto(guess by merged write)
[2020-06-28 09:48:41.236][Trace][17728][0] system default latency(ms): mw(0-350) + mr(0-350) + play-queue(0-30000)
[2020-06-28 09:48:41.236][Warn][17728][0][0] SRS/4.0.29 is develop
[2020-06-28 09:48:41.236][Trace][17728][0] st_init success, use kqueue
[2020-06-28 09:48:41.236][Trace][17728][0] RTC server init ok
[2020-06-28 09:48:41.236][Trace][17728][0] http: root mount to ./objs/nginx/html
[2020-06-28 09:48:41.236][Trace][17728][828] server main cid=828, pid=17728, ppid=42622, asprocess=0
[2020-06-28 09:48:41.236][Trace][17728][828] write pid=17728 to ./objs/srs.pid success!
[2020-06-28 09:48:41.236][Trace][17728][828] RTMP listen at tcp://0.0.0.0:1935, fd=7
[2020-06-28 09:48:41.236][Trace][17728][828] HTTP-API listen at tcp://0.0.0.0:1985, fd=8
[2020-06-28 09:48:41.237][Warn][17728][828][55] set SO_SNDBUF failed, expect=10485760, r0=-1
[2020-06-28 09:48:41.237][Warn][17728][828][55] set SO_RCVBUF failed, expect=10485760, r0=-1
[2020-06-28 09:48:41.237][Trace][17728][828] UDP #9 LISTEN at 0.0.0.0:5060, SO_SNDBUF(default=9216, expect=10485760, actual=9216, r0=-1), SO_RCVBUF(default=786896, expect=10485760, actual=786896, r0=-1)
[2020-06-28 09:48:41.237][Trace][17728][828] GB28181-SIP over UDP listen at udp://0.0.0.0:5060, fd=9
[2020-06-28 09:48:41.237][Warn][17728][828][55] set SO_SNDBUF failed, expect=10485760, r0=-1
[2020-06-28 09:48:41.237][Warn][17728][828][55] set SO_RCVBUF failed, expect=10485760, r0=-1
[2020-06-28 09:48:41.237][Trace][17728][828] UDP #10 LISTEN at 0.0.0.0:9000, SO_SNDBUF(default=9216, expect=10485760, actual=9216, r0=-1), SO_RCVBUF(default=786896, expect=10485760, actual=786896, r0=-1)
[2020-06-28 09:48:41.237][Trace][17728][828] GB28181-Stream over RTP listen at udp://0.0.0.0:9000, fd=10
[2020-06-28 09:48:41.237][Trace][17728][828] signal installed, reload=1, reopen=30, fast_quit=15, grace_quit=3
[2020-06-28 09:48:41.237][Trace][17728][828] http: api mount /console to ./objs/nginx/html/console

[2020-06-28 09:48:51.030][Trace][17728][834] new source, stream_url=/live/chid677252797
[2020-06-28 09:48:51.030][Trace][17728][834] ignore disabled exec for vhost=
[2020-06-28 09:48:51.030][Trace][17728][834] gb28181: create new stream channel id:chid677252797 rtmp url=rtmp://127.0.0.1:1935/live/chid677252797
[2020-06-28 09:48:51.044][Trace][17728][837] 63B video sh,  codec(7, profile=High, level=Other, 128x1072, 0kbps, 0.0fps, 0.0s)
[2020-06-28 09:48:55.748][Trace][17728][837] gb28181: client id=chid677252797,  ssrc=0x285e0ebd, peer(192.168.3.8, 15060), rtmp muxer is alive
[2020-06-28 09:49:05.774][Trace][17728][837] gb28181: client id=chid677252797,  ssrc=0x285e0ebd, peer(192.168.3.8, 15060), rtmp muxer is alive
[2020-06-28 09:49:15.767][Trace][17728][834] <- GBS gb28181: client_id , peer(192.168.3.8, 15060) ps rtp packet 636B, age=34524909, vt=2/96, sts=9578/2228400/0x285e0ebd, paylod=624B
[2020-06-28 09:49:26.162][Trace][17728][837] gb28181: client id=chid677252797,  ssrc=0x285e0ebd, peer(192.168.3.8, 15060), rtmp muxer is alive
[2020-06-28 09:49:27.372][Warn][17728][837][101] gb28181: client id=chid677252797 ssrc=0x285e0ebd, peer(192.168.3.8, 15060), no rtp data 2 in seconds, clean it, wait other port!

[2020-06-28 09:49:46.165][Trace][17728][837] gb28181: client id=chid677252797,  ssrc=0x285e0ebd, peer(, 0), rtmp muxer is alive
[2020-06-28 09:49:55.371][Trace][17728][837] gb28181: client id=chid677252797, stream idle timeout, stop!!!
[2020-06-28 09:49:55.371][Trace][17728][837] gb28181: client id=chid677252797 rtmp muxer is remove
[2020-06-28 09:49:55.371][Trace][17728][837] client finished.
  1. SRS的配置如下(Config):
# push gb28181 stream to SRS.

listen                  1935;
max_connections         1000;
daemon                  off;
srs_log_tank            console;

http_api {
    enabled         on;
    listen          1985;
}

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;

    # 转发流到rtmp服务器地址与端口
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
    # [stream] is VideoChannelCodecID(视频通道编码ID) for sip
    # 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
    # [ssrc] rtp中的ssrc
    output              rtmp://127.0.0.1:1935/live/[stream];

    # 接收设备端rtp流的多路复用端口
    listen              9000;

    # rtp接收监听端口范围,最小值
    rtp_port_min        58200;
    # rtp接收监听端口范围,最大值
    rtp_port_max        58300;

    # 是否等待关键帧之后,再转发,
    # off:不需等待,直接转发
    # on:等第一个关键帧后,再转发
    wait_keyframe       on;

    # rtp包空闲等待时间,如果指定时间没有收到任何包
    # rtp监听连接自动停止,发送BYE命令
    rtp_idle_timeout    30;

    # 是否转发音频流
    # 目前只支持aac格式,所以需要设备支持aac格式
    # on:转发音频
    # off:不转发音频,只有视频
    # *注意*!!!:flv 只支持11025  22050  44100 三种
    # 如果设备端没有三种中任何一个,转发时为自动选择一种格式
    # 同时也会将adts的头封装在flv aac raw数据中
    # 这样的话播放器为自动通过adts头自动选择采样频率
    # 像ffplay, vlc都可以,但是flash是没有声音,
    # 因为flash,只支持11025 22050 44100
    audio_enable        off;

    # 是否开启rtp缓冲
    # 开启之后能有效解决rtp乱序等问题
    jitterbuffer_enable  on;

    # 服务器主机号,可以域名或ip地址
    # 也就是设备端将媒体发送的地址,如果是服务器是内外网
    # 需要写外网地址,
    # 调用api创建stream session时返回ip地址也是host
    # $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
    # *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
    host       $CANDIDATE;

    #根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
    #rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
    auto_create_channel   on;

    sip {
        # 是否启用srs内部sip信令
        # 为on信令走srs, off 只转发ps流
        enabled on;

        # sip监听udp端口
        listen              5060;

        # SIP server ID(SIP服务器ID).
        # 设备端配置编号需要与该值一致,否则无法注册
        serial              34020000002000000001;

        # SIP server domain(SIP服务器域)
        realm               3402000000;

        # 服务端发送ack后,接收回应的超时时间,单位为秒
        # 如果指定时间没有回应,认为失败
        ack_timeout         30;

        # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
        # 认为设备离线
        keepalive_timeout   120;

        # 注册之后是否自动给设备端发送invite
        # on: 是  off 不是,需要通过api控制
        auto_play           on;
        # 设备将流发送的端口,是否固定
        # on 发送流到多路复用端口 如9000
        # off 自动从rtp_mix_port - rtp_max_port 之间的值中
        # 选一个可以用的端口
        invite_port_fixed     on;

        # 向设备或下级域查询设备列表的间隔,单位(秒)
        # 默认60秒
        query_catalog_interval  60;
    }
}
vhost __defaultVhost__ {
 http_hooks {
            enabled         on;
            on_publish      http://192.168.3.2:3000/v1/webhooks/streams;
            on_unpublish    http://192.168.3.2:3000/v1/webhooks/streams;
        }
}

重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. 编译时附带 --with-http-callback, 配置为自动创建 channel, 启动自己的hooks API
  2. 设备开始推流
  3. 观察是否有回调的日志

期望行为(Expect)

http_hooks 功能正常

srs-gb28181能支持下获取摄像头所有预置点吗?

需要得到摄像头所有预置点,我自己尝试着添加了添加预置点、删除预置点、调用预置点,但是对于查询预置点不知道怎么接收返回的数据,大神能对这个做下支持吗?指令XML是:

PresetQuery 11 34020000001310000053

gb28181 在设备推流或停止推流时,onpublish 和onunpublish回调没有触发 #2118

描述(Description)

描述你遇到了什么问题(Please description your issue here)

  1. SRS版本(Version): develop
  2. SRS的日志如下(Log):
[2020-12-28 08:29:27.235][Trace][1][0d01g535] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2020-12-28 08:29:27.235][Trace][1][55dn58p0] TCP: disposing #0 resource(HttpConn)(0x556bd4fa6860), conns=1, disposing=1, zombies=0
[2020-12-28 08:29:27.319][Trace][1][518w4956] RTMP client ip=192.168.0.93:55682, fd=12
[2020-12-28 08:29:27.336][Trace][1][518w4956] complex handshake success
[2020-12-28 08:29:27.336][Trace][1][518w4956] connect app, tcUrl=rtmp://192.168.0.79:1935/live/, pageUrl=http://192.168.0.79/hhgb/#/channel?deviceId=34020000001320000013, swfUrl=http://192.168.0.79/hhgb/liveplayer.swf,                                                                     schema=rtmp, vhost=192.168.0.79, port=1935, app=live, args=null
[2020-12-28 08:29:27.336][Trace][1][518w4956] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2020-12-28 08:29:27.448][Trace][1][518w4956] client identified, type=Play, vhost=192.168.0.79, app=live, stream=34020000001320000013@34020000001320000014, param=, duration=-1ms
[2020-12-28 08:29:27.454][Trace][1][518w4956] http: on_connect ok, client_id=518w4956, url=http://192.168.0.79:1999/gb28181/srs/onpublish, request={"action":"on_connect","client_id":"518w4956","ip":"192.168.0.93","vhos                                                                    t":"__defaultVhost__","app":"live","tcUrl":"rtmp://192.168.0.79:1935/live/","pageUrl":"http://192.168.0.79/hhgb/#/channel?deviceId=34020000001320000013"}, response={"code":0}
[2020-12-28 08:29:27.454][Trace][1][518w4956] connected stream, tcUrl=rtmp://192.168.0.79:1935/live/, pageUrl=http://192.168.0.79/hhgb/#/channel?deviceId=34020000001320000013, swfUrl=http://192.168.0.79/hhgb/liveplayer                                                                    .swf, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=34020000001320000013@34020000001320000014, param=, args=null
[2020-12-28 08:29:27.454][Trace][1][518w4956] source url=/live/34020000001320000013@34020000001320000014, ip=192.168.0.93, cache=1, is_edge=0, source_id=k8975rl6/k8975rl6
[2020-12-28 08:29:27.456][Trace][1][518w4956] http: on_play ok, client_id=518w4956, url=http://192.168.0.79:1999/gb28181/srs/onpublish, request={"action":"on_play","client_id":"518w4956","ip":"192.168.0.93","vhost":"__                                                                    defaultVhost__","app":"live","stream":"34020000001320000013@34020000001320000014","param":"","pageUrl":"http://192.168.0.79/hhgb/#/channel?deviceId=34020000001320000013"}, response={"code":0}
[2020-12-28 08:29:27.456][Trace][1][518w4956] dispatch cached gop success. count=19, duration=720
[2020-12-28 08:29:27.456][Trace][1][518w4956] create consumer, active=1, queue_size=0.00, jitter=30000000
[2020-12-28 08:29:27.456][Trace][1][518w4956] set fd=12, SO_SNDBUF=87040=>175000, buffer=350ms
[2020-12-28 08:29:27.456][Trace][1][518w4956] start play smi=0ms, mw_sleep=350, mw_msgs=8, realtime=0, tcp_nodelay=0
[2020-12-28 08:29:29.242][Warn][1][2d9z99o7][2] gb28181: client id=34020000001320000013@34020000001320000014 ssrc=0x996104, peer(192.168.0.23, 15060), no rtp data 2 in seconds, clean it, wait other port!
[2020-12-28 08:29:30.237][Trace][1][2d9z99o7] gb28181: client id=34020000001320000013@34020000001320000014, stream idle timeout, stop!!!
[2020-12-28 08:29:30.237][Trace][1][2d9z99o7] gb28181: client id=34020000001320000013@34020000001320000014 rtmp muxer is remove
[2020-12-28 08:29:30.237][Trace][1][2d9z99o7] client finished.
[2020-12-28 08:29:30.237][Trace][1][122ycba5] cleanup when unpublish
[2020-12-28 08:29:31.892][Trace][1][518w4956] http: on_stop ok, client_id=518w4956, url=http://192.168.0.79:1999/gb28181/srs/onpublish, request={"action":"on_stop","client_id":"518w4956","ip":"192.168.0.93","vhost":"__                                                                    defaultVhost__","app":"live","stream":"34020000001320000013@34020000001320000014","param":""}, response={"code":0}
[2020-12-28 08:29:31.894][Trace][1][518w4956] http: on_close ok, client_id=518w4956, url=http://192.168.0.79:1999/gb28181/srs/onpublish, request={"action":"on_close","client_id":"518w4956","ip":"192.168.0.93","vhost":"                                                                    __defaultVhost__","app":"live","send_bytes":205799,"recv_bytes":3674}, response={"code":0}
[2020-12-28 08:29:31.894][Trace][1][518w4956] TCP: before dispose resource(RtmpConn)(0x556bd510f350), conns=1, zombies=0, ign=0, inz=0, ind=0
[2020-12-28 08:29:31.894][Warn][1][518w4956][2] client disconnect peer. ret=1007
[2020-12-28 08:29:31.894][Trace][1][0d01g535] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2020-12-28 08:29:31.894][Trace][1][518w4956] TCP: disposing #0 resource(RtmpConn)(0x556bd510f350), conns=1, disposing=1, zombies=0

  1. SRS的配置如下(Config):
# push gb28181 stream to SRS.

listen                  1935;
max_connections         1000;

http_api {
    enabled         on;
    listen          1985;
    crossdomain     on;
    raw_api {
        enabled             on;
        allow_reload        on;
        allow_query         on;
        allow_update        on;
    }
}

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;

    # 转发流到rtmp服务器地址与端口
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
    # [stream] is VideoChannelCodecID(视频通道编码ID) for sip
    # 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
    # [ssrc] rtp中的ssrc
    output              rtmp://127.0.0.1:1935/live/[stream];

    # 接收设备端rtp流的多路复用端口
    listen              9000;
    # 多路复用端口类型,on为tcp,off为udp
    # 默认:off
    tcp_enable            off;

    # rtp接收监听端口范围,最小值
    rtp_port_min        58200;
    # rtp接收监听端口范围,最大值
    rtp_port_max        58300;

    # 是否等待关键帧之后,再转发,
    # off:不需等待,直接转发
    # on:等第一个关键帧后,再转发
    wait_keyframe       on;

    # rtp包空闲等待时间,如果指定时间没有收到任何包
    # rtp监听连接自动停止,发送BYE命令
    rtp_idle_timeout    3;

    # 是否转发音频流
    # 目前只支持aac格式,所以需要设备支持aac格式
    # on:转发音频
    # off:不转发音频,只有视频
    # *注意*!!!:flv 只支持11025  22050  44100 三种
    # 如果设备端没有三种中任何一个,转发时为自动选择一种格式
    # 同时也会将adts的头封装在flv aac raw数据中
    # 这样的话播放器为自动通过adts头自动选择采样频率
    # 像ffplay, vlc都可以,但是flash是没有声音,
    # 因为flash,只支持11025 22050 44100
    audio_enable        off;

    # 是否开启rtp缓冲
    # 开启之后能有效解决rtp乱序等问题
    jitterbuffer_enable  on;

    # 服务器主机号,可以域名或ip地址
    # 也就是设备端将媒体发送的地址,如果是服务器是内外网
    # 需要写外网地址,
    # 调用api创建stream session时返回ip地址也是host
    # $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
    # *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
    host      $CANDIDATE;

    #根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
    #rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
    auto_create_channel   off;

    sip {
        # 是否启用srs内部sip信令
        # 为on信令走srs, off 只转发ps流
        enabled off;

        # sip监听udp端口
        listen              5060;

        # SIP server ID(SIP服务器ID).
        # 设备端配置编号需要与该值一致,否则无法注册
        serial              34020000002000000001;

        # SIP server domain(SIP服务器域)
        realm               3402000000;

        # 服务端发送ack后,接收回应的超时时间,单位为秒
        # 如果指定时间没有回应,认为失败
        ack_timeout         30;

        # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
        # 认为设备离线
        keepalive_timeout   120;

        # 注册之后是否自动给设备端发送invite
        # on: 是  off 不是,需要通过api控制
        auto_play           off;
        # 设备将流发送的端口,是否固定
        # on 发送流到多路复用端口 如9000
        # off 自动从rtp_mix_port - rtp_max_port 之间的值中
        # 选一个可以用的端口
        invite_port_fixed     on;

        # 向设备或下级域查询设备列表的间隔,单位(秒)
        # 默认60秒
        query_catalog_interval  60;
    }
}

http_server {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}

vhost __defaultVhost__ {
     http_hooks {
        enabled         on;
        on_connect    http://192.168.0.79:1999/gb28181/srs/onpublish;
        on_close      http://192.168.0.79:1999/gb28181/srs/onpublish;
        on_publish    http://192.168.0.79:1999/gb28181/srs/onpublish;
        on_unpublish  http://192.168.0.79:1999/gb28181/srs/onpublish;
        on_play       http://192.168.0.79:1999/gb28181/srs/onpublish;
        on_stop       http://192.168.0.79:1999/gb28181/srs/onpublish;
        on_dvr        http://192.168.0.79:1999/gb28181/srs/onpublish;
        on_hls        http://192.168.0.79:1999/gb28181/srs/onpublish;
        on_hls_notify http://192.168.0.79:1999/gb28181/srs/onpublish;
    }

    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
}

重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. ./configure --with-gb28181 && make clean && make
  2. gb28181设备推流

期望行为(Expect)

能正常触发回调

GB28181: webrtc第二次拉流响应很慢 #2661

注意:不提供以下信息的Issue会被直接删除(Please follow issue template, or we will delete it)

注意:咨询和讨论请提交到SRS星球(Please ask question at) http://bbs.ossrs.net

描述(Description)

GB28181推流,IPC设备第一次注册后推流时通过webrtc拉流,播放器很快可以播放视频,会话断开(BYE)后再次发起会话(INVITE)时webrtc拉流要等10几秒视频才开始播放。

  1. SRS版本(Version): 5.0.12(feature/gb28181分支)
  2. SRS的日志如下(Log):
[2021-10-11 12:04:24.318][Trace][43692][0273vhqr] XCORE-SRS/5.0.12(Leo)
[2021-10-11 12:04:24.319][Trace][43692][0273vhqr] config parse complete
[2021-10-11 12:04:24.319][Trace][43692][0273vhqr] write log to console
[2021-10-11 12:04:24.319][Trace][43692][0273vhqr][MAIN] SRS/5.0.12(Leo), MIT
[2021-10-11 12:04:24.319][Trace][43692][0273vhqr] authors: winlinvip<[email protected]> wenjiegit<[email protected]> xialixin<[email protected]> runner365<[email protected]> xiaozhihong<[email protected]> Bepartofyou<[email protected]> chen-guanghua<[email protected]> lipeng19811218<[email protected]> and https://github.com/ossrs/srs/blob/develop/trunk/AUTHORS.md#contributors
[2021-10-11 12:04:24.319][Trace][43692][0273vhqr] cwd=/data/software/srs-gb28181, work_dir=./, build: 2021-10-11 12:03:05, configure: --x86-x64 --with-gb28181, uname: Linux bogon 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux, osx: 0
[2021-10-11 12:04:24.319][Trace][43692][0273vhqr] configure detail: --prefix=/usr/local/srs --hls=on --hds=off --dvr=on --ssl=on --https=on --ssl-1-0=off --ssl-local=off --sys-ssl=off --transcode=on --ingest=on --stat=on --http-callback=on --http-server=on --stream-caster=on --http-api=on --utest=off --cherrypy=off --srt=off --rtc=on --simulator=off --gb28181=on --iconv=off --cxx11=on --cxx14=off --ffmpeg-fit=on --nasm=on --srtp-nasm=on --clean=on --gperf=off --gmc=off --gmd=off --gmp=off --gcp=off --gprof=off --static=off --shared-st=off --shared-srt=off --shared-ffmpeg=off --log-verbose=off --log-info=off --log-trace=on --gcov=off --debug=off --debug-stats=off --cross-build=off --cc=gcc --cxx=g++ --ar=ar --ld=ld --randlib=randlib
[2021-10-11 12:04:24.319][Trace][43692][0273vhqr] srs checking config...
[2021-10-11 12:04:24.320][Trace][43692][0273vhqr] ips, iface[0] em1 ipv4 0x11043 192.168.216.39, iface[1] em1 ipv6 0x11043 fe80::d577:bb63:62de:ac2c%em1
[2021-10-11 12:04:24.320][Trace][43692][0273vhqr] devices, intranet em1 192.168.216.39, intranet em1 fe80::d577:bb63:62de:ac2c%em1
[2021-10-11 12:04:24.320][Warn][43692][0273vhqr][22] stats network use index=0, ip=192.168.216.39, ifname=em1
[2021-10-11 12:04:24.320][Warn][43692][0273vhqr][22] stats disk not configed, disk iops disabled.
[2021-10-11 12:04:24.320][Trace][43692][0273vhqr] write log to console
[2021-10-11 12:04:24.320][Trace][43692][0273vhqr] features, rch:on, dash:on, hls:on, hds:off, srt:off, hc:on, ha:on, hs:on, hp:on, dvr:on, trans:on, inge:on, stat:on, sc:on
[2021-10-11 12:04:24.321][Trace][43692][0273vhqr] SRS on  amd64 x86_64, conf:conf/push.gb28181.conf, limit:1000, writev:1024, encoding:little-endian, HZ:100
[2021-10-11 12:04:24.321][Trace][43692][0273vhqr] mw sleep:350ms. mr enabled:on, default:0, sleep:350ms
[2021-10-11 12:04:24.321][Trace][43692][0273vhqr] gc:on, pq:30000ms, cscc:[0,16), csa:on, tn:on(may hurts performance), ss:auto(guess by merged write)
[2021-10-11 12:04:24.321][Trace][43692][0273vhqr] system default latency(ms): mw(0-350) + mr(0-350) + play-queue(0-30000)
[2021-10-11 12:04:24.321][Warn][43692][0273vhqr][22] SRS/5.0.12 is not stable
[2021-10-11 12:04:24.330][Trace][43692][0273vhqr] fingerprint=66:CA:06:53:3A:F9:B6:AB:3C:5A:7A:72:79:F2:78:B8:9D:4B:53:27:90:F8:11:57:98:24:B5:66:80:38:A8:B2
[2021-10-11 12:04:24.330][Trace][43692][0273vhqr] CircuitBreaker: enabled=1, high=2x90, critical=1x95, dying=5x99
[2021-10-11 12:04:24.330][Trace][43692][0273vhqr] http flv live stream, vhost=__defaultVhost__, mount=[vhost]/[app]/[stream].flv
[2021-10-11 12:04:24.330][Trace][43692][0273vhqr] http: root mount to ./objs/nginx/html
[2021-10-11 12:04:24.330][Trace][43692][0273vhqr] server main cid=0273vhqr, pid=43692, ppid=33703, asprocess=0
[2021-10-11 12:04:24.330][Trace][43692][0273vhqr] write pid=43692 to ./objs/srs.pid success!
[2021-10-11 12:04:24.330][Trace][43692][0273vhqr] RTMP listen at tcp://0.0.0.0:1935, fd=7
[2021-10-11 12:04:24.330][Trace][43692][0273vhqr] HTTP-API listen at tcp://0.0.0.0:1985, fd=8
[2021-10-11 12:04:24.331][Trace][43692][0273vhqr] HTTP-Server listen at tcp://0.0.0.0:8098, fd=9
[2021-10-11 12:04:24.334][Trace][43692][0273vhqr] UDP #10 LISTEN at 0.0.0.0:5060, SO_SNDBUF(default=212992, expect=10485760, actual=425984, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=425984, r0=0)
[2021-10-11 12:04:24.334][Trace][43692][0273vhqr] GB28181-SIP over UDP listen at udp://0.0.0.0:5060, fd=10
[2021-10-11 12:04:24.334][Trace][43692][0273vhqr] UDP #11 LISTEN at 0.0.0.0:9000, SO_SNDBUF(default=212992, expect=10485760, actual=425984, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=425984, r0=0)
[2021-10-11 12:04:24.334][Trace][43692][0273vhqr] GB28181-Stream over RTP listen at udp://0.0.0.0:9000, fd=11
[2021-10-11 12:04:24.334][Trace][43692][0273vhqr] signal installed, reload=1, reopen=10, fast_quit=15, grace_quit=3
[2021-10-11 12:04:24.334][Trace][43692][0273vhqr] http: api mount /console to ./objs/nginx/html/console
[2021-10-11 12:04:24.334][Trace][43692][0273vhqr] rtc listen at udp://0.0.0.0:8000, fd=12
[2021-10-11 12:04:24.335][Trace][43692][l851496b] Hybrid cpu=0.00%,11MB
[2021-10-11 12:04:24.335][Warn][43692][4h7g06l2][22] use private address as ip: 192.168.216.39, ifname=em1
[2021-10-11 12:04:24.335][Trace][43692][4h7g06l2] Startup query id=51fec9122a4811ecb90e531adbb70f73, eip=192.168.216.39, wait=414s
[2021-10-11 12:04:24.335][Trace][43692][68cj6385] GB28181: connection manager run, conns=0
[2021-10-11 12:04:24.335][Trace][43692][cz152r64] TCP: connection manager run, conns=0
[2021-10-11 12:04:24.336][Trace][43692][52o80730] UDP #12 LISTEN at 0.0.0.0:8000, SO_SNDBUF(default=212992, expect=10485760, actual=425984, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=425984, r0=0)
[2021-10-11 12:04:24.336][Trace][43692][2624sp58] RTC: connection manager run, conns=0
[2021-10-11 12:04:27.472][Trace][43692][0273vhqr] gb28181: request client id=34020000001320000005 peer(192.168.99.70, 5060)
[2021-10-11 12:04:27.472][Trace][43692][0273vhqr] gb28181: request method=REGISTER, uri=sip:34020000002000000001@3402000000, version=SIP/2.0 expires=3600
[2021-10-11 12:04:29.316][Trace][43692][l851496b] Hybrid cpu=0.00%,11MB
[2021-10-11 12:04:29.473][Trace][43692][f371g7r5] gb28181: sip session=34020000001320000005 peer(192.168.99.70, 5060) status(RegisterOk,AliveOk) duration(1,0)
[2021-10-11 12:04:34.317][Trace][43692][l851496b] Hybrid cpu=0.00%,11MB
[2021-10-11 12:04:37.661][Trace][43692][1903j687] HTTP #0 192.168.216.149:55367 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:04:37.661][Trace][43692][1903j687] gb28181: generate ssrc id=34020000001320000005@34020000001320000005, ssrc=41238533
[2021-10-11 12:04:37.661][Trace][43692][1903j687] new source, stream_url=/live/34020000001320000005@34020000001320000005
[2021-10-11 12:04:37.661][Trace][43692][1903j687] new source, stream_url=/live/34020000001320000005@34020000001320000005
[2021-10-11 12:04:37.666][Trace][43692][1903j687] RTC bridge from RTMP, discard_aac=0, discard_bframe=1, merge_nalus=0
[2021-10-11 12:04:37.666][Trace][43692][1903j687] ignore disabled exec for vhost=
[2021-10-11 12:04:37.666][Trace][43692][1903j687] gb28181: create new stream channel id:34020000001320000005@34020000001320000005 rtmp url=rtmp://127.0.0.1:1935/live/34020000001320000005@34020000001320000005
[2021-10-11 12:04:37.666][Warn][43692][1903j687][22] Server GB28181 err code=6012 : notify sip invite : sip device channel offline
thread [43692][1903j687]: do_serve_http() [src/app/srs_app_http_api.cpp:1389][errno=22]
thread [43692][1903j687]: send_invite() [src/app/srs_app_gb28181_sip.cpp:748][errno=22]
[2021-10-11 12:04:37.873][Trace][43692][1903j687] HTTP #1 192.168.216.149:55367 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:04:39.317][Trace][43692][l851496b] Hybrid cpu=1.00%,12MB, cid=2,1, timer=62,0,0, clock=0,49,1,1,0,0,0,0,0
[2021-10-11 12:04:40.028][Trace][43692][1903j687] HTTP #2 192.168.216.149:55367 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:04:40.028][Warn][43692][1903j687][11] Server GB28181 err code=6012 : notify sip invite : sip device channel offline
thread [43692][1903j687]: do_serve_http() [src/app/srs_app_http_api.cpp:1389][errno=11]
thread [43692][1903j687]: send_invite() [src/app/srs_app_gb28181_sip.cpp:748][errno=11]
[2021-10-11 12:04:40.233][Trace][43692][1903j687] HTTP #3 192.168.216.149:55367 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:04:40.982][Trace][43692][1903j687] HTTP #4 192.168.216.149:55367 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:04:40.982][Warn][43692][1903j687][11] Server GB28181 err code=6012 : notify sip invite : sip device channel offline
thread [43692][1903j687]: do_serve_http() [src/app/srs_app_http_api.cpp:1389][errno=11]
thread [43692][1903j687]: send_invite() [src/app/srs_app_gb28181_sip.cpp:748][errno=11]
[2021-10-11 12:04:41.195][Trace][43692][1903j687] HTTP #5 192.168.216.149:55367 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:04:41.894][Trace][43692][1903j687] HTTP #6 192.168.216.149:55367 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:04:41.894][Warn][43692][1903j687][11] Server GB28181 err code=6012 : notify sip invite : sip device channel offline
thread [43692][1903j687]: do_serve_http() [src/app/srs_app_http_api.cpp:1389][errno=11]
thread [43692][1903j687]: send_invite() [src/app/srs_app_gb28181_sip.cpp:748][errno=11]
[2021-10-11 12:04:42.099][Trace][43692][1903j687] HTTP #7 192.168.216.149:55367 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:04:42.835][Trace][43692][1903j687] HTTP #8 192.168.216.149:55367 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:04:42.835][Warn][43692][1903j687][11] Server GB28181 err code=6012 : notify sip invite : sip device channel offline
thread [43692][1903j687]: do_serve_http() [src/app/srs_app_http_api.cpp:1389][errno=11]
thread [43692][1903j687]: send_invite() [src/app/srs_app_gb28181_sip.cpp:748][errno=11]
[2021-10-11 12:04:43.039][Trace][43692][1903j687] HTTP #9 192.168.216.149:55367 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:04:43.685][Trace][43692][1903j687] HTTP #10 192.168.216.149:55367 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:04:43.685][Warn][43692][1903j687][11] Server GB28181 err code=6012 : notify sip invite : sip device channel offline
thread [43692][1903j687]: do_serve_http() [src/app/srs_app_http_api.cpp:1389][errno=11]
thread [43692][1903j687]: send_invite() [src/app/srs_app_gb28181_sip.cpp:748][errno=11]
[2021-10-11 12:04:43.900][Trace][43692][1903j687] HTTP #11 192.168.216.149:55367 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:04:44.317][Trace][43692][l851496b] Hybrid cpu=1.00%,12MB, cid=2,1, timer=62,0,0, clock=0,49,1,1,0,0,0,0,0
[2021-10-11 12:04:44.389][Trace][43692][1903j687] HTTP #12 192.168.216.149:55367 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:04:44.389][Warn][43692][1903j687][11] Server GB28181 err code=6012 : notify sip invite : sip device channel offline
thread [43692][1903j687]: do_serve_http() [src/app/srs_app_http_api.cpp:1389][errno=11]
thread [43692][1903j687]: send_invite() [src/app/srs_app_gb28181_sip.cpp:748][errno=11]
[2021-10-11 12:04:44.594][Trace][43692][1903j687] HTTP #13 192.168.216.149:55367 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:04:45.092][Trace][43692][1903j687] HTTP #14 192.168.216.149:55367 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:04:45.092][Warn][43692][1903j687][11] Server GB28181 err code=6012 : notify sip invite : sip device channel offline
thread [43692][1903j687]: do_serve_http() [src/app/srs_app_http_api.cpp:1389][errno=11]
thread [43692][1903j687]: send_invite() [src/app/srs_app_gb28181_sip.cpp:748][errno=11]
[2021-10-11 12:04:45.296][Trace][43692][1903j687] HTTP #15 192.168.216.149:55367 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:04:45.685][Trace][43692][1903j687] HTTP #16 192.168.216.149:55367 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:04:45.685][Warn][43692][1903j687][11] Server GB28181 err code=6012 : notify sip invite : sip device channel offline
thread [43692][1903j687]: do_serve_http() [src/app/srs_app_http_api.cpp:1389][errno=11]
thread [43692][1903j687]: send_invite() [src/app/srs_app_gb28181_sip.cpp:748][errno=11]
[2021-10-11 12:04:45.893][Trace][43692][1903j687] HTTP #17 192.168.216.149:55367 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:04:46.358][Trace][43692][1903j687] HTTP #18 192.168.216.149:55367 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:04:46.358][Warn][43692][1903j687][11] Server GB28181 err code=6012 : notify sip invite : sip device channel offline
thread [43692][1903j687]: do_serve_http() [src/app/srs_app_http_api.cpp:1389][errno=11]
thread [43692][1903j687]: send_invite() [src/app/srs_app_gb28181_sip.cpp:748][errno=11]
[2021-10-11 12:04:46.571][Trace][43692][1903j687] HTTP #19 192.168.216.149:55367 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:04:46.979][Trace][43692][1903j687] HTTP #20 192.168.216.149:55367 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:04:46.979][Warn][43692][1903j687][11] Server GB28181 err code=6012 : notify sip invite : sip device channel offline
thread [43692][1903j687]: do_serve_http() [src/app/srs_app_http_api.cpp:1389][errno=11]
thread [43692][1903j687]: send_invite() [src/app/srs_app_gb28181_sip.cpp:748][errno=11]
[2021-10-11 12:04:47.181][Trace][43692][1903j687] HTTP #21 192.168.216.149:55367 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:04:47.623][Trace][43692][1903j687] HTTP #22 192.168.216.149:55367 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:04:47.623][Warn][43692][1903j687][11] Server GB28181 err code=6012 : notify sip invite : sip device channel offline
thread [43692][1903j687]: do_serve_http() [src/app/srs_app_http_api.cpp:1389][errno=11]
thread [43692][1903j687]: send_invite() [src/app/srs_app_gb28181_sip.cpp:748][errno=11]
[2021-10-11 12:04:47.663][Trace][43692][c4307281] gb28181: client id=34020000001320000005@34020000001320000005,  ssrc=0x2754005, peer(, 0), rtmp muxer is alive
[2021-10-11 12:04:47.832][Trace][43692][1903j687] HTTP #23 192.168.216.149:55367 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:04:49.318][Trace][43692][l851496b] Hybrid cpu=0.00%,12MB, cid=5,0, timer=62,0,0, clock=0,48,1,0,0,0,0,0,0
[2021-10-11 12:04:52.011][Trace][43692][1903j687] HTTP #24 192.168.216.149:55367 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:04:52.011][Warn][43692][1903j687][11] Server GB28181 err code=6012 : notify sip invite : sip device channel offline
thread [43692][1903j687]: do_serve_http() [src/app/srs_app_http_api.cpp:1389][errno=11]
thread [43692][1903j687]: send_invite() [src/app/srs_app_gb28181_sip.cpp:748][errno=11]
[2021-10-11 12:04:52.227][Trace][43692][1903j687] HTTP #25 192.168.216.149:55367 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:04:52.656][Trace][43692][9d1j6v28] TCP: before dispose resource(HttpConn)(0x170e160), conns=2, zombies=0, ign=0, inz=0, ind=0
[2021-10-11 12:04:52.656][Trace][43692][9d1j6v28] client finished.
[2021-10-11 12:04:52.656][Trace][43692][cz152r64] TCP: clear zombies=1 resources, conns=2, removing=0, unsubs=0
[2021-10-11 12:04:52.656][Trace][43692][9d1j6v28] TCP: disposing #0 resource(HttpConn)(0x170e160), conns=2, disposing=1, zombies=0
[2021-10-11 12:04:54.318][Trace][43692][l851496b] Hybrid cpu=1.00%,12MB, cid=5,0, timer=62,0,0, clock=0,48,1,0,0,0,0,0,0
[2021-10-11 12:04:56.195][Trace][43692][1903j687] HTTP #26 192.168.216.149:55367 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:04:56.195][Warn][43692][1903j687][11] Server GB28181 err code=6012 : notify sip invite : sip device channel offline
thread [43692][1903j687]: do_serve_http() [src/app/srs_app_http_api.cpp:1389][errno=11]
thread [43692][1903j687]: send_invite() [src/app/srs_app_gb28181_sip.cpp:748][errno=11]
[2021-10-11 12:04:56.398][Trace][43692][1903j687] HTTP #27 192.168.216.149:55367 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:04:59.319][Trace][43692][l851496b] Hybrid cpu=0.00%,12MB, cid=2,1, timer=62,0,0, clock=0,48,1,0,0,0,0,0,0, free=1
[2021-10-11 12:04:59.575][Trace][43692][1903j687] HTTP #28 192.168.216.149:55367 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:04:59.577][Trace][43692][0273vhqr] gb28181: request client id=34020000001320000005, peer(192.168.99.70, 5060)
[2021-10-11 12:04:59.577][Trace][43692][0273vhqr] gb28181: respone method=INVITE, [email protected]:5060, version=SIP/2.0 
[2021-10-11 12:04:59.577][Trace][43692][0273vhqr] gb28181: INVITE response 34020000001320000005 client status=100
[2021-10-11 12:04:59.591][Trace][43692][0273vhqr] gb28181: ssrc in y line is 41238533:2754005
[2021-10-11 12:04:59.591][Trace][43692][0273vhqr] gb28181: request client id=34020000001320000005, peer(192.168.99.70, 5060)
[2021-10-11 12:04:59.591][Trace][43692][0273vhqr] gb28181: respone method=INVITE, [email protected]:5060, version=SIP/2.0 
[2021-10-11 12:04:59.591][Trace][43692][0273vhqr] gb28181: INVITE response 34020000001320000005 client status=200
[2021-10-11 12:04:59.591][Trace][43692][0273vhqr] gb28181: device unique id is 34020000001320000005@34020000001320000005
[2021-10-11 12:04:59.778][Trace][43692][1903j687] HTTP #29 192.168.216.149:55367 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:05:00.132][Trace][43692][0273vhqr] <- GBS gb28181: client_id , peer(192.168.99.70, 15060) ps rtp packet 676B, age=35812737, vt=2/96, sts=0/0/0x2754005, paylod=664B
[2021-10-11 12:05:00.132][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24511072
[2021-10-11 12:05:00.132][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24541088
[2021-10-11 12:05:00.179][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24571104
[2021-10-11 12:05:00.179][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24601120
[2021-10-11 12:05:00.229][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24631136
[2021-10-11 12:05:00.229][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24661152
[2021-10-11 12:05:00.279][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24691168
[2021-10-11 12:05:00.279][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24721184
[2021-10-11 12:05:00.329][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24751200
[2021-10-11 12:05:00.379][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24781216
[2021-10-11 12:05:00.379][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24811232
[2021-10-11 12:05:00.379][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24841248
[2021-10-11 12:05:00.429][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24871264
[2021-10-11 12:05:00.429][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24901280
[2021-10-11 12:05:00.479][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24931296
[2021-10-11 12:05:00.529][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24961312
[2021-10-11 12:05:00.529][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24991328
[2021-10-11 12:05:00.582][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25021344
[2021-10-11 12:05:00.582][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25051360
[2021-10-11 12:05:00.629][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25081376
[2021-10-11 12:05:00.629][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25111392
[2021-10-11 12:05:00.680][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25141568
[2021-10-11 12:05:00.680][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25171856
[2021-10-11 12:05:00.709][Trace][43692][c4307281] RTP: jitbuffer key=34020000001320000005@34020000001320000005 reallocate a frame buffer size(664>0) resize(30664)
[2021-10-11 12:05:00.779][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25233440
[2021-10-11 12:05:00.779][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25264016
[2021-10-11 12:05:00.829][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25294032
[2021-10-11 12:05:00.929][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25324272
[2021-10-11 12:05:01.029][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25355184
[2021-10-11 12:05:01.079][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25385760
[2021-10-11 12:05:01.179][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25416000
[2021-10-11 12:05:01.229][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25446496
[2021-10-11 12:05:01.258][Trace][43692][c4307281] RTP: jitbuffer key=34020000001320000005@34020000001320000005 reallocate a frame buffer size(192>0) resize(30192)
[2021-10-11 12:05:02.602][Trace][43692][c4307281] gb28181: ps map video es_type=h264(1b), es_id=e0, es_info_length=28
[2021-10-11 12:05:02.602][Trace][43692][c4307281] gb28181: ps map audio es_type=g726(96), es_id=c0, es_info_length=12
[2021-10-11 12:05:02.602][Trace][43692][c4307281] 39B video sh,  codec(7, profile=Main, level=3, 704x576, 0kbps, 0.0fps, 0.0s)
[2021-10-11 12:05:04.319][Trace][43692][l851496b] Hybrid cpu=1.00%,13MB, cid=2,1, timer=62,0,0, clock=0,48,1,0,0,0,0,0,0, free=1
[2021-10-11 12:05:06.996][Trace][43692][d3a5qh88] HTTP #0 192.168.216.149:58719 OPTIONS http://192.168.216.39:1985/rtc/v1/play/, content-length=-1
[2021-10-11 12:05:06.999][Trace][43692][d3a5qh88] HTTP #1 192.168.216.149:58719 POST http://192.168.216.39:1985/rtc/v1/play/, content-length=5108
[2021-10-11 12:05:07.001][Trace][43692][d3a5qh88] RTC play webrtc://192.168.216.39:1985/live/34020000001320000005@34020000001320000005, api=http://192.168.216.39:1985/rtc/v1/play/, tid=, clientip=192.168.216.149, app=live, stream=34020000001320000005@34020000001320000005, offer=4650B, eip=, codec=, srtp=, dtls=
[2021-10-11 12:05:07.001][Trace][43692][d3a5qh88] ignore attribute=, value=
[2021-10-11 12:05:07.003][Trace][43692][d3a5qh88] RTC player nack=1, nnc=1
[2021-10-11 12:05:07.003][Trace][43692][d3a5qh88] RTC connection player gcc=3
[2021-10-11 12:05:07.003][Trace][43692][d3a5qh88] RTC: Init tracks {track: video-l7770t43, is_active: 0=>1},{track: audio-168397y3, is_active: 0=>1}, ok
[2021-10-11 12:05:07.003][Trace][43692][d3a5qh88] RTC: Use candidates 192.168.216.39
[2021-10-11 12:05:07.006][Trace][43692][d3a5qh88] RTC init session, user=7f1a690a:qeAP, url=/live/34020000001320000005@34020000001320000005, encrypt=1/1, DTLS(role=passive, version=auto), timeout=30000ms, nack=1
[2021-10-11 12:05:07.006][Trace][43692][d3a5qh88] RTC username=7f1a690a:qeAP, dtls=1, srtp=1, offer=4650B, answer=1575B
[2021-10-11 12:05:07.006][Trace][43692][d3a5qh88] RTC remote offer: v=0\r\no=- 458687210353009547 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:qeAP\r\na=ice-pwd:USi0QF85wPWmPDbOYnU0LgCj\r\na=ice-options:trickle\r\na=fingerprint:sha-256 78:5E:8D:B4:7D:BE:F0:E9:ED:75:99:BB:B8:57:D6:5B:5D:02:AC:B4:47:C5:FB:67:80:81:C6:84:06:7D:B0:75\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=recvonly\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 122 102 121 127 120 125 107 108 109 35 36 124 119 123 37\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:qeAP\r\na=ice-pwd:USi0QF85wPWmPDbOYnU0LgCj\r\na=ice-options:trickle\r\na=fingerprint:sha-256 78:5E:8D:B4:7D:BE:F0:E9:ED:75:99:BB:B8:57:D6:5B:5D:02:AC:B4:47:C5:FB:67:80:81:C6:84:06:7D:B0:75\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:13 urn:3gpp:video-orientation\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=recvonly\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=fmtp:98 profile-id=0\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:100 VP9/90000\r\na=rtcp-fb:100 goog-remb\r\na=rtcp-fb:100 transport-cc\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=fmtp:100 profile-id=2\r\na=rtpmap:101 rtx/90000\r\na=fmtp:101 apt=100\r\na=rtpmap:122 VP9/90000\r\na=rtcp-fb:122 goog-remb\r\na=rtcp-fb:122 transport-cc\r\na=rtcp-fb:122 ccm fir\r\na=rtcp-fb:122 nack\r\na=rtcp-fb:122 nack pli\r\na=fmtp:122 profile-id=1\r\na=rtpmap:102 H264/90000\r\na=rtcp-fb:102 goog-remb\r\na=rtcp-fb:102 transport-cc\r\na=rtcp-fb:102 ccm fir\r\na=rtcp-fb:102 nack\r\na=rtcp-fb:102 nack pli\r\na=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f\r\na=rtpmap:121 rtx/90000\r\na=fmtp:121 apt=102\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f\r\na=rtpmap:120 rtx/90000\r\na=fmtp:120 apt=127\r\na=rtpmap:125 H264/90000\r\na=rtcp-fb:125 goog-remb\r\na=rtcp-fb:125 transport-cc\r\na=rtcp-fb:125 ccm fir\r\na=rtcp-fb:125 nack\r\na=rtcp-fb:125 nack pli\r\na=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:107 rtx/90000\r\na=fmtp:107 apt=125\r\na=rtpmap:108 H264/90000\r\na=rtcp-fb:108 goog-remb\r\na=rtcp-fb:108 transport-cc\r\na=rtcp-fb:108 ccm fir\r\na=rtcp-fb:108 nack\r\na=rtcp-fb:108 nack pli\r\na=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f\r\na=rtpmap:109 rtx/90000\r\na=fmtp:109 apt=108\r\na=rtpmap:35 AV1X/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:124 red/90000\r\na=rtpmap:119 rtx/90000\r\na=fmtp:119 apt=124\r\na=rtpmap:123 ulpfec/90000\r\na=rtpmap:37 flexfec-03/90000\r\na=rtcp-fb:37 goog-remb\r\na=rtcp-fb:37 transport-cc\r\na=fmtp:37 repair-window=10000000\r\n
[2021-10-11 12:05:07.006][Trace][43692][d3a5qh88] RTC local answer: v=0\r\no=SRS/5.0.12(Leo) 25700576 2 IN IP4 0.0.0.0\r\ns=SRSPlaySession\r\nt=0 0\r\na=ice-lite\r\na=group:BUNDLE 0 1\r\na=msid-semantic: WMS live/34020000001320000005@34020000001320000005\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:7f1a690a\r\na=ice-pwd:p4yhx18qyib59u3r3719027960fm5204\r\na=fingerprint:sha-256 66:CA:06:53:3A:F9:B6:AB:3C:5A:7A:72:79:F2:78:B8:9D:4B:53:27:90:F8:11:57:98:24:B5:66:80:38:A8:B2\r\na=setup:passive\r\na=mid:0\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=sendonly\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=ssrc:441332895 cname:833uwt188uc6057e\r\na=ssrc:441332895 label:audio-168397y3\r\na=candidate:0 1 udp 2130706431 192.168.216.39 8000 typ host generation 0\r\nm=video 9 UDP/TLS/RTP/SAVPF 125\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:7f1a690a\r\na=ice-pwd:p4yhx18qyib59u3r3719027960fm5204\r\na=fingerprint:sha-256 66:CA:06:53:3A:F9:B6:AB:3C:5A:7A:72:79:F2:78:B8:9D:4B:53:27:90:F8:11:57:98:24:B5:66:80:38:A8:B2\r\na=setup:passive\r\na=mid:1\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=sendonly\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:125 H264/90000\r\na=rtcp-fb:125 transport-cc\r\na=rtcp-fb:125 nack\r\na=rtcp-fb:125 nack pli\r\na=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=ssrc:441332896 cname:833uwt188uc6057e\r\na=ssrc:441332896 label:video-l7770t43\r\na=candidate:0 1 udp 2130706431 192.168.216.39 8000 typ host generation 0\r\n
[2021-10-11 12:05:07.008][Trace][43692][d3a5qh88] TCP: before dispose resource(HttpConn)(0x1854020), conns=3, zombies=0, ign=0, inz=0, ind=0
[2021-10-11 12:05:07.008][Warn][43692][d3a5qh88][104] client disconnect peer. ret=1007
[2021-10-11 12:05:07.008][Trace][43692][cz152r64] TCP: clear zombies=1 resources, conns=3, removing=0, unsubs=0
[2021-10-11 12:05:07.008][Trace][43692][d3a5qh88] TCP: disposing #0 resource(HttpConn)(0x1854020), conns=3, disposing=1, zombies=0
[2021-10-11 12:05:07.012][Trace][43692][d3a5qh88] RTC: session address init 192.168.216.149:50170
[2021-10-11 12:05:07.013][Trace][43692][d3a5qh88] RTC: session STUN done, waiting DTLS handshake.
[2021-10-11 12:05:07.013][Trace][43692][52o80730] <- RTC RECV #12, udp 1, pps 0/0, schedule 1
[2021-10-11 12:05:07.015][Trace][43692][d3a5qh88] DTLS: State Passive RECV, done=0, arq=0/0, r0=1, r1=0, len=159, cnt=22, size=146, hs=1
[2021-10-11 12:05:07.016][Trace][43692][d3a5qh88] DTLS: State Passive SEND, done=0, arq=0/0, r0=-1, r1=2, len=680, cnt=22, size=82, hs=2
[2021-10-11 12:05:07.019][Trace][43692][d3a5qh88] DTLS: State Passive RECV, done=0, arq=0/0, r0=1, r1=0, len=570, cnt=22, size=299, hs=11
[2021-10-11 12:05:07.020][Trace][43692][d3a5qh88] DTLS: State Passive SEND, done=1, arq=0/0, r0=1, r1=0, len=546, cnt=22, size=466, hs=4
[2021-10-11 12:05:07.020][Trace][43692][d3a5qh88] RTC: DTLS handshake done.
[2021-10-11 12:05:07.020][Trace][43692][d3a5qh88] RTC: session pub=0, sub=1, to=30000ms connection established
[2021-10-11 12:05:07.020][Trace][43692][d3a5qh88] RTC: Subscriber url=/live/34020000001320000005@34020000001320000005 established
[2021-10-11 12:05:07.021][Trace][43692][d3a5qh88] create consumer, no gop cache
[2021-10-11 12:05:07.021][Trace][43692][d3a5qh88] RTC: start play url=/live/34020000001320000005@34020000001320000005, source_id=1903j687/1903j687, realtime=1, mw_msgs=0
[2021-10-11 12:05:09.320][Trace][43692][l851496b] Hybrid cpu=2.00%,14MB, cid=9,2, timer=62,0,11, clock=0,47,1,1,0,0,0,0,0, free=1, objs=(pkt:28,raw:22,fua:5,msg:62,oth:1,buf:1)
[2021-10-11 12:05:09.320][Trace][43692][l851496b] RTC: Server conns=1
[2021-10-11 12:05:10.154][Trace][43692][c4307281] gb28181: client id=34020000001320000005@34020000001320000005,  ssrc=0x2754005, peer(192.168.99.70, 15060), rtmp muxer is alive
[2021-10-11 12:05:10.273][Trace][43692][d3a5qh88] DTLS: State Passive RECV, done=1, arq=0/0, r0=1, r1=0, len=31, cnt=21, size=18, hs=55
[2021-10-11 12:05:10.273][Warn][43692][d3a5qh88][0] DTLS: SSL3 alert method=read type=warning, desc=CN(close notify), where=16388, ret=256, r1=0
[2021-10-11 12:05:10.273][Trace][43692][d3a5qh88] RTC: session destroy by DTLS alert, username=7f1a690a:qeAP
[2021-10-11 12:05:10.273][Trace][43692][d3a5qh88] RTC: before dispose resource(RtcConn)(0x18828e0), conns=1, zombies=0, ign=0, inz=0, ind=0
[2021-10-11 12:05:10.273][Trace][43692][d3a5qh88] RTC: session detach from [d3a5qh88](RtcConn), disposing=1
[2021-10-11 12:05:10.273][Trace][43692][2624sp58] RTC: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2021-10-11 12:05:10.273][Trace][43692][d3a5qh88] RTC: disposing #0 resource(RtcConn)(0x18828e0), conns=1, disposing=1, zombies=0
[2021-10-11 12:05:11.194][Trace][43692][p9z26z51] TCP: before dispose resource(HttpConn)(0x170e160), conns=2, zombies=0, ign=0, inz=0, ind=0
[2021-10-11 12:05:11.194][Trace][43692][p9z26z51] client finished.
[2021-10-11 12:05:11.194][Trace][43692][cz152r64] TCP: clear zombies=1 resources, conns=2, removing=0, unsubs=0
[2021-10-11 12:05:11.194][Trace][43692][p9z26z51] TCP: disposing #0 resource(HttpConn)(0x170e160), conns=2, disposing=1, zombies=0
[2021-10-11 12:05:13.267][Trace][43692][1903j687] HTTP #30 192.168.216.149:55367 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_bye&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:05:13.268][Trace][43692][0273vhqr] gb28181: request client id=34020000001320000005, peer(192.168.99.70, 5060)
[2021-10-11 12:05:13.268][Trace][43692][0273vhqr] gb28181: respone method=BYE, [email protected]:5060, version=SIP/2.0 
[2021-10-11 12:05:13.269][Trace][43692][0273vhqr] gb28181: request client id=34020000001320000005, peer(192.168.99.70, 5060)
[2021-10-11 12:05:13.269][Trace][43692][0273vhqr] gb28181: respone method=BYE, [email protected]:5060, version=SIP/2.0 
[2021-10-11 12:05:13.269][Trace][43692][0273vhqr] gb28181: BYE  34020000001320000005 client status=200
[2021-10-11 12:05:13.367][Trace][43692][sg9861p5] HTTP #0 192.168.216.149:55924 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_bye&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:05:13.370][Trace][43692][0273vhqr] gb28181: request client id=34020000001320000005, peer(192.168.99.70, 5060)
[2021-10-11 12:05:13.371][Trace][43692][0273vhqr] gb28181: respone method=BYE, [email protected]:5060, version=SIP/2.0 
[2021-10-11 12:05:13.371][Trace][43692][0273vhqr] gb28181: request client id=34020000001320000005, peer(192.168.99.70, 5060)
[2021-10-11 12:05:13.371][Trace][43692][0273vhqr] gb28181: respone method=BYE, [email protected]:5060, version=SIP/2.0 
[2021-10-11 12:05:13.371][Trace][43692][0273vhqr] gb28181: BYE  34020000001320000005 client status=481
[2021-10-11 12:05:13.375][Trace][43692][1903j687] TCP: before dispose resource(HttpConn)(0x170dab0), conns=2, zombies=0, ign=0, inz=0, ind=0
[2021-10-11 12:05:13.375][Warn][43692][1903j687][104] client disconnect peer. ret=1007
[2021-10-11 12:05:13.375][Trace][43692][cz152r64] TCP: clear zombies=1 resources, conns=2, removing=0, unsubs=0
[2021-10-11 12:05:13.375][Trace][43692][1903j687] TCP: disposing #0 resource(HttpConn)(0x170dab0), conns=2, disposing=1, zombies=0
[2021-10-11 12:05:13.573][Trace][43692][sg9861p5] HTTP #1 192.168.216.149:55924 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:05:14.320][Trace][43692][l851496b] Hybrid cpu=1.00%,14MB, cid=9,2, timer=62,0,11, clock=0,47,1,1,0,0,0,0,0, free=1, objs=(pkt:28,raw:22,fua:5,msg:62,oth:1,buf:1)
[2021-10-11 12:05:15.285][Warn][43692][c4307281][11] gb28181: client id=34020000001320000005@34020000001320000005 ssrc=0x2754005, peer(192.168.99.70, 15060), no rtp data 2 in seconds, clean it, wait other port!
[2021-10-11 12:05:19.320][Trace][43692][l851496b] Hybrid cpu=0.00%,14MB, cid=9,2, timer=62,0,11, clock=0,47,1,1,0,0,0,0,0, free=1, objs=(pkt:28,raw:22,fua:5,msg:62,oth:1,buf:1)
[2021-10-11 12:05:23.451][Trace][43692][sg9861p5] HTTP #2 192.168.216.149:55924 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:05:23.453][Trace][43692][0273vhqr] gb28181: request client id=34020000001320000005, peer(192.168.99.70, 5060)
[2021-10-11 12:05:23.453][Trace][43692][0273vhqr] gb28181: respone method=INVITE, [email protected]:5060, version=SIP/2.0 
[2021-10-11 12:05:23.453][Trace][43692][0273vhqr] gb28181: INVITE response 34020000001320000005 client status=100
[2021-10-11 12:05:23.459][Trace][43692][0273vhqr] gb28181: ssrc in y line is 41238533:2754005
[2021-10-11 12:05:23.459][Trace][43692][0273vhqr] gb28181: request client id=34020000001320000005, peer(192.168.99.70, 5060)
[2021-10-11 12:05:23.459][Trace][43692][0273vhqr] gb28181: respone method=INVITE, [email protected]:5060, version=SIP/2.0 
[2021-10-11 12:05:23.459][Trace][43692][0273vhqr] gb28181: INVITE response 34020000001320000005 client status=200
[2021-10-11 12:05:23.459][Trace][43692][0273vhqr] gb28181: device unique id is 34020000001320000005@34020000001320000005
[2021-10-11 12:05:23.525][Trace][43692][c4307281] gb28181: client id=34020000001320000005@34020000001320000005,  ssrc=0x2754005, peer(, 0), rtmp muxer is alive
[2021-10-11 12:05:23.659][Trace][43692][sg9861p5] HTTP #3 192.168.216.149:55924 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:05:24.321][Trace][43692][l851496b] Hybrid cpu=0.00%,14MB, cid=4,1, timer=62,0,3, clock=0,48,1,0,0,0,0,0,0, free=1, objs=(pkt:9,raw:8,fua:1,msg:23,oth:1,buf:1)
[2021-10-11 12:05:29.322][Trace][43692][l851496b] Hybrid cpu=1.00%,14MB, cid=4,1, timer=62,0,3, clock=0,48,1,0,0,0,0,0,0, free=1, objs=(pkt:9,raw:8,fua:1,msg:23,oth:1,buf:1)
[2021-10-11 12:05:30.195][Trace][43692][7t708uw5] HTTP #0 192.168.216.149:58503 OPTIONS http://192.168.216.39:1985/rtc/v1/play/, content-length=-1
[2021-10-11 12:05:30.198][Trace][43692][7t708uw5] HTTP #1 192.168.216.149:58503 POST http://192.168.216.39:1985/rtc/v1/play/, content-length=5109
[2021-10-11 12:05:30.199][Trace][43692][7t708uw5] RTC play webrtc://192.168.216.39:1985/live/34020000001320000005@34020000001320000005, api=http://192.168.216.39:1985/rtc/v1/play/, tid=, clientip=192.168.216.149, app=live, stream=34020000001320000005@34020000001320000005, offer=4651B, eip=, codec=, srtp=, dtls=
[2021-10-11 12:05:30.199][Trace][43692][7t708uw5] ignore attribute=, value=
[2021-10-11 12:05:30.201][Trace][43692][7t708uw5] RTC player nack=1, nnc=1
[2021-10-11 12:05:30.201][Trace][43692][7t708uw5] RTC connection player gcc=3
[2021-10-11 12:05:30.201][Trace][43692][7t708uw5] RTC: Init tracks {track: video-l7770t43, is_active: 0=>1},{track: audio-168397y3, is_active: 0=>1}, ok
[2021-10-11 12:05:30.201][Trace][43692][7t708uw5] RTC: Use candidates 192.168.216.39
[2021-10-11 12:05:30.202][Trace][43692][7t708uw5] RTC init session, user=43146319:oYrH, url=/live/34020000001320000005@34020000001320000005, encrypt=1/1, DTLS(role=passive, version=auto), timeout=30000ms, nack=1
[2021-10-11 12:05:30.202][Trace][43692][7t708uw5] RTC username=43146319:oYrH, dtls=1, srtp=1, offer=4651B, answer=1575B
[2021-10-11 12:05:30.202][Trace][43692][7t708uw5] RTC remote offer: v=0\r\no=- 5109848233418533912 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:oYrH\r\na=ice-pwd:WaO/AdxudiyWEyoYSXYBtLAk\r\na=ice-options:trickle\r\na=fingerprint:sha-256 7C:59:77:2D:78:DA:56:10:1E:19:99:5E:0F:FF:EA:81:75:70:2B:63:EF:12:58:05:F9:31:6A:A9:EF:AD:38:A7\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=recvonly\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 122 102 121 127 120 125 107 108 109 35 36 124 119 123 37\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:oYrH\r\na=ice-pwd:WaO/AdxudiyWEyoYSXYBtLAk\r\na=ice-options:trickle\r\na=fingerprint:sha-256 7C:59:77:2D:78:DA:56:10:1E:19:99:5E:0F:FF:EA:81:75:70:2B:63:EF:12:58:05:F9:31:6A:A9:EF:AD:38:A7\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:13 urn:3gpp:video-orientation\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=recvonly\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=fmtp:98 profile-id=0\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:100 VP9/90000\r\na=rtcp-fb:100 goog-remb\r\na=rtcp-fb:100 transport-cc\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=fmtp:100 profile-id=2\r\na=rtpmap:101 rtx/90000\r\na=fmtp:101 apt=100\r\na=rtpmap:122 VP9/90000\r\na=rtcp-fb:122 goog-remb\r\na=rtcp-fb:122 transport-cc\r\na=rtcp-fb:122 ccm fir\r\na=rtcp-fb:122 nack\r\na=rtcp-fb:122 nack pli\r\na=fmtp:122 profile-id=1\r\na=rtpmap:102 H264/90000\r\na=rtcp-fb:102 goog-remb\r\na=rtcp-fb:102 transport-cc\r\na=rtcp-fb:102 ccm fir\r\na=rtcp-fb:102 nack\r\na=rtcp-fb:102 nack pli\r\na=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f\r\na=rtpmap:121 rtx/90000\r\na=fmtp:121 apt=102\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f\r\na=rtpmap:120 rtx/90000\r\na=fmtp:120 apt=127\r\na=rtpmap:125 H264/90000\r\na=rtcp-fb:125 goog-remb\r\na=rtcp-fb:125 transport-cc\r\na=rtcp-fb:125 ccm fir\r\na=rtcp-fb:125 nack\r\na=rtcp-fb:125 nack pli\r\na=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:107 rtx/90000\r\na=fmtp:107 apt=125\r\na=rtpmap:108 H264/90000\r\na=rtcp-fb:108 goog-remb\r\na=rtcp-fb:108 transport-cc\r\na=rtcp-fb:108 ccm fir\r\na=rtcp-fb:108 nack\r\na=rtcp-fb:108 nack pli\r\na=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f\r\na=rtpmap:109 rtx/90000\r\na=fmtp:109 apt=108\r\na=rtpmap:35 AV1X/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:124 red/90000\r\na=rtpmap:119 rtx/90000\r\na=fmtp:119 apt=124\r\na=rtpmap:123 ulpfec/90000\r\na=rtpmap:37 flexfec-03/90000\r\na=rtcp-fb:37 goog-remb\r\na=rtcp-fb:37 transport-cc\r\na=fmtp:37 repair-window=10000000\r\n
[2021-10-11 12:05:30.202][Trace][43692][7t708uw5] RTC local answer: v=0\r\no=SRS/5.0.12(Leo) 25564416 2 IN IP4 0.0.0.0\r\ns=SRSPlaySession\r\nt=0 0\r\na=ice-lite\r\na=group:BUNDLE 0 1\r\na=msid-semantic: WMS live/34020000001320000005@34020000001320000005\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:43146319\r\na=ice-pwd:6pw7032hw97193q82nj31q019hao2518\r\na=fingerprint:sha-256 66:CA:06:53:3A:F9:B6:AB:3C:5A:7A:72:79:F2:78:B8:9D:4B:53:27:90:F8:11:57:98:24:B5:66:80:38:A8:B2\r\na=setup:passive\r\na=mid:0\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=sendonly\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=ssrc:441332897 cname:99g0k8rx937954ex\r\na=ssrc:441332897 label:audio-168397y3\r\na=candidate:0 1 udp 2130706431 192.168.216.39 8000 typ host generation 0\r\nm=video 9 UDP/TLS/RTP/SAVPF 125\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:43146319\r\na=ice-pwd:6pw7032hw97193q82nj31q019hao2518\r\na=fingerprint:sha-256 66:CA:06:53:3A:F9:B6:AB:3C:5A:7A:72:79:F2:78:B8:9D:4B:53:27:90:F8:11:57:98:24:B5:66:80:38:A8:B2\r\na=setup:passive\r\na=mid:1\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=sendonly\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:125 H264/90000\r\na=rtcp-fb:125 transport-cc\r\na=rtcp-fb:125 nack\r\na=rtcp-fb:125 nack pli\r\na=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=ssrc:441332898 cname:99g0k8rx937954ex\r\na=ssrc:441332898 label:video-l7770t43\r\na=candidate:0 1 udp 2130706431 192.168.216.39 8000 typ host generation 0\r\n
[2021-10-11 12:05:30.204][Trace][43692][7t708uw5] TCP: before dispose resource(HttpConn)(0x173d040), conns=3, zombies=0, ign=0, inz=0, ind=0
[2021-10-11 12:05:30.204][Warn][43692][7t708uw5][104] client disconnect peer. ret=1007
[2021-10-11 12:05:30.204][Trace][43692][cz152r64] TCP: clear zombies=1 resources, conns=3, removing=0, unsubs=0
[2021-10-11 12:05:30.204][Trace][43692][7t708uw5] TCP: disposing #0 resource(HttpConn)(0x173d040), conns=3, disposing=1, zombies=0
[2021-10-11 12:05:30.214][Trace][43692][7t708uw5] RTC: session address init 192.168.216.149:50174
[2021-10-11 12:05:30.214][Trace][43692][7t708uw5] RTC: session STUN done, waiting DTLS handshake.
[2021-10-11 12:05:30.214][Trace][43692][52o80730] <- RTC RECV #12, udp 21, pps 0/0, schedule 21
[2021-10-11 12:05:30.217][Trace][43692][7t708uw5] DTLS: State Passive RECV, done=0, arq=0/0, r0=1, r1=0, len=159, cnt=22, size=146, hs=1
[2021-10-11 12:05:30.218][Trace][43692][7t708uw5] DTLS: State Passive SEND, done=0, arq=0/0, r0=-1, r1=2, len=680, cnt=22, size=82, hs=2
[2021-10-11 12:05:30.223][Trace][43692][7t708uw5] DTLS: State Passive RECV, done=0, arq=0/0, r0=1, r1=0, len=570, cnt=22, size=300, hs=11
[2021-10-11 12:05:30.224][Trace][43692][7t708uw5] DTLS: State Passive SEND, done=1, arq=0/0, r0=1, r1=0, len=546, cnt=22, size=466, hs=4
[2021-10-11 12:05:30.224][Trace][43692][7t708uw5] RTC: DTLS handshake done.
[2021-10-11 12:05:30.224][Trace][43692][7t708uw5] RTC: session pub=0, sub=1, to=30000ms connection established
[2021-10-11 12:05:30.224][Trace][43692][7t708uw5] RTC: Subscriber url=/live/34020000001320000005@34020000001320000005 established
[2021-10-11 12:05:30.224][Trace][43692][7t708uw5] create consumer, no gop cache
[2021-10-11 12:05:30.224][Trace][43692][7t708uw5] RTC: start play url=/live/34020000001320000005@34020000001320000005, source_id=1903j687/1903j687, realtime=1, mw_msgs=0
[2021-10-11 12:05:30.425][Trace][43692][c4307281] gb28181: client id=34020000001320000005@34020000001320000005,  ssrc=0x2754005, peer(192.168.99.70, 15060), rtmp muxer is alive
[2021-10-11 12:05:34.322][Trace][43692][l851496b] Hybrid cpu=0.00%,14MB, cid=4,1, timer=62,0,3, clock=0,48,1,0,0,0,0,0,0, free=1, objs=(pkt:9,raw:8,fua:1,msg:23,oth:1,buf:1)
[2021-10-11 12:05:34.322][Trace][43692][l851496b] RTC: Server conns=1, rpkts=(1,rtp:0,stun:1,rtcp:1), spkts=(1,rtp:1,stun:1,rtcp:0), rtcp=(pli:1,twcc:0,rr:0), fid=(id:1,fid:1,ffid:0,addr:1,faddr:1)
[2021-10-11 12:05:36.076][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.106][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.137][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.150][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25602624
[2021-10-11 12:05:36.167][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.198][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.198][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26025488
[2021-10-11 12:05:36.228][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.259][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.290][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.298][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26055504
[2021-10-11 12:05:36.320][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.348][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26085520
[2021-10-11 12:05:36.351][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.382][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.412][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.443][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.448][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26115536
[2021-10-11 12:05:36.473][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.504][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.535][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.548][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26145552
[2021-10-11 12:05:36.565][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.596][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.598][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26175568
[2021-10-11 12:05:36.626][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.657][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.688][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.698][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26205584
[2021-10-11 12:05:36.718][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.749][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.779][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.798][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26235600
[2021-10-11 12:05:36.809][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.840][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.848][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26265616
[2021-10-11 12:05:36.870][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.901][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.932][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.948][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26295632
[2021-10-11 12:05:36.962][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.993][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:36.998][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26325648
[2021-10-11 12:05:37.023][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.054][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.084][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.098][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26355664
[2021-10-11 12:05:37.115][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.146][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.148][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26385680
[2021-10-11 12:05:37.177][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.207][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.208][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.238][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.238][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.251][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26415696
[2021-10-11 12:05:37.268][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.268][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.299][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.299][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.307][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26445712
[2021-10-11 12:05:37.307][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26475728
[2021-10-11 12:05:37.330][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.330][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.354][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26505744
[2021-10-11 12:05:37.354][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26535760
[2021-10-11 12:05:37.361][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.361][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.391][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.391][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.398][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26565776
[2021-10-11 12:05:37.398][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26595792
[2021-10-11 12:05:37.422][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.422][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.448][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26625808
[2021-10-11 12:05:37.452][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.452][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.483][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.483][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26655824
[2021-10-11 12:05:37.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26685840
[2021-10-11 12:05:37.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26715856
[2021-10-11 12:05:37.514][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.514][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.544][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.544][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.548][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26745872
[2021-10-11 12:05:37.575][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.575][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.602][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26775888
[2021-10-11 12:05:37.603][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26805904
[2021-10-11 12:05:37.606][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.606][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.636][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.636][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.653][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26835920
[2021-10-11 12:05:37.653][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26865936
[2021-10-11 12:05:37.667][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.667][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.697][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.697][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.698][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26895952
[2021-10-11 12:05:37.698][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26925968
[2021-10-11 12:05:37.728][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.728][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.748][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26955984
[2021-10-11 12:05:37.748][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26986000
[2021-10-11 12:05:37.759][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.759][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.790][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.790][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.798][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27016016
[2021-10-11 12:05:37.798][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27046032
[2021-10-11 12:05:37.820][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.820][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.850][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.851][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.851][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27076048
[2021-10-11 12:05:37.881][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.881][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.898][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27106064
[2021-10-11 12:05:37.898][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27136080
[2021-10-11 12:05:37.898][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27166096
[2021-10-11 12:05:37.912][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.912][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.943][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.943][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.947][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27196112
[2021-10-11 12:05:37.948][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27226128
[2021-10-11 12:05:37.973][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:37.973][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:37.998][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27256144
[2021-10-11 12:05:38.004][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.004][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.035][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.035][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.048][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27286160
[2021-10-11 12:05:38.048][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27316176
[2021-10-11 12:05:38.065][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.065][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.096][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.096][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.101][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27346192
[2021-10-11 12:05:38.102][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27376208
[2021-10-11 12:05:38.126][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.126][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.153][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27406224
[2021-10-11 12:05:38.154][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27436240
[2021-10-11 12:05:38.157][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.157][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.187][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.187][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.198][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27466256
[2021-10-11 12:05:38.198][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27496272
[2021-10-11 12:05:38.218][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.218][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.248][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.249][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.249][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27526288
[2021-10-11 12:05:38.279][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.279][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.300][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27556304
[2021-10-11 12:05:38.300][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27586320
[2021-10-11 12:05:38.300][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27616336
[2021-10-11 12:05:38.309][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.309][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.340][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.340][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.347][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27646352
[2021-10-11 12:05:38.370][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.370][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.398][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27676368
[2021-10-11 12:05:38.398][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27706384
[2021-10-11 12:05:38.401][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.401][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.432][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.432][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.448][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27736400
[2021-10-11 12:05:38.448][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27766416
[2021-10-11 12:05:38.462][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.462][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.463][Trace][43692][i11zr4re] TCP: before dispose resource(HttpConn)(0x170dab0), conns=2, zombies=0, ign=0, inz=0, ind=0
[2021-10-11 12:05:38.463][Trace][43692][i11zr4re] client finished.
[2021-10-11 12:05:38.463][Trace][43692][cz152r64] TCP: clear zombies=1 resources, conns=2, removing=0, unsubs=0
[2021-10-11 12:05:38.464][Trace][43692][i11zr4re] TCP: disposing #0 resource(HttpConn)(0x170dab0), conns=2, disposing=1, zombies=0
[2021-10-11 12:05:38.493][Warn][43692][c4307281][62] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.493][Warn][43692][c4307281][62] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25894400
[2021-10-11 12:05:38.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25924416
[2021-10-11 12:05:38.524][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.524][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.548][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25954432
[2021-10-11 12:05:38.548][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:25984448
[2021-10-11 12:05:38.554][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.554][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.585][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.585][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.598][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27796432
[2021-10-11 12:05:38.598][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27826448
[2021-10-11 12:05:38.616][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.616][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.646][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.646][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.647][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27856464
[2021-10-11 12:05:38.660][Trace][43692][sg9861p5] TCP: before dispose resource(HttpConn)(0x1855700), conns=1, zombies=0, ign=0, inz=0, ind=0
[2021-10-11 12:05:38.660][Trace][43692][sg9861p5] client finished.
[2021-10-11 12:05:38.660][Trace][43692][cz152r64] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2021-10-11 12:05:38.660][Trace][43692][sg9861p5] TCP: disposing #0 resource(HttpConn)(0x1855700), conns=1, disposing=1, zombies=0
[2021-10-11 12:05:38.676][Warn][43692][c4307281][62] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.676][Warn][43692][c4307281][62] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.698][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24367296
[2021-10-11 12:05:38.698][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24397312
[2021-10-11 12:05:38.698][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24427328
[2021-10-11 12:05:38.707][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.707][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.737][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.738][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.747][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24457344
[2021-10-11 12:05:38.748][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27886480
[2021-10-11 12:05:38.768][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.768][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.798][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27916496
[2021-10-11 12:05:38.799][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.799][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.829][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.829][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.848][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27946512
[2021-10-11 12:05:38.848][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27976528
[2021-10-11 12:05:38.860][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.860][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.891][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.891][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.899][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28006544
[2021-10-11 12:05:38.899][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28036560
[2021-10-11 12:05:38.922][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.922][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.948][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28066576
[2021-10-11 12:05:38.948][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28096592
[2021-10-11 12:05:38.952][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.952][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.983][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:38.983][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:38.998][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28126608
[2021-10-11 12:05:38.998][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28156624
[2021-10-11 12:05:39.013][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.013][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.044][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.044][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.048][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28186640
[2021-10-11 12:05:39.074][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.074][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.099][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28216656
[2021-10-11 12:05:39.100][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28246672
[2021-10-11 12:05:39.100][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28276688
[2021-10-11 12:05:39.105][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.105][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.136][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.136][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.148][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28306704
[2021-10-11 12:05:39.167][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.167][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.198][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.198][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.198][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28336720
[2021-10-11 12:05:39.198][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28366736
[2021-10-11 12:05:39.228][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.229][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.248][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28396752
[2021-10-11 12:05:39.248][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28426768
[2021-10-11 12:05:39.259][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.259][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.290][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.290][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.309][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28456784
[2021-10-11 12:05:39.309][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28486800
[2021-10-11 12:05:39.320][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.320][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.323][Trace][43692][l851496b] Hybrid cpu=1.00%,14MB, cid=22,2, timer=62,0,29, clock=0,47,1,0,0,0,0,0,0, free=1
[2021-10-11 12:05:39.323][Trace][43692][l851496b] RTC: Server conns=1, rpkts=(1,rtp:0,stun:1,rtcp:1), spkts=(1,rtp:1,stun:1,rtcp:0), rtcp=(pli:1,twcc:0,rr:0), fid=(id:1,fid:1,ffid:0,addr:1,faddr:1)
[2021-10-11 12:05:39.351][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.351][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.355][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28516816
[2021-10-11 12:05:39.355][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28546832
[2021-10-11 12:05:39.382][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.382][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.399][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28576848
[2021-10-11 12:05:39.399][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28606864
[2021-10-11 12:05:39.412][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.412][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.443][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.443][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.448][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28636880
[2021-10-11 12:05:39.473][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.473][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28666896
[2021-10-11 12:05:39.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28696912
[2021-10-11 12:05:39.499][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28726928
[2021-10-11 12:05:39.504][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.504][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.535][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.535][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.547][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28756944
[2021-10-11 12:05:39.566][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.566][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.597][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.597][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.598][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28786960
[2021-10-11 12:05:39.598][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28816976
[2021-10-11 12:05:39.627][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.627][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.651][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28846992
[2021-10-11 12:05:39.651][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28877008
[2021-10-11 12:05:39.658][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.658][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.689][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.689][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.697][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28907024
[2021-10-11 12:05:39.698][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28937040
[2021-10-11 12:05:39.719][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.719][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.748][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28967056
[2021-10-11 12:05:39.748][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28997072
[2021-10-11 12:05:39.750][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.750][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.781][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.781][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.798][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29027088
[2021-10-11 12:05:39.798][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29057104
[2021-10-11 12:05:39.811][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.811][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.842][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.842][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.847][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29087120
[2021-10-11 12:05:39.872][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.872][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.898][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29117136
[2021-10-11 12:05:39.898][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29147152
[2021-10-11 12:05:39.898][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29177168
[2021-10-11 12:05:39.902][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.902][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.933][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.933][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.947][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29207184
[2021-10-11 12:05:39.947][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29237200
[2021-10-11 12:05:39.963][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.963][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.993][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:39.993][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:39.998][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29267216
[2021-10-11 12:05:40.024][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.024][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.048][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29297232
[2021-10-11 12:05:40.048][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29327248
[2021-10-11 12:05:40.054][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.054][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.085][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.085][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.104][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29357264
[2021-10-11 12:05:40.104][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29387280
[2021-10-11 12:05:40.115][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.115][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.146][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.146][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.148][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29417296
[2021-10-11 12:05:40.148][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29447312
[2021-10-11 12:05:40.176][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.176][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.198][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29477328
[2021-10-11 12:05:40.199][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29507344
[2021-10-11 12:05:40.207][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.207][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.237][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.238][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.249][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29537360
[2021-10-11 12:05:40.268][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.268][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.299][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.299][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.300][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29567376
[2021-10-11 12:05:40.300][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29597392
[2021-10-11 12:05:40.300][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29627408
[2021-10-11 12:05:40.330][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.330][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.347][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29657424
[2021-10-11 12:05:40.360][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.360][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.391][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.391][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.398][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29687440
[2021-10-11 12:05:40.398][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29717456
[2021-10-11 12:05:40.421][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.421][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.447][Trace][43692][0273vhqr] <- GBS gb28181: client_id , peer(192.168.99.70, 15060) ps rtp packet 116B, age=76115388, vt=2/96, sts=905/1479600/0x2754005, paylod=104B
[2021-10-11 12:05:40.448][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29747472
[2021-10-11 12:05:40.448][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29777488
[2021-10-11 12:05:40.452][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.452][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.483][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.483][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.497][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29807504
[2021-10-11 12:05:40.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29837520
[2021-10-11 12:05:40.513][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.513][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.543][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.543][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.548][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29867536
[2021-10-11 12:05:40.548][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29897552
[2021-10-11 12:05:40.574][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.574][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.598][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29927568
[2021-10-11 12:05:40.598][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29957584
[2021-10-11 12:05:40.605][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.605][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.636][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.636][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.649][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:29987600
[2021-10-11 12:05:40.666][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.667][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.697][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.697][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.698][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30017616
[2021-10-11 12:05:40.698][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30047632
[2021-10-11 12:05:40.698][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30077648
[2021-10-11 12:05:40.727][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.727][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.747][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30107664
[2021-10-11 12:05:40.748][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30137680
[2021-10-11 12:05:40.758][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.758][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.760][Trace][43692][52o80730] <- RTC RECV #12, udp 24, pps 0/2, schedule 24
[2021-10-11 12:05:40.788][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.788][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.798][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30167696
[2021-10-11 12:05:40.819][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.819][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.848][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30197808
[2021-10-11 12:05:40.848][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30228096
[2021-10-11 12:05:40.850][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.850][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.881][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.881][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.898][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30258592
[2021-10-11 12:05:40.898][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30288976
[2021-10-11 12:05:40.912][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.912][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.942][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.942][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.948][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30319264
[2021-10-11 12:05:40.948][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30349760
[2021-10-11 12:05:40.972][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:40.972][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:40.998][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30380608
[2021-10-11 12:05:40.998][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30410624
[2021-10-11 12:05:41.003][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.003][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.033][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.034][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.048][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30440960
[2021-10-11 12:05:41.064][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.064][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.095][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.095][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.098][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30471344
[2021-10-11 12:05:41.098][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30501632
[2021-10-11 12:05:41.098][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30532128
[2021-10-11 12:05:41.125][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.125][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.148][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30562512
[2021-10-11 12:05:41.156][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.156][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.186][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.186][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.198][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30592800
[2021-10-11 12:05:41.198][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30623296
[2021-10-11 12:05:41.217][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.217][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.247][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.248][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.248][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30653680
[2021-10-11 12:05:41.248][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30683968
[2021-10-11 12:05:41.278][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.278][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.306][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30714464
[2021-10-11 12:05:41.306][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30745264
[2021-10-11 12:05:41.309][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.309][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.339][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.340][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.355][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30775280
[2021-10-11 12:05:41.356][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30806928
[2021-10-11 12:05:41.370][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.370][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.398][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30838112
[2021-10-11 12:05:41.398][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30868128
[2021-10-11 12:05:41.400][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.400][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.431][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.431][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.448][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30898816
[2021-10-11 12:05:41.461][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.461][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.492][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.492][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30928928
[2021-10-11 12:05:41.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30959120
[2021-10-11 12:05:41.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:30989968
[2021-10-11 12:05:41.522][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.522][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.547][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31020080
[2021-10-11 12:05:41.552][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.553][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.583][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.583][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.598][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31050304
[2021-10-11 12:05:41.598][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31081168
[2021-10-11 12:05:41.614][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.614][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.644][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.645][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.655][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31111184
[2021-10-11 12:05:41.655][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31141472
[2021-10-11 12:05:41.675][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.675][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.697][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31172384
[2021-10-11 12:05:41.698][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31202400
[2021-10-11 12:05:41.706][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.706][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.736][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.736][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.747][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31232688
[2021-10-11 12:05:41.748][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31263600
[2021-10-11 12:05:41.767][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.767][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.797][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.798][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.798][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31293616
[2021-10-11 12:05:41.798][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31323904
[2021-10-11 12:05:41.828][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.828][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.847][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31354816
[2021-10-11 12:05:41.859][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.859][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.889][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.889][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.898][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31384832
[2021-10-11 12:05:41.898][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31415056
[2021-10-11 12:05:41.898][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31445968
[2021-10-11 12:05:41.919][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.919][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.947][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31475984
[2021-10-11 12:05:41.947][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31506208
[2021-10-11 12:05:41.950][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.950][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.980][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:41.980][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:41.998][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31537168
[2021-10-11 12:05:42.011][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.011][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.041][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.042][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.048][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31567184
[2021-10-11 12:05:42.048][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31597472
[2021-10-11 12:05:42.072][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.072][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.103][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.103][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.103][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31627920
[2021-10-11 12:05:42.103][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31658768
[2021-10-11 12:05:42.134][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.134][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.147][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31688784
[2021-10-11 12:05:42.148][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31719168
[2021-10-11 12:05:42.165][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.165][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.196][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.196][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.198][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31749552
[2021-10-11 12:05:42.198][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31779840
[2021-10-11 12:05:42.226][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.226][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.247][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31810336
[2021-10-11 12:05:42.257][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.257][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.287][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.287][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.299][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31840720
[2021-10-11 12:05:42.299][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31871008
[2021-10-11 12:05:42.299][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31901504
[2021-10-11 12:05:42.318][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.318][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.348][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.348][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.350][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31932304
[2021-10-11 12:05:42.350][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31962320
[2021-10-11 12:05:42.378][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.378][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.397][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:31993008
[2021-10-11 12:05:42.409][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.409][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.439][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.439][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.447][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32023120
[2021-10-11 12:05:42.447][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32053408
[2021-10-11 12:05:42.470][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.470][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.497][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32084320
[2021-10-11 12:05:42.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32114336
[2021-10-11 12:05:42.501][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.501][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.531][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.531][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.547][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32144624
[2021-10-11 12:05:42.548][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32175536
[2021-10-11 12:05:42.562][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.562][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.592][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.593][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.598][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32206112
[2021-10-11 12:05:42.598][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32236128
[2021-10-11 12:05:42.623][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.623][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.647][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32266816
[2021-10-11 12:05:42.653][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.654][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.684][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.684][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.697][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32296832
[2021-10-11 12:05:42.698][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32327120
[2021-10-11 12:05:42.698][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32357568
[2021-10-11 12:05:42.715][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.715][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.746][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.746][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.748][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32387952
[2021-10-11 12:05:42.748][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32418240
[2021-10-11 12:05:42.776][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.776][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.798][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32448736
[2021-10-11 12:05:42.807][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.807][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.838][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.838][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.847][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32479120
[2021-10-11 12:05:42.848][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32509408
[2021-10-11 12:05:42.868][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.868][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.898][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32539904
[2021-10-11 12:05:42.898][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32570288
[2021-10-11 12:05:42.899][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.899][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.929][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.929][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.947][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32601040
[2021-10-11 12:05:42.948][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32631056
[2021-10-11 12:05:42.960][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.960][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.991][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:42.991][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:42.997][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32661904
[2021-10-11 12:05:42.997][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32691920
[2021-10-11 12:05:43.021][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.021][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.047][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32722208
[2021-10-11 12:05:43.052][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.052][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.082][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.082][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.097][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32752592
[2021-10-11 12:05:43.097][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32782880
[2021-10-11 12:05:43.098][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32813376
[2021-10-11 12:05:43.113][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.113][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.144][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.144][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.147][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32843760
[2021-10-11 12:05:43.174][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.174][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.198][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32874048
[2021-10-11 12:05:43.198][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32904544
[2021-10-11 12:05:43.204][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.204][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.235][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.235][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.248][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32934928
[2021-10-11 12:05:43.248][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32965216
[2021-10-11 12:05:43.266][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.266][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.296][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.296][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.308][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:32995712
[2021-10-11 12:05:43.308][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33026096
[2021-10-11 12:05:43.327][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.327][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.351][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33056384
[2021-10-11 12:05:43.352][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33088192
[2021-10-11 12:05:43.358][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.358][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.389][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.389][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.398][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33119376
[2021-10-11 12:05:43.398][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33149392
[2021-10-11 12:05:43.419][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.419][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.448][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33180080
[2021-10-11 12:05:43.450][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.450][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.480][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.481][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33210160
[2021-10-11 12:05:43.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33240288
[2021-10-11 12:05:43.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33271200
[2021-10-11 12:05:43.511][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.511][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.542][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.542][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.547][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33301776
[2021-10-11 12:05:43.573][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.573][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.601][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33331792
[2021-10-11 12:05:43.601][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33362480
[2021-10-11 12:05:43.603][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.603][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.634][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.634][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.653][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33392496
[2021-10-11 12:05:43.653][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33422720
[2021-10-11 12:05:43.665][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.665][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.696][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.696][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.697][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33453632
[2021-10-11 12:05:43.698][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33484208
[2021-10-11 12:05:43.726][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.726][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.747][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33514224
[2021-10-11 12:05:43.747][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33544912
[2021-10-11 12:05:43.757][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.757][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.788][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.788][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.797][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33574928
[2021-10-11 12:05:43.797][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33605152
[2021-10-11 12:05:43.818][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.818][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.847][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33636064
[2021-10-11 12:05:43.849][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.849][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.879][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.879][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.897][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33666080
[2021-10-11 12:05:43.898][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33696368
[2021-10-11 12:05:43.898][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33727280
[2021-10-11 12:05:43.909][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.909][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.940][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.940][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.947][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33757856
[2021-10-11 12:05:43.947][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33787872
[2021-10-11 12:05:43.970][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:43.970][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:43.997][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33818560
[2021-10-11 12:05:44.001][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.001][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:44.031][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.031][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:44.047][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33848576
[2021-10-11 12:05:44.047][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33878768
[2021-10-11 12:05:44.062][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.062][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:44.092][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.092][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:44.123][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.123][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1087200,669)->(1090800,659)
[2021-10-11 12:05:44.148][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33909216
[2021-10-11 12:05:44.148][Warn][43692][0273vhqr][11] RTP: jitbuffer NACK list contains too old sequence numbers: 451 > 450
[2021-10-11 12:05:44.148][Warn][43692][0273vhqr][11] RTP: jitbuffer key(34020000001320000005@34020000001320000005) requesting key frame due to missing too old packets
[2021-10-11 12:05:44.148][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33941760
[2021-10-11 12:05:44.153][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.184][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.197][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:33971776
[2021-10-11 12:05:44.215][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.245][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.248][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34001792
[2021-10-11 12:05:44.276][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.299][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34031808
[2021-10-11 12:05:44.300][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34061824
[2021-10-11 12:05:44.307][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.323][Trace][43692][l851496b] Hybrid cpu=2.00%,15MB, cid=22,2, timer=62,0,29, clock=0,47,1,0,0,0,0,0,0, free=1
[2021-10-11 12:05:44.324][Trace][43692][l851496b] RTC: Server conns=1, rpkts=(1,rtp:0,stun:1,rtcp:1), spkts=(1,rtp:1,stun:1,rtcp:0), rtcp=(pli:1,twcc:0,rr:0), fid=(id:1,fid:1,ffid:0,addr:1,faddr:1)
[2021-10-11 12:05:44.338][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.347][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34091840
[2021-10-11 12:05:44.369][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.398][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34121856
[2021-10-11 12:05:44.400][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.430][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.447][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34151872
[2021-10-11 12:05:44.461][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.491][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34181888
[2021-10-11 12:05:44.498][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34211904
[2021-10-11 12:05:44.522][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.547][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34241920
[2021-10-11 12:05:44.553][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.583][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.598][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34271936
[2021-10-11 12:05:44.614][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.645][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.647][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34301952
[2021-10-11 12:05:44.675][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.697][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34331968
[2021-10-11 12:05:44.698][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34361984
[2021-10-11 12:05:44.705][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.736][Warn][43692][c4307281][11] RTP: jitbuffer NextMaybeIncompleteTimestamp key(34020000001320000005@34020000001320000005) incomplete oldest_frame (1137600,698)->(1141200,689)
[2021-10-11 12:05:44.747][Trace][43692][0273vhqr] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34392000
[2021-10-11 12:05:44.747][Warn][43692][0273vhqr][11] RTP: jitbuffer NACK list contains too old sequence numbers: 451 > 450
[2021-10-11 12:05:44.748][Warn][43692][0273vhqr][11] RTP: jitbuffer key(34020000001320000005@34020000001320000005) requesting key frame due to missing too old packets
[2021-10-11 12:05:49.324][Trace][43692][l851496b] Hybrid cpu=1.00%,15MB, cid=22,2, timer=62,0,29, clock=0,47,1,0,0,0,0,0,0, free=1
[2021-10-11 12:05:49.324][Trace][43692][l851496b] RTC: Server conns=1, rpkts=(1,rtp:0,stun:1,rtcp:1), spkts=(8,rtp:8,stun:1,rtcp:0), rtcp=(pli:1,twcc:0,rr:0), fid=(id:0,fid:1,ffid:0,addr:1,faddr:1)
[2021-10-11 12:05:50.447][Trace][43692][0273vhqr] <- GBS gb28181: client_id , peer(192.168.99.70, 15060) ps rtp packet 112B, age=86131637, vt=2/96, sts=1450/2379600/0x2754005, paylod=100B
[2021-10-11 12:05:50.956][Trace][43692][52o80730] <- RTC RECV #12, udp 22, pps 0/2, schedule 22
[2021-10-11 12:05:54.325][Trace][43692][l851496b] Hybrid cpu=1.00%,16MB, cid=36,2, timer=62,0,48, clock=0,46,2,0,0,0,0,0,0, objs=(pkt:37,raw:29,fua:7,msg:67,oth:1,buf:1)
[2021-10-11 12:05:54.325][Trace][43692][l851496b] RTC: Server conns=1, rpkts=(1,rtp:0,stun:1,rtcp:1), spkts=(8,rtp:8,stun:1,rtcp:0), rtcp=(pli:1,twcc:0,rr:0), fid=(id:0,fid:1,ffid:0,addr:1,faddr:1)
[2021-10-11 12:05:57.364][Trace][43692][7t708uw5] RTC: NACK ARQ seq=700, ssrc=441332898, ts=2041200, count=1/1, 44 bytes
[2021-10-11 12:05:59.326][Trace][43692][l851496b] Hybrid cpu=2.00%,16MB, cid=36,2, timer=62,0,48, clock=0,46,2,0,0,0,0,0,0, objs=(pkt:37,raw:29,fua:7,msg:67,oth:1,buf:1)
[2021-10-11 12:05:59.326][Trace][43692][l851496b] RTC: Server conns=1, rpkts=(4,rtp:0,stun:1,rtcp:4), spkts=(30,rtp:30,stun:1,rtcp:0), rnk=(1,1,h:1,m:0), fid=(id:0,fid:4,ffid:0,addr:1,faddr:4)
[2021-10-11 12:05:59.840][Trace][43692][7t708uw5] DTLS: State Passive RECV, done=1, arq=0/0, r0=1, r1=0, len=31, cnt=21, size=18, hs=98
[2021-10-11 12:05:59.841][Warn][43692][7t708uw5][0] DTLS: SSL3 alert method=read type=warning, desc=CN(close notify), where=16388, ret=256, r1=0
[2021-10-11 12:05:59.841][Trace][43692][7t708uw5] RTC: session destroy by DTLS alert, username=43146319:oYrH
[2021-10-11 12:05:59.841][Trace][43692][7t708uw5] RTC: before dispose resource(RtcConn)(0x1861500), conns=1, zombies=0, ign=0, inz=0, ind=0
[2021-10-11 12:05:59.841][Trace][43692][7t708uw5] RTC: session detach from [7t708uw5](RtcConn), disposing=1
[2021-10-11 12:05:59.841][Trace][43692][2624sp58] RTC: clear zombies=1 resources, conns=1, removing=0, unsubs=1
[2021-10-11 12:05:59.841][Trace][43692][7t708uw5] RTC: disposing #0 resource(RtcConn)(0x1861500), conns=1, disposing=1, zombies=0
[2021-10-11 12:06:00.452][Trace][43692][c4307281] gb28181: client id=34020000001320000005@34020000001320000005,  ssrc=0x2754005, peer(192.168.99.70, 15060), rtmp muxer is alive
[2021-10-11 12:06:04.326][Trace][43692][l851496b] Hybrid cpu=1.00%,16MB, cid=36,2, timer=62,0,48, clock=0,46,2,0,0,0,0,0,0, objs=(pkt:37,raw:29,fua:7,msg:67,oth:1,buf:1)
[2021-10-11 12:06:05.137][Trace][43692][6suf50y8] HTTP #0 192.168.216.149:65293 GET http://192.168.216.39:1985/api/v1/gb28181?action=sip_bye&id=34020000001320000005&chid=34020000001320000005, content-length=-1
[2021-10-11 12:06:05.138][Trace][43692][0273vhqr] gb28181: request client id=34020000001320000005, peer(192.168.99.70, 5060)
[2021-10-11 12:06:05.138][Trace][43692][0273vhqr] gb28181: respone method=BYE, [email protected]:5060, version=SIP/2.0 
[2021-10-11 12:06:05.139][Trace][43692][0273vhqr] gb28181: request client id=34020000001320000005, peer(192.168.99.70, 5060)
[2021-10-11 12:06:05.139][Trace][43692][0273vhqr] gb28181: respone method=BYE, [email protected]:5060, version=SIP/2.0 
[2021-10-11 12:06:05.139][Trace][43692][0273vhqr] gb28181: BYE  34020000001320000005 client status=200
[2021-10-11 12:06:05.342][Trace][43692][6suf50y8] HTTP #1 192.168.216.149:65293 GET http://192.168.216.39:1985/favicon.ico, content-length=-1
[2021-10-11 12:06:07.165][Warn][43692][c4307281][11] gb28181: client id=34020000001320000005@34020000001320000005 ssrc=0x2754005, peer(192.168.99.70, 15060), no rtp data 2 in seconds, clean it, wait other port!
[2021-10-11 12:06:09.327][Trace][43692][l851496b] Hybrid cpu=2.00%,16MB, cid=2,2, timer=62,0,17, clock=0,47,1,0,0,0,0,0,0, free=1, objs=(pkt:32,raw:26,fua:5,msg:68,oth:1,buf:1)
[2021-10-11 12:06:11.498][Trace][43692][0273vhqr] gb28181: request client id=34020000001320000005 peer(192.168.99.70, 5060)
[2021-10-11 12:06:11.498][Trace][43692][0273vhqr] gb28181: request method=REGISTER, uri=sip:34020000002000000001@3402000000, version=SIP/2.0 expires=0
[2021-10-11 12:06:11.529][Trace][43692][f371g7r5] gb28181: sip session=34020000001320000005 register expire
[2021-10-11 12:06:11.529][Trace][43692][f371g7r5] gb28181: client id=34020000001320000005 sip session is remove
[2021-10-11 12:06:11.529][Trace][43692][f371g7r5] gb28181: sip client finished.
[2021-10-11 12:06:11.553][Trace][43692][c4307281] gb28181: client id=34020000001320000005@34020000001320000005,  ssrc=0x2754005, peer(, 0), rtmp muxer is alive
[2021-10-11 12:06:14.327][Trace][43692][l851496b] Hybrid cpu=0.00%,16MB, cid=2,2, timer=62,0,17, clock=0,47,1,0,0,0,0,0,0, free=1, objs=(pkt:32,raw:26,fua:5,msg:68,oth:1,buf:1)
^C[2021-10-11 12:06:16.642][Trace][43692][0273vhqr] sig=2, user terminate program, fast quit
[2021-10-11 12:06:17.377][Trace][43692][0273vhqr] cleanup for quit signal fast=1, grace=0
[2021-10-11 12:06:17.377][Warn][43692][0273vhqr][11] main cycle terminated, system quit normally.
[2021-10-11 12:06:17.477][Trace][43692][0273vhqr] srs disposed
[2021-10-11 12:06:17.477][Trace][43692][0273vhqr] srs terminated
  1. SRS的配置如下(Config):
# push gb28181 stream to SRS.

listen                  1935;
max_connections         1000;
daemon                  off;
srs_log_tank            console;

#srs_log_tank file;
#srs_log_level trace;
#srs_log_file ./objs/srs.log;

http_api {
    enabled         on;
    listen          1985;
}

http_server {
    enabled         on;
    listen          8098;
    dir             ./objs/nginx/html;
}

stats {
    network         0;
}

rtc_server {
    enabled         on;
    # Listen at udp://8000
    listen          8000;
    #
    # The $CANDIDATE means fetch from env, if not configed, use * as default.
    #
    # The * means retrieving server IP automatically, from all network interfaces,
    # @see https://github.com/ossrs/srs/issues/307#issuecomment-599028124
    #拉取流地址:使用本机地址或如下配置
    candidate 192.168.216.39; #设置为公网的地址
}

stream_caster {
    enabled             on;
    caster              gb28181;
    output              rtmp://127.0.0.1:1935/live/[stream];
    listen              9000;
#    tcp_enable            on;
    rtp_port_min        58200;
    rtp_port_max        58300;
    wait_keyframe       off;
    rtp_idle_timeout    9999999;
    audio_enable        off;
#    jitterbuffer_enable  false;
    host       192.168.216.39;
    auto_create_channel   on;
    sip {
        enabled on;
        listen              5060;
        serial              34020000002000000001;
        realm               3402000000;
        ack_timeout         30;
        keepalive_timeout   120;
        auto_play           off;
        invite_port_fixed     on;
        query_catalog_interval  3000;
    }
}

vhost __defaultVhost__ {
    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
	
	rtc {
        enabled     on;
        bframe      discard;
    }
}

重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. 启动SRS
  2. ipc推流
  3. web console 点击播放约3秒后开始播放视频
  4. 发送BYE指令,停止推流
  5. 等待几秒钟后发送INVITE指令再次开始推流。
  6. web console 点击播放约10几秒后才开始播放视频

期望行为(Expect)

ipc推流后播放器可以立刻播放视频。

H265: FFMPEG 对 H265 的 RTMP 直播流转码支持 #2562

描述(Description)

  1. 摄像头通过 RTMP 推 H265 流到 SRS,265 web 播放器能够正常播放,由于大屏需要同时播放至多 10+ 路的视频, 受限于 Web 端机器的解码能力无法做到同时播放多路的 H265 视频;所以我打算在Origin-cluster 的部署架构下, 在 edge 端使用 FFmpeg Transcode 对 265 视频流按需转码为 H264 进行分发,但是不能正常拉流

  2. 以下日志为 h265 -> srs -> 播放 h264 单进程模式进行的测试,不能正常拉流

能否扩展 FFmpeg 转码对 h265 的支持

  1. SRS版本(Version): feature/h265 v4.0.156
  2. SRS的日志如下(Log):
[2021-08-30 09:41:21.965][Trace][11][7k5ts90s] Hybrid cpu=0.00%,15MB, cid=3,1, timer=61,0,0, clock=0,40,5,1,1,1,0,1,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:117,oth:0,buf:0)
[2021-08-30 09:41:26.966][Trace][11][7k5ts90s] Hybrid cpu=1.00%,15MB, cid=3,1, timer=62,0,0, clock=0,46,2,1,0,0,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:8,oth:0,buf:0)
[2021-08-30 09:41:31.967][Trace][11][7k5ts90s] Hybrid cpu=0.00%,15MB, cid=3,1, timer=62,0,0, clock=0,46,2,1,0,0,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:8,oth:0,buf:0)
[2021-08-30 09:41:36.967][Trace][11][7k5ts90s] Hybrid cpu=0.00%,15MB, cid=3,1, timer=62,0,0, clock=0,46,2,1,0,0,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:8,oth:0,buf:0)
[2021-08-30 09:41:39.589][Trace][11][41i2w1qj] RTMP client ip=10.121.192.0:36656, fd=13
[2021-08-30 09:41:39.599][Trace][11][41i2w1qj] simple handshake success.
[2021-08-30 09:41:39.599][Trace][11][41i2w1qj] connect app, tcUrl=rtmp://push-pek-dev.domain.com:1935/live, pageUrl=, swfUrl=, schema=rtmp, vhost=push-pek-dev.domain.com, port=1935, app=live, args=null
[2021-08-30 09:41:39.599][Trace][11][41i2w1qj] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2021-08-30 09:41:39.647][Trace][11][41i2w1qj] client identified, type=fmle-publish, vhost=push-pek-dev.domain.com, app=live, stream=PkdiDbzcHJnN, param=?auth_sign=1630402035757-0-03C80017C73E19AC-ecfdcf4a9883665eadd0dae1e554533442c63654188908c560398ee64e1ea5d9, duration=0ms
[2021-08-30 09:41:39.647][Trace][11][41i2w1qj] connected stream, tcUrl=rtmp://push-pek-dev.domain.com:1935/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=PkdiDbzcHJnN, param=?auth_sign=1630402035757-0-03C80017C73E19AC-ecfdcf4a9883665eadd0dae1e554533442c63654188908c560398ee64e1ea5d9, args=null
[2021-08-30 09:41:39.648][Trace][11][41i2w1qj] source url=/live/PkdiDbzcHJnN, ip=10.121.192.0, cache=0, is_edge=0, source_id=/bhk472ek
[2021-08-30 09:41:39.694][Trace][11][41i2w1qj] hls: win=30000ms, frag=6000ms, prefix=, path=./objs/nginx/html, m3u8=[app]/[stream].m3u8, ts=[app]/[stream]/[timestamp].ts, aof=2.00, floor=0, clean=1, waitk=1, dispose=180000ms, dts_directly=1
[2021-08-30 09:41:39.695][Trace][11][41i2w1qj] ignore disabled exec for vhost=__defaultVhost__
[2021-08-30 09:41:39.696][Trace][11][41i2w1qj] set fd=13 TCP_NODELAY 0=>1
[2021-08-30 09:41:39.696][Trace][11][41i2w1qj] start publish mr=0/350, p1stpt=20000, pnt=5000, tcp_nodelay=1
[2021-08-30 09:41:39.701][Trace][11][7073iy8q] RTMP client ip=127.0.0.1:40460, fd=15
[2021-08-30 09:41:39.703][Trace][11][7073iy8q] complex handshake success
[2021-08-30 09:41:39.704][Trace][11][41i2w1qj] fored process, pid=36, bin=./objs/ffmpeg/bin/ffmpeg, stdout=./objs/ffmpeg-encoder-__defaultVhost__-live-PkdiDbzcHJnN-h265.log, stderr=./objs/ffmpeg-encoder-__defaultVhost__-live-PkdiDbzcHJnN-h265.log, argv=./objs/ffmpeg/bin/ffmpeg -f flv -i rtmp://127.0.0.1:1935/live?vhost=__defaultVhost__/PkdiDbzcHJnN -vcodec libx264 -threads 12 -profile:v main -preset medium -acodec  -f flv -y rtmp://127.0.0.1:1935/live?vhost=__defaultVhost__/PkdiDbzcHJnN_h265
[2021-08-30 09:41:39.704][Trace][11][41i2w1qj] -> ENC time=519829558, encoders=1, input=__defaultVhost__/live/PkdiDbzcHJnN
[2021-08-30 09:41:39.742][Trace][11][7073iy8q] connect app, tcUrl=rtmp://127.0.0.1:1935/live?vhost=__defaultVhost__, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, args=null
[2021-08-30 09:41:39.742][Trace][11][7073iy8q] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2021-08-30 09:41:39.777][Trace][11][41i2w1qj] 110B video sh,  codec(12, profile=Other, level=Other, 0x0, 0kbps, 0.0fps, 0.0s)
[2021-08-30 09:41:39.777][Trace][11][41i2w1qj] -> HLS time=519890958ms, sno=26, ts=PkdiDbzcHJnN/1630316499694.ts, dur=0.00, dva=0p
[2021-08-30 09:41:39.823][Trace][11][7073iy8q] ignore AMF0/AMF3 command message.
[2021-08-30 09:41:39.862][Trace][11][7073iy8q] ignore AMF0/AMF3 command message.
[2021-08-30 09:41:39.862][Trace][11][7073iy8q] client identified, type=rtmp-play, vhost=__defaultVhost__, app=live, stream=PkdiDbzcHJnN, param=, duration=-1ms
[2021-08-30 09:41:39.862][Trace][11][7073iy8q] connected stream, tcUrl=rtmp://127.0.0.1:1935/live?vhost=__defaultVhost__, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=PkdiDbzcHJnN, param=, args=null
[2021-08-30 09:41:39.862][Trace][11][7073iy8q] source url=/live/PkdiDbzcHJnN, ip=127.0.0.1, cache=0, is_edge=0, source_id=41i2w1qj/bhk472ek
[2021-08-30 09:41:39.863][Trace][11][7073iy8q] set fd=15 TCP_NODELAY 0=>1
[2021-08-30 09:41:39.863][Trace][11][7073iy8q] dispatch cached gop success. count=0, duration=9
[2021-08-30 09:41:39.863][Trace][11][7073iy8q] create consumer, active=1, queue_size=0.00, jitter=10000000
[2021-08-30 09:41:39.863][Trace][11][7073iy8q] set fd=15, SO_SNDBUF=2626560=>50000, buffer=100ms
[2021-08-30 09:41:39.863][Trace][11][7073iy8q] start play smi=0ms, mw_sleep=100, mw_msgs=0, realtime=1, tcp_nodelay=1
[2021-08-30 09:41:39.949][Warn][11][41i2w1qj][11] AUDIO: stream not monotonically increase, please open mix_correct.
[2021-08-30 09:41:39.949][Trace][11][41i2w1qj] 4B audio sh, codec(10, profile=Main, 1channels, 0kbps, 16000HZ), flv(16bits, 2channels, 44100HZ)
[2021-08-30 09:41:41.967][Trace][11][7k5ts90s] Hybrid cpu=2.00%,15MB, cid=3,1, timer=62,0,0, clock=0,45,2,1,1,1,1,0,0, objs=(pkt:0,raw:0,fua:0,msg:21,oth:0,buf:0)
[2021-08-30 09:41:44.874][Trace][11][v3h3p70e] RTMP client ip=10.121.192.0:36684, fd=16
[2021-08-30 09:41:44.910][Trace][11][v3h3p70e] simple handshake success.
[2021-08-30 09:41:44.911][Trace][11][v3h3p70e] connect app, tcUrl=rtmp://push-pek-dev.domain.com/live, pageUrl=, swfUrl=, schema=rtmp, vhost=push-pek-dev.domain.com, port=1935, app=live, args=null
[2021-08-30 09:41:44.912][Trace][11][v3h3p70e] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2021-08-30 09:41:44.989][Trace][11][v3h3p70e] ignore AMF0/AMF3 command message.
[2021-08-30 09:41:45.025][Trace][11][v3h3p70e] client identified, type=rtmp-play, vhost=push-pek-dev.domain.com, app=live, stream=PkdiDbzcHJnN_h265, param=, duration=-1ms
[2021-08-30 09:41:45.025][Trace][11][v3h3p70e] connected stream, tcUrl=rtmp://push-pek-dev.domain.com/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=PkdiDbzcHJnN_h265, param=, args=null
[2021-08-30 09:41:45.025][Trace][11][v3h3p70e] source url=/live/PkdiDbzcHJnN_h265, ip=10.121.192.0, cache=0, is_edge=0, source_id=/
[2021-08-30 09:41:45.026][Trace][11][v3h3p70e] set fd=16 TCP_NODELAY 0=>1
[2021-08-30 09:41:45.026][Trace][11][v3h3p70e] create consumer, active=0, queue_size=0.00, jitter=10000000
[2021-08-30 09:41:45.026][Trace][11][v3h3p70e] set fd=16, SO_SNDBUF=46080=>50000, buffer=100ms
[2021-08-30 09:41:45.026][Trace][11][v3h3p70e] start play smi=0ms, mw_sleep=100, mw_msgs=0, realtime=1, tcp_nodelay=1
[2021-08-30 09:41:46.968][Trace][11][7k5ts90s] Hybrid cpu=3.00%,15MB, cid=3,1, timer=62,0,0, clock=0,45,2,1,1,1,1,0,0, objs=(pkt:0,raw:0,fua:0,msg:21,oth:0,buf:0)
[2021-08-30 09:41:51.971][Trace][11][7k5ts90s] Hybrid cpu=1.00%,15MB, cid=3,1, timer=62,0,0, clock=0,45,2,1,1,1,1,0,0, objs=(pkt:0,raw:0,fua:0,msg:21,oth:0,buf:0)
[2021-08-30 09:41:54.263][Trace][11][7073iy8q] TCP: before dispose resource(RtmpConn)(0x28d3190), conns=3, zombies=0, ign=0, inz=0, ind=0
[2021-08-30 09:41:54.263][Warn][11][7073iy8q][104] client disconnect peer. ret=1007
[2021-08-30 09:41:54.263][Trace][11][32223m50] TCP: clear zombies=1 resources, conns=3, removing=0, unsubs=0
[2021-08-30 09:41:54.263][Trace][11][7073iy8q] TCP: disposing #0 resource(RtmpConn)(0x28d3190), conns=3, disposing=1, zombies=0
[2021-08-30 09:41:54.708][Trace][11][41i2w1qj] process pid=36 terminate, please restart it.
[2021-08-30 09:41:56.971][Trace][11][7k5ts90s] Hybrid cpu=2.00%,15MB, cid=2,1, timer=61,0,0, clock=0,42,5,1,1,0,0,1,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:120,oth:0,buf:0)
[2021-08-30 09:41:57.715][Trace][11][5144281r] RTMP client ip=127.0.0.1:42344, fd=15
[2021-08-30 09:41:57.716][Trace][11][5144281r] complex handshake success
[2021-08-30 09:41:57.719][Trace][11][41i2w1qj] fored process, pid=37, bin=./objs/ffmpeg/bin/ffmpeg, stdout=./objs/ffmpeg-encoder-__defaultVhost__-live-PkdiDbzcHJnN-h265.log, stderr=./objs/ffmpeg-encoder-__defaultVhost__-live-PkdiDbzcHJnN-h265.log, argv=./objs/ffmpeg/bin/ffmpeg -f flv -i rtmp://127.0.0.1:1935/live?vhost=__defaultVhost__/PkdiDbzcHJnN -vcodec libx264 -threads 12 -profile:v main -preset medium -acodec  -f flv -y rtmp://127.0.0.1:1935/live?vhost=__defaultVhost__/PkdiDbzcHJnN_h265
[2021-08-30 09:41:57.755][Trace][11][5144281r] connect app, tcUrl=rtmp://127.0.0.1:1935/live?vhost=__defaultVhost__, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, args=null
[2021-08-30 09:41:57.756][Trace][11][5144281r] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2021-08-30 09:41:57.836][Trace][11][5144281r] ignore AMF0/AMF3 command message.
[2021-08-30 09:41:57.875][Trace][11][5144281r] ignore AMF0/AMF3 command message.
[2021-08-30 09:41:57.875][Trace][11][5144281r] client identified, type=rtmp-play, vhost=__defaultVhost__, app=live, stream=PkdiDbzcHJnN, param=, duration=-1ms
[2021-08-30 09:41:57.875][Trace][11][5144281r] connected stream, tcUrl=rtmp://127.0.0.1:1935/live?vhost=__defaultVhost__, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=PkdiDbzcHJnN, param=, args=null
[2021-08-30 09:41:57.875][Trace][11][5144281r] source url=/live/PkdiDbzcHJnN, ip=127.0.0.1, cache=0, is_edge=0, source_id=41i2w1qj/bhk472ek
[2021-08-30 09:41:57.876][Trace][11][5144281r] set fd=15 TCP_NODELAY 0=>1
[2021-08-30 09:41:57.876][Trace][11][5144281r] dispatch cached gop success. count=0, duration=10
[2021-08-30 09:41:57.876][Trace][11][5144281r] create consumer, active=1, queue_size=0.00, jitter=10000000
[2021-08-30 09:41:57.876][Trace][11][5144281r] set fd=15, SO_SNDBUF=2626560=>50000, buffer=100ms
[2021-08-30 09:41:57.876][Trace][11][5144281r] start play smi=0ms, mw_sleep=100, mw_msgs=0, realtime=1, tcp_nodelay=1
[2021-08-30 09:41:59.803][Trace][11][41i2w1qj] -> HLS time=539926370ms, sno=28, ts=PkdiDbzcHJnN/1630316513804.ts, dur=0.00, dva=5996p
[2021-08-30 09:42:00.056][Trace][11][6t7912z5] HTTP #0 127.0.0.1:53554 GET http://localhost:1985/api/v1/streams/, content-length=-1
[2021-08-30 09:42:00.057][Trace][11][6t7912z5] TCP: before dispose resource(HttpConn)(0x28697f0), conns=4, zombies=0, ign=0, inz=0, ind=0
[2021-08-30 09:42:00.057][Trace][11][6t7912z5] client finished.
[2021-08-30 09:42:00.057][Trace][11][32223m50] TCP: clear zombies=1 resources, conns=4, removing=0, unsubs=0
[2021-08-30 09:42:00.057][Trace][11][6t7912z5] TCP: disposing #0 resource(HttpConn)(0x28697f0), conns=4, disposing=1, zombies=0
[2021-08-30 09:42:00.722][Trace][11][41i2w1qj] -> ENC time=540827381, encoders=1, input=__defaultVhost__/live/PkdiDbzcHJnN
[2021-08-30 09:42:01.972][Trace][11][7k5ts90s] Hybrid cpu=1.00%,15MB, cid=2,1, timer=61,0,0, clock=0,42,5,1,1,0,0,1,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:120,oth:0,buf:0)
[2021-08-30 09:42:02.932][Trace][11][5144281r] -> PLA time=4910942, msgs=6, okbps=1764,0,0, ikbps=5,0,0, mw=100/0
[2021-08-30 09:42:04.695][Trace][11][41i2w1qj] <- CPB time=19995278, okbps=1,0,0, ikbps=2446,0,0, mr=0/350, p1stpt=20000, pnt=5000
[2021-08-30 09:42:06.972][Trace][11][7k5ts90s] Hybrid cpu=2.00%,15MB, cid=2,1, timer=61,0,0, clock=0,42,5,1,1,0,0,1,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:120,oth:0,buf:0)
[2021-08-30 09:42:11.973][Trace][11][7k5ts90s] Hybrid cpu=2.00%,15MB, cid=2,1, timer=61,0,0, clock=0,41,5,1,1,1,1,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:126,oth:0,buf:0)
[2021-08-30 09:42:14.697][Trace][11][41i2w1qj] <- CPB time=30009654, okbps=0,1,0, ikbps=2381,2358,0, mr=0/350, p1stpt=20000, pnt=5000
[2021-08-30 09:42:15.106][Trace][11][5144281r] -> PLA time=17126509, msgs=4, okbps=2002,0,0, ikbps=1,0,0, mw=100/0
[2021-08-30 09:42:15.417][Trace][11][v3h3p70e] TCP: before dispose resource(RtmpConn)(0x2868f20), conns=3, zombies=0, ign=0, inz=0, ind=0
[2021-08-30 09:42:15.417][Warn][11][v3h3p70e][104] client disconnect peer. ret=1007
[2021-08-30 09:42:15.417][Trace][11][32223m50] TCP: clear zombies=1 resources, conns=3, removing=0, unsubs=0
[2021-08-30 09:42:15.417][Trace][11][v3h3p70e] TCP: disposing #0 resource(RtmpConn)(0x2868f20), conns=3, disposing=1, zombies=0
[2021-08-30 09:42:16.974][Trace][11][7k5ts90s] Hybrid cpu=2.00%,15MB, cid=2,1, timer=61,0,0, clock=0,41,5,1,1,1,1,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:126,oth:0,buf:0)
  1. SRS的配置如下(Config):
listen              1935;
max_connections     1000;
daemon              off;
srs_log_tank        console;

grace_start_wait    2300;
grace_final_wait    3200;
force_grace_quit    on;
inotify_auto_reload on;

http_api {
    enabled         on;
    listen          1985;
}

http_server {
    enabled         on;
    listen          8080;
}

vhost __defaultVhost__ {
    min_latency     on;
    tcp_nodelay     on;

    publish {
        mr off;
    }


    hls {
        enabled         on;
        hls_fragment    6;
        hls_window      30;
        hls_path        ./objs/nginx/html;
        hls_m3u8_file   [app]/[stream].m3u8;
        hls_ts_file     [app]/[stream]/[timestamp].ts;
        hls_cleanup     on;
        hls_dispose     180;
        hls_wait_keyframe       on;
    }

     play {
        gop_cache       off;
        queue_length    10;
        mw_latency      100;
    }

    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
        hstrs       on;
    }

    transcode live {
        enabled     on;
        ffmpeg      ./objs/ffmpeg/bin/ffmpeg;
        engine h265{
            enabled     on;
            vcodec          libx264;
            vthreads        12;
            vprofile        main;
            vpreset         medium;
            output          rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
        }
    }
}

重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. 推 h265 编码格式视频流
  2. 观看转码流:rtmp://192.168.1.170:1935/live/livestream_h265

期望行为(Expect)

期望 FFmpeg 转码功能能支持对 h265 的转码

在 originCluster 模式部署下,edge 端能够按需对 H265 的视频流进行转码

海康摄像头视频码率从2048调整为3072或者更高时UDP推流会丢包严重,严重影响视频质量

注意:提问前,请先看FAQ(Please read FAQ before file an issue) ossrs/srs#2716

描述(Description)
海康摄像头型号iDS-2DF8C840IXS-A/5G,视频码率从2048调整为3072或者更高时UDP推流会丢包严重,码率越高丢包率越高。导致视频花屏甚至无法播放。

描述你遇到了什么问题(Please description your issue here)

  1. SRS版本(Version): 5.0.19

  2. SRS的日志如下(Log):

[2022-02-08 18:18:06.243][Trace][24346][30r3y176] gb28181: client id=34020000002000000001@34020000001320000001,  ssrc=0x2872201, peer(192.168.0.64, 15060), rtmp muxer is alive
[2022-02-08 18:18:06.436][Trace][24346][438mt814] Hybrid cpu=2.99%,15MB, cid=1,0, timer=62,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-02-08 18:18:11.436][Trace][24346][438mt814] Hybrid cpu=2.00%,15MB, cid=1,0, timer=61,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-02-08 18:18:16.256][Trace][24346][30r3y176] gb28181: client id=34020000002000000001@34020000001320000001,  ssrc=0x2872201, peer(192.168.0.64, 15060), rtmp muxer is alive
[2022-02-08 18:18:16.437][Trace][24346][438mt814] Hybrid cpu=3.00%,15MB, cid=1,0, timer=61,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-02-08 18:18:21.437][Trace][24346][438mt814] Hybrid cpu=4.00%,15MB, cid=1,0, timer=62,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-02-08 18:18:26.258][Trace][24346][30r3y176] gb28181: client id=34020000002000000001@34020000001320000001,  ssrc=0x2872201, peer(192.168.0.64, 15060), rtmp muxer is alive
[2022-02-08 18:18:26.437][Trace][24346][438mt814] Hybrid cpu=3.00%,15MB, cid=1,0, timer=62,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-02-08 18:18:31.438][Trace][24346][438mt814] Hybrid cpu=3.00%,15MB, cid=1,0, timer=61,0,0, clock=0,43,5,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-02-08 18:18:36.272][Trace][24346][30r3y176] gb28181: client id=34020000002000000001@34020000001320000001,  ssrc=0x2872201, peer(192.168.0.64, 15060), rtmp muxer is alive
[2022-02-08 18:18:36.439][Trace][24346][438mt814] Hybrid cpu=3.99%,15MB, cid=1,0, timer=61,0,0, clock=0,43,5,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-02-08 18:18:41.440][Trace][24346][438mt814] Hybrid cpu=3.00%,15MB, cid=1,0, timer=61,0,0, clock=0,43,5,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-02-08 18:18:46.274][Trace][24346][20t71317] <- GBS gb28181: client_id , peer(192.168.0.64, 15060) ps rtp packet 348B, age=124843870, vt=2/96, sts=25019/10224000/0x2872201, paylod=336B
[2022-02-08 18:18:46.441][Trace][24346][438mt814] Hybrid cpu=3.00%,15MB, cid=1,0, timer=62,0,0, clock=0,43,5,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-02-08 18:18:51.441][Trace][24346][438mt814] Hybrid cpu=3.00%,15MB, cid=1,0, timer=62,0,0, clock=0,43,5,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-02-08 18:18:52.244][Trace][24346][457af1t6] gb28181: sip session=34020000002000000001 peer(192.168.0.64, 5060) status(RegisterOk,AliveOk) duration(129,0)
[2022-02-08 18:18:56.284][Trace][24346][20t71317] <- GBS gb28181: client_id , peer(192.168.0.64, 15060) ps rtp packet 984B, age=134846089, vt=2/96, sts=27248/11127600/0x2872201, paylod=972B
[2022-02-08 18:18:56.441][Trace][24346][438mt814] Hybrid cpu=3.00%,15MB, cid=1,0, timer=62,0,0, clock=0,44,3,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-02-08 18:19:01.442][Trace][24346][438mt814] Hybrid cpu=4.00%,15MB, cid=1,0, timer=62,0,0, clock=0,44,3,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-02-08 18:19:06.280][Trace][24346][20t71317] <- GBS gb28181: client_id , peer(192.168.0.64, 15060) ps rtp packet 1248B, age=144854675, vt=2/96, sts=29453/12031200/0x2872201, paylod=1236B
[2022-02-08 18:19:06.442][Trace][24346][438mt814] Hybrid cpu=3.99%,15MB, cid=1,0, timer=62,0,0, clock=0,44,3,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-02-08 18:19:11.443][Trace][24346][438mt814] Hybrid cpu=3.00%,15MB, cid=1,0, timer=62,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-02-08 18:19:16.283][Trace][24346][20t71317] <- GBS gb28181: client_id , peer(192.168.0.64, 15060) ps rtp packet 1032B, age=154857116, vt=2/96, sts=31654/12934800/0x2872201, paylod=1020B
[2022-02-08 18:19:16.444][Trace][24346][438mt814] Hybrid cpu=3.00%,15MB, cid=1,0, timer=62,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-02-08 18:19:17.309][Trace][24346][11i9i025] RTMP client ip=192.168.1.32:61238, fd=14
[2022-02-08 18:19:17.334][Trace][24346][11i9i025] complex handshake success
[2022-02-08 18:19:17.338][Trace][24346][11i9i025] connect app, tcUrl=rtmp://192.168.0.120:1936/live, pageUrl=, swfUrl=, schema=rtmp, vhost=192.168.0.120, port=1936, app=live, args=null
[2022-02-08 18:19:17.338][Trace][24346][11i9i025] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-02-08 18:19:17.386][Trace][24346][11i9i025] ignore AMF0/AMF3 command message.
[2022-02-08 18:19:17.434][Trace][24346][11i9i025] ignore AMF0/AMF3 command message.
[2022-02-08 18:19:17.434][Trace][24346][11i9i025] client identified, type=rtmp-play, vhost=192.168.0.120, app=live, stream=34020000002000000001@34020000001320000001, param=, duration=-1ms
[2022-02-08 18:19:17.434][Trace][24346][11i9i025] connected stream, tcUrl=rtmp://192.168.0.120:1936/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1936, app=live, stream=34020000002000000001@34020000001320000001, param=, args=null
[2022-02-08 18:19:17.434][Trace][24346][11i9i025] source url=/live/34020000002000000001@34020000001320000001, ip=192.168.1.32, cache=1, is_edge=0, source_id=457af1t6/457af1t6
[2022-02-08 18:19:17.435][Trace][24346][11i9i025] dispatch cached gop success. count=9, duration=328
[2022-02-08 18:19:17.435][Trace][24346][11i9i025] create consumer, active=1, queue_size=0.00, jitter=30000000
[2022-02-08 18:19:17.435][Trace][24346][11i9i025] set fd=14, SO_SNDBUF=46080=>175000, buffer=350ms
[2022-02-08 18:19:17.435][Trace][24346][11i9i025] start play smi=0ms, mw_sleep=350, mw_msgs=8, realtime=0, tcp_nodelay=0
[2022-02-08 18:19:21.445][Trace][24346][438mt814] Hybrid cpu=3.00%,15MB, cid=1,0, timer=62,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0)
[2022-02-08 18:19:22.540][Trace][24346][311tss34] RTMP client ip=192.168.1.32:61240, fd=15
[2022-02-08 18:19:22.562][Trace][24346][311tss34] complex handshake success
[2022-02-08 18:19:22.564][Trace][24346][311tss34] connect app, tcUrl=rtmp://192.168.0.120:1936/live, pageUrl=, swfUrl=, schema=rtmp, vhost=192.168.0.120, port=1936, app=live, args=null
[2022-02-08 18:19:22.564][Trace][24346][311tss34] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2022-02-08 18:19:22.611][Trace][24346][311tss34] ignore AMF0/AMF3 command message.
[2022-02-08 18:19:22.654][Trace][24346][311tss34] ignore AMF0/AMF3 command message.
[2022-02-08 18:19:22.654][Trace][24346][311tss34] client identified, type=rtmp-play, vhost=192.168.0.120, app=live, stream=34020000002000000001@34020000001320000001, param=, duration=-1ms
[2022-02-08 18:19:22.654][Trace][24346][311tss34] connected stream, tcUrl=rtmp://192.168.0.120:1936/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1936, app=live, stream=34020000002000000001@34020000001320000001, param=, args=null
[2022-02-08 18:19:22.655][Trace][24346][311tss34] source url=/live/34020000002000000001@34020000001320000001, ip=192.168.1.32, cache=1, is_edge=0, source_id=457af1t6/457af1t6
[2022-02-08 18:19:22.655][Trace][24346][311tss34] dispatch cached gop success. count=40, duration=1562
[2022-02-08 18:19:22.655][Trace][24346][311tss34] create consumer, active=1, queue_size=0.00, jitter=30000000
[2022-02-08 18:19:22.655][Trace][24346][311tss34] set fd=15, SO_SNDBUF=46080=>175000, buffer=350ms
[2022-02-08 18:19:22.655][Trace][24346][311tss34] start play smi=0ms, mw_sleep=350, mw_msgs=8, realtime=0, tcp_nodelay=0
[2022-02-08 18:19:26.280][Trace][24346][30r3y176] gb28181: client id=34020000002000000001@34020000001320000001,  ssrc=0x2872201, peer(192.168.0.64, 15060), rtmp muxer is alive
[2022-02-08 18:19:26.445][Trace][24346][438mt814] Hybrid cpu=2.00%,16MB, cid=2,1, timer=62,0,0, clock=0,43,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:76,oth:0,buf:0)
[2022-02-08 18:19:30.291][Trace][24346][11i9i025] -> PLA time=12664355, msgs=9, okbps=1939,0,0, ikbps=2,0,0, mw=350/8
[2022-02-08 18:19:31.445][Trace][24346][438mt814] Hybrid cpu=3.00%,16MB, cid=2,1, timer=62,0,0, clock=0,43,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:76,oth:0,buf:0)
[2022-02-08 18:19:36.298][Trace][24346][30r3y176] gb28181: client id=34020000002000000001@34020000001320000001,  ssrc=0x2872201, peer(192.168.0.64, 15060), rtmp muxer is alive
[2022-02-08 18:19:36.446][Trace][24346][438mt814] Hybrid cpu=2.99%,16MB, cid=2,1, timer=62,0,0, clock=0,43,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:76,oth:0,buf:0)
[2022-02-08 18:19:40.580][Trace][24346][11i9i025] -> PLA time=22903044, msgs=9, okbps=1943,0,0, ikbps=1,0,0, mw=350/8
[2022-02-08 18:19:41.447][Trace][24346][438mt814] Hybrid cpu=3.00%,16MB, cid=1,0, timer=61,0,0, clock=0,43,5,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:100,oth:0,buf:0)
[2022-02-08 18:19:46.301][Trace][24346][20t71317] <- GBS gb28181: client_id , peer(192.168.0.64, 15060) ps rtp packet 1312B, age=184874923, vt=2/96, sts=38296/15652800/0x2872201, paylod=1300B
[2022-02-08 18:19:46.447][Trace][24346][438mt814] Hybrid cpu=3.00%,16MB, cid=1,0, timer=61,0,0, clock=0,43,5,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:100,oth:0,buf:0)
[2022-02-08 18:19:50.555][Trace][24346][11i9i025] -> PLA time=32926849, msgs=9, okbps=1944,1958,0, ikbps=0,0,0, mw=350/8
[2022-02-08 18:19:51.447][Trace][24346][438mt814] Hybrid cpu=3.00%,16MB, cid=1,0, timer=62,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:100,oth:0,buf:0)
[2022-02-08 18:19:52.280][Trace][24346][457af1t6] gb28181: sip session=34020000002000000001 peer(192.168.0.64, 5060) status(RegisterOk,AliveOk) duration(189,0)
[2022-02-08 18:19:56.307][Trace][24346][30r3y176] gb28181: client id=34020000002000000001@34020000001320000001,  ssrc=0x2872201, peer(192.168.0.64, 15060), rtmp muxer is alive
[2022-02-08 18:19:56.448][Trace][24346][438mt814] Hybrid cpu=2.99%,16MB, cid=1,0, timer=62,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:100,oth:0,buf:0)
[2022-02-08 18:19:56.661][Trace][24346][20t71317] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:43315888, _buffer:45270992
[2022-02-08 18:19:58.651][Trace][24346][20t71317] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:43556016, _buffer:45478512
[2022-02-08 18:19:58.658][Trace][24346][20t71317] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:45478512, _buffer:45568528
[2022-02-08 18:19:58.681][Warn][24346][20t71317][11] RTP: jitbuffer NACK list has grown too large: 253 > 250
[2022-02-08 18:19:58.681][Warn][24346][20t71317][11] RTP: jitbuffer key(34020000002000000001@34020000001320000001) requesting key frame due to too large NACK list.
[2022-02-08 18:19:59.214][Trace][24346][30r3y176] RTP: jitbuffer key=34020000002000000001@34020000001320000001 reallocate a frame buffer size(93540>92000) resize(123540)
[2022-02-08 18:20:00.495][Trace][24346][11i9i025] -> PLA time=43069959, msgs=17, okbps=1996,1958,0, ikbps=0,0,0, mw=350/8
[2022-02-08 18:20:00.643][Trace][24346][20t71317] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:43826160, _buffer:45465520
[2022-02-08 18:20:01.448][Trace][24346][438mt814] Hybrid cpu=4.00%,16MB, cid=1,0, timer=62,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:100,oth:0,buf:0)
[2022-02-08 18:20:06.314][Trace][24346][30r3y176] gb28181: client id=34020000002000000001@34020000001320000001,  ssrc=0x2872201, peer(192.168.0.64, 15060), rtmp muxer is alive
[2022-02-08 18:20:06.448][Trace][24346][438mt814] Hybrid cpu=5.00%,16MB, cid=1,0, timer=62,0,0, clock=0,43,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:100,oth:0,buf:0)
[2022-02-08 18:20:07.207][Warn][24346][20t71317][11] RTP: jitbuffer NACK list has grown too large: 251 > 250
[2022-02-08 18:20:07.207][Warn][24346][20t71317][11] RTP: jitbuffer key(34020000002000000001@34020000001320000001) requesting key frame due to too large NACK list.
[2022-02-08 18:20:10.772][Trace][24346][11i9i025] -> PLA time=53343296, msgs=12, okbps=2184,1958,0, ikbps=0,0,0, mw=350/8
[2022-02-08 18:20:11.449][Trace][24346][438mt814] Hybrid cpu=3.00%,16MB, cid=1,0, timer=62,0,0, clock=0,43,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:100,oth:0,buf:0)
[2022-02-08 18:20:14.932][Warn][24346][20t71317][11] RTP: jitbuffer NACK list has grown too large: 261 > 250
[2022-02-08 18:20:14.932][Warn][24346][20t71317][11] RTP: jitbuffer key(34020000002000000001@34020000001320000001) requesting key frame due to too large NACK list.
[2022-02-08 18:20:15.888][Warn][24346][20t71317][11] RTP: jitbuffer NACK list has grown too large: 264 > 250
[2022-02-08 18:20:15.888][Warn][24346][20t71317][11] RTP: jitbuffer key(34020000002000000001@34020000001320000001) requesting key frame due to too large NACK list.
[2022-02-08 18:20:16.320][Trace][24346][30r3y176] gb28181: client id=34020000002000000001@34020000001320000001,  ssrc=0x2872201, peer(192.168.0.64, 15060), rtmp muxer is alive
[2022-02-08 18:20:16.450][Trace][24346][438mt814] Hybrid cpu=4.00%,17MB, cid=1,0, timer=62,0,0, clock=0,43,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:100,oth:0,buf:0)
[2022-02-08 18:20:16.603][Warn][24346][20t71317][11] RTP: jitbuffer NACK list has grown too large: 251 > 250
[2022-02-08 18:20:16.603][Warn][24346][20t71317][11] RTP: jitbuffer key(34020000002000000001@34020000001320000001) requesting key frame due to too large NACK list.
[2022-02-08 18:20:20.728][Trace][24346][11i9i025] -> PLA time=63312079, msgs=13, okbps=2302,2575,0, ikbps=0,0,0, mw=350/8
[2022-02-08 18:20:21.450][Trace][24346][438mt814] Hybrid cpu=4.00%,16MB, cid=1,0, timer=62,0,0, clock=0,43,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:100,oth:0,buf:0)
[2022-02-08 18:20:23.001][Warn][24346][20t71317][11] RTP: jitbuffer NACK list has grown too large: 262 > 250
[2022-02-08 18:20:23.001][Warn][24346][20t71317][11] RTP: jitbuffer key(34020000002000000001@34020000001320000001) requesting key frame due to too large NACK list.

  1. SRS的配置如下(Config):
push.gb28181.conf
# push gb28181 stream to SRS.

listen                  1936;
max_connections         1000;
daemon              off;
srs_log_tank        console;

http_api {
    enabled         on;
    listen          1985;
}

http_server {
    enabled         on;
    listen          8080;
}

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;

    # 转发流到rtmp服务器地址与端口
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
    # [stream] is VideoChannelCodecID(视频通道编码ID) for sip
    # 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
    # [ssrc] rtp中的ssrc
    output              rtmp://127.0.0.1:1935/live/[stream];
    
    # 接收设备端rtp流的多路复用端口
    listen              9001;
    # 多路复用端口类型,on为tcp,off为udp
    # 默认:on
    tcp_enable            on;

    # rtp接收监听端口范围,最小值
    rtp_port_min        58200;
    # rtp接收监听端口范围,最大值
    rtp_port_max        58300;

    # 是否等待关键帧之后,再转发,
    # off:不需等待,直接转发
    # on:等第一个关键帧后,再转发
    wait_keyframe       on;
    
    # rtp包空闲等待时间,如果指定时间没有收到任何包
    # rtp监听连接自动停止,发送BYE命令
    rtp_idle_timeout    30;

    # 是否转发音频流
    # 目前只支持aac格式,所以需要设备支持aac格式
    # on:转发音频
    # off:不转发音频,只有视频
    # *注意*!!!:flv 只支持11025  22050  44100 三种
    # 如果设备端没有三种中任何一个,转发时为自动选择一种格式
    # 同时也会将adts的头封装在flv aac raw数据中
    # 这样的话播放器为自动通过adts头自动选择采样频率
    # 像ffplay, vlc都可以,但是flash是没有声音,
    # 因为flash,只支持11025 22050 44100
    audio_enable        off;


    # 服务器主机号,可以域名或ip地址
    # 也就是设备端将媒体发送的地址,如果是服务器是内外网
    # 需要写外网地址,
    # 调用api创建stream session时返回ip地址也是host
    # $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
    # *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
    host       192.168.0.120;

    #根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
    #rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
    auto_create_channel   off;

    sip {
        # 是否启用srs内部sip信令
        # 为on信令走srs, off 只转发ps流
        enabled on;
        
        # sip监听udp端口
        listen              5060;
        
        # SIP server ID(SIP服务器ID).
        # 设备端配置编号需要与该值一致,否则无法注册
        serial              34020000002000000001;

        # SIP server domain(SIP服务器域)
        realm               3402000000;

        # 服务端发送ack后,接收回应的超时时间,单位为秒
        # 如果指定时间没有回应,认为失败
        ack_timeout         30;

        # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
        # 认为设备离线
        keepalive_timeout   120;

        # 注册之后是否自动给设备端发送invite
        # on: 是  off 不是,需要通过api控制
        auto_play           on;
        # 设备将流发送的端口,是否固定
        # on 发送流到多路复用端口 如9000
        # off 自动从rtp_mix_port - rtp_max_port 之间的值中
        # 选一个可以用的端口
        invite_port_fixed     on;

        # 向设备或下级域查询设备列表的间隔,单位(秒)
        # 默认60秒
        query_catalog_interval  60;
    }
}

rtc_server {
    enabled         on;
    # Listen at udp://8000
    listen          8000;
    #
    # The $CANDIDATE means fetch from env, if not configed, use * as default.
    #
    # The * means retrieving server IP automatically, from all network interfaces,
    # @see https://github.com/ossrs/srs/issues/307#issuecomment-599028124
    candidate       192.168.0.120;
}

vhost __defaultVhost__ {
    rtc {
        enabled     on;
        bframe      discard;
    }

    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
}


重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. 海康摄像头型号不一定必须是我提供的,设置视频码率为3M以上,我一开始设置最大16M
  2. 注册摄像头成功之后,直接报错提示丢包,详细见日志
  3. 码率超过3M的时候该现象必现,码率越高丢包越严重

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)

期望不丢包,设备正常工作,能正常播放,视频质量良好。

GB28181:注销时未及时删除流通道SrsGb28181Manger::delete_stream_channel #2224

描述(Description)

28181注销register(expire=0)时,没有及时清理设备流通道,导致连接两次注册推流间隔太短的话,jitterbuffer报错

  1. SRS版本(Version): 4.0release; develop;

期望行为(Expect)

--- a/trunk/src/app/srs_app_gb28181_sip.cpp
+++ b/trunk/src/app/srs_app_gb28181_sip.cpp
@@ -134,6 +134,9 @@ void SrsGb28181SipSession::destroy()
     //destory all device
     std::map<std::string, SrsGb28181Device*>::iterator it;
     for (it = _device_list.begin(); it != _device_list.end(); ++it) {
+        std::string chid = it->first;
+        _srs_gb28181->delete_stream_channel(_session_id, chid);
+
         srs_freep(it->second);
     }

支持对接GB28181吗?监控,智能摄像头,国标推流 #1500

Notice

SRS 5.0已经正式支持了GB28181的功能,请参考 SRS #3176,请大家使用SRS 5.0.74+的版本。

Usage

编译SRS,需要切换到Develop分支,并开启gb28181功能:

git checkout feature/gb28181 &&
./configure --with-gb28181 && 
make clean && make

然后使用配置文件conf/push.gb28181.conf 启动:

./objs/srs -c conf/push.gb28181.conf 

Remark: 一定要修改配置文件中的host配置,改成你的服务器的IP,摄像头能访问到的这个IP。后续会改进为自动获取,目前还需要修改配置。

然后按下面的操作配置摄像头,推流到SRS:

image

最后,观看RTMP流:rtmp://localhost:1935/live/34020000001320000001

Remark: 海康摄像头连接有线后,可以在路由器的后台看到摄像头的内网IP,然后访问这个IP进入管理页面;注意Chrome可能会报错,可以换成Safari或其他浏览器试试。其他摄像头也有对应办法,可以配置摄像头使用GB28181推流。

Remark:如果看不了流,请确认你的服务器IP,还有流名称也就是视频通道编码ID是否正确。

Remark: 默认不开启声音,如果需要开启声音,要打开配置audio_enable on;,并且在摄像头的音频配置中开启。

Remark: 若需要开启音频,需要将编码设置为AAC,同时采样率设置为44100HZ,否则Flash可能无法观看。

资料

SRS4.0 GB28181配置说明与API接口文档 说明

SRS GB28181 PS流压测工具使用说明

SIP认证:ossrs/srs#1500 (comment)

PS流问题排查:ossrs/srs#1500 (comment)

Q&A

  1. SRS支持RTSP服务器吗?

不支持,没有应用场景,请参考#2304

  1. SRS支持拉RTSP流吗?

支持,用Ingester就可以。本质上Ingester就是用FFmpeg拉流,所以能拉的流可以很多,不限于RTSP。请参考#2304

  1. SRS支持接收RTSP流吗?也就是推流到SRS?

不支持,因为这不是正确用法,详细原因参考#2304

  1. GB目前是什么状态?

试验性的功能状态,在feature/gb28181分支中开发和稳定,等稳定性达到要求了,就会进入develop随主版本发布。

gb28181的raw_api接口调用直接 #2607

注意:不提供以下信息的Issue会被直接删除(Please follow issue template, or we will delete it)

注意:咨询和讨论请提交到SRS星球(Please ask question at) http://bbs.ossrs.net

描述(Description)

描述你遇到了什么问题(Please description your issue here)

  1. SRS版本(Version): 4.0
  2. SRS的日志如下(Log):
    image
  3. SRS的配置如下(Config):
使用原生的push.gb28181.conf

重现(Replay)

重现Bug的步骤(How to replay bug?)
只要调用存在sip_session的设备id就会coredump
image

定位代码片段
image

描述你期望发生的事情(Please describe your expectation)
把这个接口隐藏或者修复该bug。

海康摄像头播放只有视频没有声音

注意:提问前,请先看FAQ(Please read FAQ before file an issue) ossrs/srs#2716

描述(Description)
海康摄像头,使用flv或者webrtc播放只有视频没有声音,只有画面

并且通过下面的日志,可以发现是有视频流和音频流的
[2022-01-11 01:08:02.368][Trace][17470][4pp23oc8] gb28181: ps map video es_type=h264(1b), es_id=e0, es_info_length=28
[2022-01-11 01:08:02.368][Trace][17470][4pp23oc8] gb28181: ps map audio es_type=aac(f), es_id=c0, es_info_length=12

描述你遇到了什么问题(Please description your issue here)

  1. SRS版本(Version): srs-gb28181 最新版本

  2. SRS的日志如下(Log):


2022-01-11 01:07:59.765][Debug][17470][9j3cj75v] sip: header=MESSAGE sip:34020000002000000001@3402000000 SIP/2.0
Via: SIP/2.0/UDP 10.100.2.11:5060;rport;branch=z9hG4bK386999057
From: <sip:34020000001320000009@3402000000>;tag=420211464
To: <sip:34020000002000000001@3402000000>
Call-ID: 1307331763
CSeq: 20 MESSAGE
Content-Type: Application/MANSCDP+xml
Max-Forwards: 70
User-Agent: IP Camera
Content-Length:   966



[2022-01-11 01:07:59.765][Debug][17470][9j3cj75v] sip: body=<?xml version="1.0" encoding="GB2312"?>
<Response>
<CmdType>Catalog</CmdType>
<SN>47079236</SN>
<DeviceID>34020000001320000009</DeviceID>
<SumNum>2</SumNum>
<DeviceList Num="2">
<Item>
<DeviceID>34020000001320000002</DeviceID>
<Name>Camera 01</Name>
<Manufacturer>Hikvision</Manufacturer>
<Model>IP Camera</Model>
<Owner>Owner</Owner>
<CivilCode>3402000000</CivilCode>
<Address>Address</Address>
<Parental>0</Parental>
<ParentID>34020000002000000001</ParentID>
<SafetyWay>0</SafetyWay>
<RegisterWay>1</RegisterWay>
<Secrecy>0</Secrecy>
<Status>ON</Status>
</Item>
<Item>
<DeviceID>34020000001370000002</DeviceID>
<Name></Name>
<Manufacturer>Hikvision</Manufacturer>
<Model>AudioOut</Model>
<Owner>Owner</Owner>
<CivilCode>3402000000</CivilCode>
<Address>Address</Address>
<Parental>0</Parental>
<ParentID>34020000001320000009</ParentID>
<SafetyWay>0</SafetyWay>
<RegisterWay>1</RegisterWay>
<Secrecy>0</Secrecy>
<Status>ON</Status>
</Item>
</DeviceList>
</Response>


[2022-01-11 01:07:59.765][Debug][17470][9j3cj75v] sip: first line=MESSAGE sip:34020000002000000001@3402000000 SIP/2.0
[2022-01-11 01:07:59.766][Debug][17470][9j3cj75v] device list item : deviceId=34020000001320000002, status=ON,Camera 01
[2022-01-11 01:07:59.766][Debug][17470][9j3cj75v] device list item : deviceId=34020000001370000002, status=ON,
[2022-01-11 01:07:59.766][Debug][17470][9j3cj75v] sip: method=MESSAGE uri=sip:34020000002000000001@3402000000 version=SIP/2.0 cmdtype=request
[2022-01-11 01:07:59.766][Debug][17470][9j3cj75v] via=SIP/2.0/UDP 10.100.2.11:5060;rport;branch=z9hG4bK386999057
[2022-01-11 01:07:59.766][Debug][17470][9j3cj75v] via_branch=z9hG4bK386999057
[2022-01-11 01:07:59.766][Debug][17470][9j3cj75v] cseq=20
[2022-01-11 01:07:59.766][Debug][17470][9j3cj75v] contact=
[2022-01-11 01:07:59.766][Debug][17470][9j3cj75v] from=34020000001320000009@3402000000
[2022-01-11 01:07:59.766][Debug][17470][9j3cj75v] to=34020000002000000001@3402000000
[2022-01-11 01:07:59.766][Debug][17470][9j3cj75v] callid=1307331763
[2022-01-11 01:07:59.766][Debug][17470][9j3cj75v] status=
[2022-01-11 01:07:59.766][Debug][17470][9j3cj75v] from_tag=420211464
[2022-01-11 01:07:59.766][Debug][17470][9j3cj75v] to_tag=
[2022-01-11 01:07:59.766][Debug][17470][9j3cj75v] sip_auth_id=34020000001320000009
[2022-01-11 01:07:59.766][Debug][17470][9j3cj75v] gb28181: send_message:SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.100.2.11:5060;rport=5060;received=10.100.2.11;branch=z9hG4bK386999057
From: <sip:34020000001320000009@3402000000>;tag=420211464
To: <sip:34020000002000000001@3402000000>
CSeq: 20 MESSAGE
Call-ID: 1307331763
User-Agent: SRS/5.0.19(Leo)
Content-Length: 0


[2022-01-11 01:08:00.750][Trace][17470][r7126f77] gb28181: generate ssrc id=34020000001320000009@34020000001320000002, ssrc=39827715
[2022-01-11 01:08:00.750][Debug][17470][r7126f77] discovery schema=rtmp
[2022-01-11 01:08:00.750][Debug][17470][r7126f77] discovery host=127.0.0.1:1935
[2022-01-11 01:08:00.750][Debug][17470][r7126f77] discovery host=127.0.0.1, port=1935
[2022-01-11 01:08:00.750][Debug][17470][r7126f77] discovery schema=rtmp
[2022-01-11 01:08:00.751][Debug][17470][r7126f77] discovery host=127.0.0.1:1935
[2022-01-11 01:08:00.751][Debug][17470][r7126f77] discovery host=127.0.0.1, port=1935
[2022-01-11 01:08:00.751][Debug][17470][r7126f77] update req of soruce for auth ok
[2022-01-11 01:08:00.751][Debug][17470][r7126f77] update req of soruce for auth ok
[2022-01-11 01:08:00.753][Trace][17470][r7126f77] RTC bridge from RTMP, rtmp2rtc=1, keep_bframe=0, merge_nalus=0
[2022-01-11 01:08:00.753][Trace][17470][r7126f77] ignore disabled exec for vhost=
[2022-01-11 01:08:00.753][Trace][17470][r7126f77] gb28181: create new stream channel id:34020000001320000009@34020000001320000002 rtmp url=rtmp://127.0.0.1:1935/live/34020000001320000009@34020000001320000002
[2022-01-11 01:08:00.753][Debug][17470][r7126f77] gb28181: send_message:INVITE sip:34020000001320000002@3402000000 SIP/2.0
Via: SIP/2.0/UDP 10.0.23.122:5060;rport;branch=SrsGbB12864913
From: <sip:34020000002000000001@3402000000>;tag=SrsGbF38452399
To: <sip:34020000001320000002@3402000000>
Call-ID: 202014291117
CSeq: 101 INVITE
Content-Type: Application/SDP
Contact: <sip:34020000001320000002@3402000000>
Max-Forwards: 70
User-Agent: SRS/5.0.19(Leo)
Subject: 34020000001320000002:0039827715,34020000002000000001:0
Content-Length: 217

v=0
o=34020000002000000001 0 0 IN IP4 10.0.23.122
s=Play
c=IN IP4 10.0.23.122
t=0 0
m=video 9000 RTP/AVP 96 97 98
a=recvonly
a=rtpmap:96 PS/90000
a=rtpmap:97 MPEG4/90000
a=rtpmap:98 H264/90000
y=0039827715

[2022-01-11 01:08:00.753][Trace][17470][82823349] gb28181: client id=34020000001320000009@34020000001320000002,  ssrc=0x25fb903, peer(, 0), rtmp muxer is alive
[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] gb28181: request peer(10.100.2.11, 5060) nbbuf=280
[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] gb28181: request recv message=SIP/2.0 100 Trying
Via: SIP/2.0/UDP 10.0.23.122:5060;rport=5060;branch=SrsGbB12864913
From: <sip:34020000002000000001@3402000000>;tag=SrsGbF38452399
To: <sip:34020000001320000002@3402000000>
Call-ID: 202014291117
CSeq: 101 INVITE
User-Agent: IP Camera
Content-Length: 0


[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] sip: header=SIP/2.0 100 Trying
Via: SIP/2.0/UDP 10.0.23.122:5060;rport=5060;branch=SrsGbB12864913
From: <sip:34020000002000000001@3402000000>;tag=SrsGbF38452399
To: <sip:34020000001320000002@3402000000>
Call-ID: 202014291117
CSeq: 101 INVITE
User-Agent: IP Camera
Content-Length: 0



[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] sip: body=

[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] sip: first line=SIP/2.0 100 Trying
[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] sip: method=INVITE uri=34020000002000000001@3402000000 version=SIP/2.0 cmdtype=respone
[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] via=SIP/2.0/UDP 10.0.23.122:5060;rport=5060;branch=SrsGbB12864913
[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] via_branch=SrsGbB12864913
[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] cseq=101
[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] contact=
[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] from=34020000002000000001@3402000000
[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] to=34020000001320000002@3402000000
[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] callid=202014291117
[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] status=100
[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] from_tag=SrsGbF38452399
[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] to_tag=
[2022-01-11 01:08:00.757][Debug][17470][9j3cj75v] sip_auth_id=34020000001320000002
[2022-01-11 01:08:00.757][Trace][17470][9j3cj75v] gb28181: request client id=34020000001320000002, peer(10.100.2.11, 5060)
[2022-01-11 01:08:00.757][Trace][17470][9j3cj75v] gb28181: respone method=INVITE, uri=34020000002000000001@3402000000, version=SIP/2.0 
[2022-01-11 01:08:00.758][Trace][17470][9j3cj75v] gb28181: INVITE response 34020000001320000002 client status=100
[2022-01-11 01:08:00.773][Debug][17470][9j3cj75v] gb28181: request peer(10.100.2.11, 5060) nbbuf=561
[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] gb28181: request recv message=SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.0.23.122:5060;rport=5060;branch=SrsGbB12864913
From: <sip:34020000002000000001@3402000000>;tag=SrsGbF38452399
To: <sip:34020000001320000002@3402000000>;tag=1831495687
Call-ID: 202014291117
CSeq: 101 INVITE
Contact: <sip:[email protected]:5060>
Content-Type: application/sdp
User-Agent: IP Camera
Content-Length:   181

v=0
o=34020000001320000009 266 266 IN IP4 10.100.2.11
s=Play
c=IN IP4 10.100.2.11
t=0 0
m=video 15060 RTP/AVP 96
a=sendonly
a=rtpmap:96 PS/90000
a=filesize:0
y=0039827715

[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] sip: header=SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.0.23.122:5060;rport=5060;branch=SrsGbB12864913
From: <sip:34020000002000000001@3402000000>;tag=SrsGbF38452399
To: <sip:34020000001320000002@3402000000>;tag=1831495687
Call-ID: 202014291117
CSeq: 101 INVITE
Contact: <sip:[email protected]:5060>
Content-Type: application/sdp
User-Agent: IP Camera
Content-Length:   181



[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] sip: body=v=0
o=34020000001320000009 266 266 IN IP4 10.100.2.11
s=Play
c=IN IP4 10.100.2.11
t=0 0
m=video 15060 RTP/AVP 96
a=sendonly
a=rtpmap:96 PS/90000
a=filesize:0
y=0039827715


[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] sip: first line=SIP/2.0 200 OK
[2022-01-11 01:08:00.774][Trace][17470][9j3cj75v] gb28181: ssrc in y line is 39827715:25fb903
[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] sip: method=INVITE uri=34020000002000000001@3402000000 version=SIP/2.0 cmdtype=respone
[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] via=SIP/2.0/UDP 10.0.23.122:5060;rport=5060;branch=SrsGbB12864913
[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] via_branch=SrsGbB12864913
[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] cseq=101
[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] contact=<sip:[email protected]:5060>
[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] from=34020000002000000001@3402000000
[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] to=34020000001320000002@3402000000
[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] callid=202014291117
[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] status=200
[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] from_tag=SrsGbF38452399
[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] to_tag=1831495687
[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] sip_auth_id=34020000001320000002
[2022-01-11 01:08:00.774][Trace][17470][9j3cj75v] gb28181: request client id=34020000001320000002, peer(10.100.2.11, 5060)
[2022-01-11 01:08:00.774][Trace][17470][9j3cj75v] gb28181: respone method=INVITE, uri=34020000002000000001@3402000000, version=SIP/2.0 
[2022-01-11 01:08:00.774][Trace][17470][9j3cj75v] gb28181: INVITE response 34020000001320000002 client status=200
[2022-01-11 01:08:00.774][Trace][17470][9j3cj75v] gb28181: device unique id is 34020000001320000009@34020000001320000002
[2022-01-11 01:08:00.774][Debug][17470][9j3cj75v] gb28181: send_message:ACK sip:34020000001320000002@3402000000 SIP/2.0
Via: SIP/2.0/UDP 10.0.23.122:5060;rport;branch=SrsGbB12864913
From: <sip:34020000002000000001@3402000000>;tag=SrsGbF38452399
To: <sip:34020000001320000002@3402000000>;tag=1831495687
Call-ID: 202014291117
CSeq: 101 ACK
Max-Forwards: 70
User-Agent: SRS/5.0.19(Leo)
Content-Length: 0


[2022-01-11 01:08:00.837][Trace][17470][9j3cj75v] <- GBS gb28181: client_id , peer(10.100.2.11, 15060) ps rtp packet 1412B, age=1808449051, vt=2/96, sts=0/0/0x25fb903, paylod=1400B
[2022-01-11 01:08:00.838][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=21241808, minimumSize=30000, size=0
[2022-01-11 01:08:00.838][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:21241808
[2022-01-11 01:08:00.842][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=21241808 newbuffer=22693184, minimumSize=90000, size=30000
[2022-01-11 01:08:00.842][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:21241808, _buffer:22693184
[2022-01-11 01:08:00.846][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=22693184 newbuffer=21026208, minimumSize=210000, size=90000
[2022-01-11 01:08:00.846][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:22693184, _buffer:21026208
[2022-01-11 01:08:00.846][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=21241808, minimumSize=30000, size=0
[2022-01-11 01:08:00.846][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:21241808
[2022-01-11 01:08:00.881][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=21272192, minimumSize=30000, size=0
[2022-01-11 01:08:00.881][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:21272192
[2022-01-11 01:08:00.881][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=21347648, minimumSize=30000, size=0
[2022-01-11 01:08:00.882][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:21347648
[2022-01-11 01:08:00.912][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=22789440, minimumSize=30000, size=0
[2022-01-11 01:08:00.912][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:22789440
[2022-01-11 01:08:00.954][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=27160608, minimumSize=30000, size=0
[2022-01-11 01:08:00.955][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27160608
[2022-01-11 01:08:00.964][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=22632752, minimumSize=30000, size=0
[2022-01-11 01:08:00.964][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:22632752
[2022-01-11 01:08:00.995][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=26158848, minimumSize=30000, size=0
[2022-01-11 01:08:00.995][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:26158848
[2022-01-11 01:08:01.037][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=27719136, minimumSize=30000, size=0
[2022-01-11 01:08:01.037][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27719136
[2022-01-11 01:08:01.047][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=24143824, minimumSize=30000, size=0
[2022-01-11 01:08:01.047][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24143824
[2022-01-11 01:08:01.078][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=24180896, minimumSize=30000, size=0
[2022-01-11 01:08:01.078][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24180896
[2022-01-11 01:08:01.079][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=21598624, minimumSize=30000, size=0
[2022-01-11 01:08:01.079][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:21598624
[2022-01-11 01:08:01.109][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=23798672, minimumSize=30000, size=0
[2022-01-11 01:08:01.109][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:23798672
[2022-01-11 01:08:01.150][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=21712784, minimumSize=30000, size=0
[2022-01-11 01:08:01.150][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:21712784
[2022-01-11 01:08:01.160][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=28896800, minimumSize=30000, size=0
[2022-01-11 01:08:01.160][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:28896800
[2022-01-11 01:08:01.191][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=21989552, minimumSize=30000, size=0
[2022-01-11 01:08:01.191][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:21989552
[2022-01-11 01:08:01.202][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=21639200, minimumSize=30000, size=0
[2022-01-11 01:08:01.202][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:21639200
[2022-01-11 01:08:01.234][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=22076384, minimumSize=30000, size=0
[2022-01-11 01:08:01.234][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:22076384
[2022-01-11 01:08:01.275][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=21431696, minimumSize=30000, size=0
[2022-01-11 01:08:01.276][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:21431696
[2022-01-11 01:08:01.285][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=21478864, minimumSize=30000, size=0
[2022-01-11 01:08:01.285][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:21478864
[2022-01-11 01:08:01.306][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=22825120, minimumSize=30000, size=0
[2022-01-11 01:08:01.307][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:22825120
[2022-01-11 01:08:01.348][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=20636000, minimumSize=30000, size=0
[2022-01-11 01:08:01.348][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:20636000
[2022-01-11 01:08:01.358][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=22451952, minimumSize=30000, size=0
[2022-01-11 01:08:01.358][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:22451952
[2022-01-11 01:08:01.389][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=20876128, minimumSize=30000, size=0
[2022-01-11 01:08:01.389][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:20876128
[2022-01-11 01:08:01.400][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=21529856, minimumSize=30000, size=0
[2022-01-11 01:08:01.400][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:21529856
[2022-01-11 01:08:01.405][Trace][17470][82823349] RTP: jitbuffer key=34020000001320000009@34020000001320000002 reallocate a frame buffer size(91508>0) resize(121508)
[2022-01-11 01:08:01.406][Trace][17470][82823349] gb28181: ps map video es_type=h264(1b), es_id=e0, es_info_length=28
[2022-01-11 01:08:01.406][Trace][17470][82823349] gb28181: ps map audio es_type=aac(f), es_id=c0, es_info_length=12
[2022-01-11 01:08:01.406][Trace][17470][82823349] 43B video sh,  codec(7, profile=Main, level=3.1, 1280x720, 0kbps, 0.0fps, 0.0s)
[2022-01-11 01:08:01.407][Debug][17470][82823349] RTC STAP-A seq=0, sps 23, pps 4 bytes
[2022-01-11 01:08:01.485][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=21378416, minimumSize=30000, size=0
[2022-01-11 01:08:01.485][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:21378416
[2022-01-11 01:08:01.517][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=21769424, minimumSize=30000, size=0
[2022-01-11 01:08:01.517][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:21769424
[2022-01-11 01:08:01.600][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=24230480, minimumSize=30000, size=0
[2022-01-11 01:08:01.600][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24230480
[2022-01-11 01:08:01.684][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=24260496, minimumSize=30000, size=0
[2022-01-11 01:08:01.684][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:24260496
[2022-01-11 01:08:01.685][Warn][17470][9j3cj75v][11] RTP: jitbuffer NACK list has grown too large: 277 > 250
[2022-01-11 01:08:01.685][Warn][17470][9j3cj75v][11] RTP: jitbuffer key(34020000001320000009@34020000001320000002) requesting key frame due to too large NACK list.
[2022-01-11 01:08:01.751][Trace][17470][r7126f77] gb28181: 34020000001320000009 clients device=34020000001320000002 send invite code=0
[2022-01-11 01:08:01.751][Trace][17470][r7126f77] gb28181: generate ssrc id=34020000001320000009@34020000001370000002, ssrc=4199436
[2022-01-11 01:08:01.751][Debug][17470][r7126f77] discovery schema=rtmp
[2022-01-11 01:08:01.751][Debug][17470][r7126f77] discovery host=127.0.0.1:1935
[2022-01-11 01:08:01.751][Debug][17470][r7126f77] discovery host=127.0.0.1, port=1935
[2022-01-11 01:08:01.751][Debug][17470][r7126f77] discovery schema=rtmp
[2022-01-11 01:08:01.751][Debug][17470][r7126f77] discovery host=127.0.0.1:1935
[2022-01-11 01:08:01.751][Debug][17470][r7126f77] discovery host=127.0.0.1, port=1935
[2022-01-11 01:08:01.751][Debug][17470][r7126f77] update req of soruce for auth ok
[2022-01-11 01:08:01.751][Debug][17470][r7126f77] update req of soruce for auth ok
[2022-01-11 01:08:01.752][Trace][17470][r7126f77] RTC bridge from RTMP, rtmp2rtc=1, keep_bframe=0, merge_nalus=0
[2022-01-11 01:08:01.752][Trace][17470][r7126f77] ignore disabled exec for vhost=
[2022-01-11 01:08:01.752][Trace][17470][r7126f77] gb28181: create new stream channel id:34020000001320000009@34020000001370000002 rtmp url=rtmp://127.0.0.1:1935/live/34020000001320000009@34020000001370000002
[2022-01-11 01:08:01.752][Debug][17470][r7126f77] gb28181: send_message:INVITE sip:34020000001370000002@3402000000 SIP/2.0
Via: SIP/2.0/UDP 10.0.23.122:5060;rport;branch=SrsGbB60141009
From: <sip:34020000002000000001@3402000000>;tag=SrsGbF35580942
To: <sip:34020000001370000002@3402000000>
Call-ID: 202083847667
CSeq: 102 INVITE
Content-Type: Application/SDP
Contact: <sip:34020000001370000002@3402000000>
Max-Forwards: 70
User-Agent: SRS/5.0.19(Leo)
Subject: 34020000001370000002:0004199436,34020000002000000001:0
Content-Length: 217

v=0
o=34020000002000000001 0 0 IN IP4 10.0.23.122
s=Play
c=IN IP4 10.0.23.122
t=0 0
m=video 9000 RTP/AVP 96 97 98
a=recvonly
a=rtpmap:96 PS/90000
a=rtpmap:97 MPEG4/90000
a=rtpmap:98 H264/90000
y=0004199436

[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] gb28181: request peer(10.100.2.11, 5060) nbbuf=280
[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] gb28181: request recv message=SIP/2.0 100 Trying
Via: SIP/2.0/UDP 10.0.23.122:5060;rport=5060;branch=SrsGbB60141009
From: <sip:34020000002000000001@3402000000>;tag=SrsGbF35580942
To: <sip:34020000001370000002@3402000000>
Call-ID: 202083847667
CSeq: 102 INVITE
User-Agent: IP Camera
Content-Length: 0


[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] sip: header=SIP/2.0 100 Trying
Via: SIP/2.0/UDP 10.0.23.122:5060;rport=5060;branch=SrsGbB60141009
From: <sip:34020000002000000001@3402000000>;tag=SrsGbF35580942
To: <sip:34020000001370000002@3402000000>
Call-ID: 202083847667
CSeq: 102 INVITE
User-Agent: IP Camera
Content-Length: 0



[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] sip: body=

[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] sip: first line=SIP/2.0 100 Trying
[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] sip: method=INVITE uri=34020000002000000001@3402000000 version=SIP/2.0 cmdtype=respone
[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] via=SIP/2.0/UDP 10.0.23.122:5060;rport=5060;branch=SrsGbB60141009
[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] via_branch=SrsGbB60141009
[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] cseq=102
[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] contact=
[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] from=34020000002000000001@3402000000
[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] to=34020000001370000002@3402000000
[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] callid=202083847667
[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] status=100
[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] from_tag=SrsGbF35580942
[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] to_tag=
[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] sip_auth_id=34020000001370000002
[2022-01-11 01:08:01.756][Trace][17470][9j3cj75v] gb28181: request client id=34020000001370000002, peer(10.100.2.11, 5060)
[2022-01-11 01:08:01.756][Trace][17470][9j3cj75v] gb28181: respone method=INVITE, uri=34020000002000000001@3402000000, version=SIP/2.0 
[2022-01-11 01:08:01.756][Trace][17470][9j3cj75v] gb28181: INVITE response 34020000001370000002 client status=100
[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] gb28181: request peer(10.100.2.11, 5060) nbbuf=4
[2022-01-11 01:08:01.756][Debug][17470][9j3cj75v] gb28181: request recv message=


[2022-01-11 01:08:01.760][Debug][17470][9j3cj75v] gb28181: request peer(10.100.2.11, 5060) nbbuf=563
[2022-01-11 01:08:01.760][Debug][17470][9j3cj75v] gb28181: request recv message=SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.0.23.122:5060;rport=5060;branch=SrsGbB60141009
From: <sip:34020000002000000001@3402000000>;tag=SrsGbF35580942
To: <sip:34020000001370000002@3402000000>;tag=1569394609
Call-ID: 202083847667
CSeq: 102 INVITE
Contact: <sip:[email protected]:5060>
Content-Type: application/sdp
User-Agent: IP Camera
Content-Length:   183

v=0
o=34020000001320000009 1974 1974 IN IP4 10.100.2.11
s=Play
c=IN IP4 10.100.2.11
t=0 0
m=video 15064 RTP/AVP 96
a=sendonly
a=rtpmap:96 PS/90000
a=filesize:0
y=0004199436

[2022-01-11 01:08:01.760][Debug][17470][9j3cj75v] sip: header=SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.0.23.122:5060;rport=5060;branch=SrsGbB60141009
From: <sip:34020000002000000001@3402000000>;tag=SrsGbF35580942
To: <sip:34020000001370000002@3402000000>;tag=1569394609
Call-ID: 202083847667
CSeq: 102 INVITE
Contact: <sip:[email protected]:5060>
Content-Type: application/sdp
User-Agent: IP Camera
Content-Length:   183



[2022-01-11 01:08:01.760][Debug][17470][9j3cj75v] sip: body=v=0
o=34020000001320000009 1974 1974 IN IP4 10.100.2.11
s=Play
c=IN IP4 10.100.2.11
t=0 0
m=video 15064 RTP/AVP 96
a=sendonly
a=rtpmap:96 PS/90000
a=filesize:0
y=0004199436


[2022-01-11 01:08:01.760][Debug][17470][9j3cj75v] sip: first line=SIP/2.0 200 OK
[2022-01-11 01:08:01.760][Trace][17470][9j3cj75v] gb28181: ssrc in y line is 4199436:40140c
[2022-01-11 01:08:01.760][Debug][17470][9j3cj75v] sip: method=INVITE uri=34020000002000000001@3402000000 version=SIP/2.0 cmdtype=respone
[2022-01-11 01:08:01.760][Debug][17470][9j3cj75v] via=SIP/2.0/UDP 10.0.23.122:5060;rport=5060;branch=SrsGbB60141009
[2022-01-11 01:08:01.760][Debug][17470][9j3cj75v] via_branch=SrsGbB60141009
[2022-01-11 01:08:01.760][Debug][17470][9j3cj75v] cseq=102
[2022-01-11 01:08:01.760][Debug][17470][9j3cj75v] contact=<sip:[email protected]:5060>
[2022-01-11 01:08:01.760][Debug][17470][9j3cj75v] from=34020000002000000001@3402000000
[2022-01-11 01:08:01.760][Debug][17470][9j3cj75v] to=34020000001370000002@3402000000
[2022-01-11 01:08:01.760][Debug][17470][9j3cj75v] callid=202083847667
[2022-01-11 01:08:01.760][Debug][17470][9j3cj75v] status=200
[2022-01-11 01:08:01.760][Debug][17470][9j3cj75v] from_tag=SrsGbF35580942
[2022-01-11 01:08:01.761][Debug][17470][9j3cj75v] to_tag=1569394609
[2022-01-11 01:08:01.761][Debug][17470][9j3cj75v] sip_auth_id=34020000001370000002
[2022-01-11 01:08:01.761][Trace][17470][9j3cj75v] gb28181: request client id=34020000001370000002, peer(10.100.2.11, 5060)
[2022-01-11 01:08:01.761][Trace][17470][9j3cj75v] gb28181: respone method=INVITE, uri=34020000002000000001@3402000000, version=SIP/2.0 
[2022-01-11 01:08:01.761][Trace][17470][9j3cj75v] gb28181: INVITE response 34020000001370000002 client status=200
[2022-01-11 01:08:01.761][Trace][17470][9j3cj75v] gb28181: device unique id is 34020000001320000009@34020000001370000002
[2022-01-11 01:08:01.761][Debug][17470][9j3cj75v] gb28181: send_message:ACK sip:34020000001370000002@3402000000 SIP/2.0
Via: SIP/2.0/UDP 10.0.23.122:5060;rport;branch=SrsGbB60141009
From: <sip:34020000002000000001@3402000000>;tag=SrsGbF35580942
To: <sip:34020000001370000002@3402000000>;tag=1569394609
Call-ID: 202083847667
CSeq: 102 ACK
Max-Forwards: 70
User-Agent: SRS/5.0.19(Leo)
Content-Length: 0


[2022-01-11 01:08:01.795][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=21989552 newbuffer=22693184, minimumSize=90000, size=30000
[2022-01-11 01:08:01.795][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:21989552, _buffer:22693184
[2022-01-11 01:08:01.799][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=22153888, minimumSize=30000, size=0
[2022-01-11 01:08:01.799][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:22153888
[2022-01-11 01:08:01.802][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=22153888 newbuffer=22344688, minimumSize=90000, size=30000
[2022-01-11 01:08:01.802][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:22153888, _buffer:22344688

[2022-01-11 01:08:01.806][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=22153888, minimumSize=30000, size=0
[2022-01-11 01:08:01.806][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:22153888
[2022-01-11 01:08:01.838][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=21989552, minimumSize=30000, size=0
[2022-01-11 01:08:01.838][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:21989552
[2022-01-11 01:08:01.839][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=22217936, minimumSize=30000, size=0
[2022-01-11 01:08:01.839][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:22217936
[2022-01-11 01:08:01.869][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=22247952, minimumSize=30000, size=0
[2022-01-11 01:08:01.869][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:22247952
[2022-01-11 01:08:01.910][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=20696032, minimumSize=30000, size=0
[2022-01-11 01:08:01.910][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:20696032
[2022-01-11 01:08:01.919][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=20726048, minimumSize=30000, size=0
[2022-01-11 01:08:01.919][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:20726048
[2022-01-11 01:08:01.952][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=20936160, minimumSize=30000, size=0
[2022-01-11 01:08:01.952][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:20936160
[2022-01-11 01:08:01.993][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=20966176, minimumSize=30000, size=0
[2022-01-11 01:08:01.993][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:20966176
[2022-01-11 01:08:02.001][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=21829232, minimumSize=30000, size=0
[2022-01-11 01:08:02.001][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:21829232

[2022-01-11 01:08:02.038][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=21859248, minimumSize=30000, size=0
[2022-01-11 01:08:02.038][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:21859248
[2022-01-11 01:08:02.039][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=22902752, minimumSize=30000, size=0
[2022-01-11 01:08:02.039][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:22902752
[2022-01-11 01:08:02.069][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=22932768, minimumSize=30000, size=0
[2022-01-11 01:08:02.069][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:22932768
[2022-01-11 01:08:02.110][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=27196032, minimumSize=30000, size=0
[2022-01-11 01:08:02.111][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27196032
[2022-01-11 01:08:02.119][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=27226048, minimumSize=30000, size=0
[2022-01-11 01:08:02.119][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27226048
[2022-01-11 01:08:02.152][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=27256064, minimumSize=30000, size=0
[2022-01-11 01:08:02.152][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27256064
[2022-01-11 01:08:02.160][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=22517168, minimumSize=30000, size=0
[2022-01-11 01:08:02.160][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:22517168
[2022-01-11 01:08:02.194][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=22547184, minimumSize=30000, size=0
[2022-01-11 01:08:02.194][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:22547184
[2022-01-11 01:08:02.236][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=22577200, minimumSize=30000, size=0
[2022-01-11 01:08:02.237][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:22577200
[2022-01-11 01:08:02.245][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=23597728, minimumSize=30000, size=0
[2022-01-11 01:08:02.245][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:23597728
[2022-01-11 01:08:02.269][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=23627744, minimumSize=30000, size=0
[2022-01-11 01:08:02.269][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:23627744
[2022-01-11 01:08:02.310][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=23657760, minimumSize=30000, size=0
[2022-01-11 01:08:02.310][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:23657760
[2022-01-11 01:08:02.318][Warn][17470][9j3cj75v][11] RTP: jitbuffer NACK list has grown too large: 251 > 250
[2022-01-11 01:08:02.318][Warn][17470][9j3cj75v][11] RTP: jitbuffer key(34020000001320000009@34020000001320000002) requesting key frame due to too large NACK list.
[2022-01-11 01:08:02.318][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=23687776, minimumSize=30000, size=0
[2022-01-11 01:08:02.319][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:23687776
[2022-01-11 01:08:02.352][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=23717792, minimumSize=30000, size=0
[2022-01-11 01:08:02.352][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:23717792
[2022-01-11 01:08:02.360][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=27756320, minimumSize=30000, size=0
[2022-01-11 01:08:02.360][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27756320
[2022-01-11 01:08:02.366][Debug][17470][82823349] RTC STAP-A seq=430, sps 23, pps 4 bytes
[2022-01-11 01:08:02.367][Trace][17470][4pp23oc8] RTP: jitbuffer key=34020000001320000009@34020000001370000002 reallocate a frame buffer size(76656>0) resize(106656)
[2022-01-11 01:08:02.368][Trace][17470][4pp23oc8] gb28181: ps map video es_type=h264(1b), es_id=e0, es_info_length=28
[2022-01-11 01:08:02.368][Trace][17470][4pp23oc8] gb28181: ps map audio es_type=aac(f), es_id=c0, es_info_length=12
[2022-01-11 01:08:02.368][Trace][17470][4pp23oc8] 43B video sh,  codec(7, profile=Main, level=3.1, 1280x720, 0kbps, 0.0fps, 0.0s)
[2022-01-11 01:08:02.368][Debug][17470][4pp23oc8] RTC STAP-A seq=0, sps 23, pps 4 bytes
[2022-01-11 01:08:02.445][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=27862672, minimumSize=30000, size=0
[2022-01-11 01:08:02.445][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:27862672
[2022-01-11 01:08:02.477][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=20537904, minimumSize=30000, size=0
[2022-01-11 01:08:02.477][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:20537904
[2022-01-11 01:08:02.560][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=23837056, minimumSize=30000, size=0
[2022-01-11 01:08:02.560][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:23837056
[2022-01-11 01:08:02.601][Debug][17470][9j3cj75v] scan network device ifname=ens3, total=1
[2022-01-11 01:08:02.601][Debug][17470][9j3cj75v] scan network device ifname=lo, total=2
[2022-01-11 01:08:02.644][Trace][17470][7836464d] Hybrid cpu=10.96%,24MB, cid=53,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-11 01:08:02.645][Debug][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate oldbuffer=0 newbuffer=23867072, minimumSize=30000, size=0
[2022-01-11 01:08:02.645][Trace][17470][9j3cj75v] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:23867072
[2022-01-11 01:08:02.645][Warn][17470][9j3cj75v][11] RTP: jitbuffer NACK list has grown too large: 275 > 250

  1. SRS的配置如下(Config):
# push gb28181 stream to SRS.

listen                  1935;
max_connections         1000;
daemon              off;
srs_log_tank        console;
srs_log_level       info;

http_api {
    enabled         on;
    listen          1985;
}

http_server {
    enabled         on;
    listen          8080;
#    dir             ./objs/nginx/html;
}

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;

    # 转发流到rtmp服务器地址与端口
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
    # [stream] is VideoChannelCodecID(视频通道编码ID) for sip
    # 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
    # [ssrc] rtp中的ssrc
    output              rtmp://127.0.0.1:1935/live/[stream];
    
    # 接收设备端rtp流的多路复用端口
    listen              9000;
    # 多路复用端口类型,on为tcp,off为udp
    # 默认:on
    tcp_enable            off;

    # rtp接收监听端口范围,最小值
    rtp_port_min        58200;
    # rtp接收监听端口范围,最大值
    rtp_port_max        58300;

    # 是否等待关键帧之后,再转发,
    # off:不需等待,直接转发
    # on:等第一个关键帧后,再转发
    wait_keyframe       on;
    
    # rtp包空闲等待时间,如果指定时间没有收到任何包
    # rtp监听连接自动停止,发送BYE命令
    rtp_idle_timeout    30;

    # 是否转发音频流
    # 目前只支持aac格式,所以需要设备支持aac格式
    # on:转发音频
    # off:不转发音频,只有视频
    # *注意*!!!:flv 只支持11025  22050  44100 三种
    # 如果设备端没有三种中任何一个,转发时为自动选择一种格式
    # 同时也会将adts的头封装在flv aac raw数据中
    # 这样的话播放器为自动通过adts头自动选择采样频率
    # 像ffplay, vlc都可以,但是flash是没有声音,
    # 因为flash,只支持11025 22050 44100
    audio_enable        on;


    # 服务器主机号,可以域名或ip地址
    # 也就是设备端将媒体发送的地址,如果是服务器是内外网
    # 需要写外网地址,
    # 调用api创建stream session时返回ip地址也是host
    # $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
    # *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
    host       10.0.23.122;

    #根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
    #rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
    auto_create_channel   off;

    sip {
        # 是否启用srs内部sip信令
        # 为on信令走srs, off 只转发ps流
        enabled on;
        
        # sip监听udp端口
        listen              5060;
        
        # SIP server ID(SIP服务器ID).
        # 设备端配置编号需要与该值一致,否则无法注册
        serial              34020000002000000001;

        # SIP server domain(SIP服务器域)
        realm               3402000000;

        # 服务端发送ack后,接收回应的超时时间,单位为秒
        # 如果指定时间没有回应,认为失败
        ack_timeout         30;

        # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
        # 认为设备离线
        keepalive_timeout   120;

        # 注册之后是否自动给设备端发送invite
        # on: 是  off 不是,需要通过api控制
        auto_play           on;
        # 设备将流发送的端口,是否固定
        # on 发送流到多路复用端口 如9000
        # off 自动从rtp_mix_port - rtp_max_port 之间的值中
        # 选一个可以用的端口
        invite_port_fixed     on;

        # 向设备或下级域查询设备列表的间隔,单位(秒)
        # 默认60秒
        query_catalog_interval  60;
    }
}

rtc_server {
    enabled         on;
    # Listen at udp://8000
    listen          8000;
    #
    # The $CANDIDATE means fetch from env, if not configed, use * as default.
    #
    # The * means retrieving server IP automatically, from all network interfaces,
    # @see https://github.com/ossrs/srs/issues/307#issuecomment-599028124
    candidate       10.0.23.122;
}

vhost __defaultVhost__ {
    rtc {
        enabled     on;
        bframe      discard;
        # @see https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#rtmp-to-rtc
        rtmp_to_rtc on;
        # @see https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#rtc-to-rtmp
        rtc_to_rtmp on;
    }

    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
}

![image](https://user-images.githubusercontent.com/12199293/148884784-8c6019d6-ea78-4412-8cd0-3d49cf0e5729.png)



重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. 配置摄像头接入GB28181,音频AAC格式
  2. srs web获取通道,播放(flv或者webrtc)

期望行为(Expect)
播放有画面和声音

描述你期望发生的事情(Please describe your expectation)

通过gb28181 给摄像头发送回放 抓拍指令

注意:提问前,请先看FAQ(Please read FAQ before file an issue) ossrs/srs#2716

描述(Description)

描述你遇到了什么问题(Please description your issue here)

  1. SRS版本(Version): xxxxxx
    5.0.19

  2. SRS的日志如下(Log):
    项目启动成功,且与三家摄像头厂家对接成功
    [2022-03-30 11:28:05.837][Trace][17957][5z1nxg57] gb28181: sip session=34020000001320000003 peer(113.110.227.83, 25037) status(RegisterOk,AliveOk) duration(1312,44)
    [2022-03-30 11:28:05.977][Trace][17957][60r408v3] Hybrid cpu=1.00%,38MB, cid=1,0, timer=62,0,0, clock=0,46,2,0,0,0,0,0,0, objs=(pkt:229,raw:0,fua:228,msg:278,oth:1,buf:1)
    [2022-03-30 11:28:10.978][Trace][17957][60r408v3] Hybrid cpu=1.00%,38MB, cid=1,0, timer=62,0,0, clock=0,46,2,0,0,0,0,0,0, objs=(pkt:229,raw:0,fua:228,msg:278,oth:1,buf:1)
    [2022-03-30 11:28:13.409][Trace][17957][8531dvvx] gb28181: client id=34020000001320000003@34020000001310000003, ssrc=0x2d32108, peer(113.110.227.83, 51508), rtmp muxer is alive
    [2022-03-30 11:28:15.978][Trace][17957][60r408v3] Hybrid cpu=1.00%,38MB, cid=1,0, timer=62,0,0, clock=0,46,2,0,0,0,0,0,0, objs=(pkt:239,raw:0,fua:238,msg:289,oth:1,buf:1)

  3. SRS的配置如下(Config):
    push.gb28181.conf
    已成功启动,且已在java项目中集成

重现(Replay)
api接口如何扩充

重现Bug的步骤(How to replay bug?)
api接口如何扩充

期望行为(Expect)
项目背景
摄像头数量较大,一万个以上,通过28181协议4G网络连接视频服务器,但并不是所有摄像头都同时传流和播放,各管控人员需要时才会播放,摄像头带存储卡,视频滚动录制,需要时回放,
项目启动成功,且与三家摄像头厂家对接成功,java项目中通过webrtc集成,客户较为满意
该项目还有以下要求:
通过gb28181 给摄像头发指令,完成摄像头的回放 抓拍 还有通过28181接收遮挡、温度超标报警

描述你期望发生的事情(Please describe your expectation)
api文档中,仅有register, message, invite,bye. query caltalog, ptz等信令
api文档
对于给摄像头发送回放 抓拍指令,该如何操作,红外摄像头,会上传遮挡、温度超标等信息,如何接收,
SRS是否支持以上操作

放 抓拍 还有通过28181接收遮挡、温度超标报警

描述你期望发生的事情(Please describe your expectation)
api文档中,仅有register, message, invite,bye. query caltalog, ptz等信令
api文档
对于给摄像头发送回放 抓拍指令,该如何操作,红外摄像头,会上传遮挡、温度超标等信息,如何接收,
SRS是否支持以上操作

GB28181: 经常出现60分钟的录像文件,实际录了90分钟 #2381

经常出现60分钟的录像文件,实际录了90分钟,并且很怪,不会出现80分钟,也不会是100分钟
录制的时长一定是90分钟左右
image
4点之前好多天都是1小时生成一个文件,过了3点基本上是90分钟生成一个文件。
重启一下系统或摄像头,就会恢复正常,但时间长了就一定又会出现这问题,直到重启。

我的配置是这样的:
dvr {
enabled on;
#all表示录制所有视频流,也可以按频道录制
#规则为/,例:live/stream1 live/stream2
dvr_apply all;
#dvr计划
dvr_plan segment;
#录制的路径,详细配置规则见附录三
dvr_path /data/[stream]/[2006][01][02]/[15].[04].[05].flv;
#segment方式录制时间设置,单位:分钟
dvr_duration 3600;
#开启按关键帧且flv
dvr_wait_keyframe on;
#时间戳抖动算法。full使用完全的时间戳矫正;
#zero只是保证从0开始;off不矫正时间戳。
time_jitter full;
}
srs3.0和4.0都是这样的

我用的是gb28181向服务器推流。

GB28181: SRS 60路摄像头推流转发为hls后频繁奔溃 #2624

注意:不提供以下信息的Issue会被直接删除(Please follow issue template, or we will delete it)

注意:咨询和讨论请提交到SRS星球(Please ask question at) http://bbs.ossrs.net

描述(Description)

描述你遇到了什么问题(Please description your issue here)
SRS 60路海康摄像头rtsp使用的gb28181协议rtsp推流转发为hls后频繁奔溃

  1. SRS版本(Version): 4.0.123
  2. SRS的日志如下(Log):
    image
    110736
    [2021-09-22 11:12:25.262][Trace][19309][5p973922] TCP: before dispose resource(HttpStream)(0x29d6f10), conns=3, zombies=0, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:12:25.262][Warn][19309][5p973922][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:12:25.262][Trace][19309][57qp6832] TCP: clear zombies=1 resources, conns=3, removing=0, unsubs=0
    [2021-09-22 11:12:25.262][Trace][19309][5p973922] TCP: disposing #0 resource(HttpStream)(0x29d6f10), conns=3, disposing=1, zombies=0
    [2021-09-22 11:12:25.262][Trace][19309][q6jh5687] TCP: before dispose resource(HttpStream)(0x199f6b0), conns=2, zombies=0, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:12:25.262][Warn][19309][q6jh5687][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:12:25.262][Trace][19309][57qp6832] TCP: clear zombies=1 resources, conns=2, removing=0, unsubs=0
    [2021-09-22 11:12:25.262][Trace][19309][q6jh5687] TCP: disposing #0 resource(HttpStream)(0x199f6b0), conns=2, disposing=1, zombies=0
    [2021-09-22 11:12:25.276][Trace][19309][l2166cq0] TCP: before dispose resource(HttpStream)(0x1ff1d60), conns=1, zombies=0, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:12:25.277][Warn][19309][l2166cq0][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:12:25.277][Trace][19309][57qp6832] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
    [2021-09-22 11:12:25.277][Trace][19309][l2166cq0] TCP: disposing #0 resource(HttpStream)(0x1ff1d60), conns=1, disposing=1, zombies=0
    [2021-09-22 11:12:26.107][Trace][19309][43m5f9w5] HTTP #0 172.22.21.83:59365 GET http://210.26.109.164:8080/live/[email protected], content-length=-1
    [2021-09-22 11:12:26.107][Trace][19309][43m5f9w5] http match file=./objs/nginx/html/live/[email protected], pattern=/, upath=/live/[email protected]
    [2021-09-22 11:12:26.112][Trace][19309][5f7l5527] HTTP #0 172.22.21.83:59366 GET http://210.26.109.164:8080/live/[email protected], content-length=-1
    [2021-09-22 11:12:26.112][Trace][19309][5f7l5527] http match file=./objs/nginx/html/live/[email protected], pattern=/, upath=/live/[email protected]
    [2021-09-22 11:12:26.118][Trace][19309][0r430mm5] HTTP #0 172.22.21.83:59367 GET http://210.26.109.164:8080/live/[email protected], content-length=-1
    [2021-09-22 11:12:26.118][Trace][19309][0r430mm5] http match file=./objs/nginx/html/live/[email protected], pattern=/, upath=/live/[email protected]
    [2021-09-22 11:12:26.166][Trace][19309][0r430mm5] TCP: before dispose resource(HttpStream)(0x20525c0), conns=3, zombies=0, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:12:26.166][Warn][19309][0r430mm5][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:12:26.166][Trace][19309][57qp6832] TCP: clear zombies=1 resources, conns=3, removing=0, unsubs=0
    [2021-09-22 11:12:26.166][Trace][19309][0r430mm5] TCP: disposing #0 resource(HttpStream)(0x20525c0), conns=3, disposing=1, zombies=0
    [2021-09-22 11:12:26.167][Trace][19309][5f7l5527] TCP: before dispose resource(HttpStream)(0x1937fc0), conns=2, zombies=0, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:12:26.167][Warn][19309][5f7l5527][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:12:26.168][Trace][19309][57qp6832] TCP: clear zombies=1 resources, conns=2, removing=0, unsubs=0
    [2021-09-22 11:12:26.168][Trace][19309][5f7l5527] TCP: disposing #0 resource(HttpStream)(0x1937fc0), conns=2, disposing=1, zombies=0
    [2021-09-22 11:12:26.168][Trace][19309][43m5f9w5] TCP: before dispose resource(HttpStream)(0x254d680), conns=1, zombies=0, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:12:26.168][Warn][19309][43m5f9w5][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:12:26.168][Trace][19309][57qp6832] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
    [2021-09-22 11:12:26.168][Trace][19309][43m5f9w5] TCP: disposing #0 resource(HttpStream)(0x254d680), conns=1, disposing=1, zombies=0
    [2021-09-22 11:12:26.293][Trace][19309][l53jdyz3] Hybrid cpu=38.04%,49MB, cid=66,24, timer=61,0,0, clock=1,35,11,1,0,0,0,0,0, free=3, objs=(pkt:3077,raw:240,fua:2815,msg:6065,oth:20,buf:20)
    [2021-09-22 11:12:26.485][Trace][19309][s1i4849z] gb28181: sip session=34020000002000000065 peer(192.168.198.65, 5060) status(RegisterOk,AliveOk) duration(65,60)
    114312
    [2021-09-22 11:43:12.166][Trace][20266][hg891704] TCP: before dispose resource(HttpStream)(0x22c5ea0), conns=8, zombies=0, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:43:12.166][Warn][20266][hg891704][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:43:12.167][Trace][20266][74ovog53] TCP: clear zombies=1 resources, conns=8, removing=0, unsubs=0
    [2021-09-22 11:43:12.167][Trace][20266][hg891704] TCP: disposing #0 resource(HttpStream)(0x22c5ea0), conns=8, disposing=1, zombies=0
    [2021-09-22 11:43:12.182][Trace][20266][a3i9l9iv] TCP: before dispose resource(HttpStream)(0x3202030), conns=7, zombies=0, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:43:12.182][Warn][20266][a3i9l9iv][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:43:12.182][Trace][20266][0d25vh01] TCP: before dispose resource(HttpStream)(0x1a1e220), conns=7, zombies=1, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:43:12.182][Warn][20266][0d25vh01][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:43:12.182][Trace][20266][74ovog53] TCP: clear zombies=2 resources, conns=7, removing=0, unsubs=0
    [2021-09-22 11:43:12.182][Trace][20266][a3i9l9iv] TCP: disposing #0 resource(HttpStream)(0x3202030), conns=7, disposing=2, zombies=0
    [2021-09-22 11:43:12.182][Trace][20266][0d25vh01] TCP: disposing #1 resource(HttpStream)(0x1a1e220), conns=6, disposing=2, zombies=0
    [2021-09-22 11:43:12.202][Trace][20266][00j7g9se] TCP: before dispose resource(HttpStream)(0x13c7440), conns=5, zombies=0, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:43:12.202][Warn][20266][00j7g9se][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:43:12.202][Trace][20266][74ovog53] TCP: clear zombies=1 resources, conns=5, removing=0, unsubs=0
    [2021-09-22 11:43:12.202][Trace][20266][00j7g9se] TCP: disposing #0 resource(HttpStream)(0x13c7440), conns=5, disposing=1, zombies=0
    [2021-09-22 11:43:12.205][Trace][20266][20sy9ksr] HTTP #0 210.26.107.2:60463 GET http://210.26.109.164:8080/live/[email protected], content-length=-1
    [2021-09-22 11:43:12.205][Trace][20266][20sy9ksr] http match file=./objs/nginx/html/live/[email protected], pattern=/, upath=/live/[email protected]
    [2021-09-22 11:43:12.210][Trace][20266][g1682g22] HTTP #0 210.26.107.2:50972 GET http://210.26.109.164:8080/live/[email protected], content-length=-1
    [2021-09-22 11:43:12.210][Trace][20266][g1682g22] http match file=./objs/nginx/html/live/[email protected], pattern=/, upath=/live/[email protected]
    [2021-09-22 11:43:12.280][Trace][20266][00c5za09] HTTP #0 210.26.107.2:61002 GET http://210.26.109.164:8080/live/[email protected], content-length=-1
    [2021-09-22 11:43:12.280][Trace][20266][00c5za09] http match file=./objs/nginx/html/live/[email protected], pattern=/, upath=/live/[email protected]
    [2021-09-22 11:43:12.411][Trace][20266][724km0j4] TCP: before dispose resource(HttpStream)(0x4ba8630), conns=7, zombies=0, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:43:12.411][Warn][20266][724km0j4][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:43:12.411][Trace][20266][74ovog53] TCP: clear zombies=1 resources, conns=7, removing=0, unsubs=0
    [2021-09-22 11:43:12.411][Trace][20266][724km0j4] TCP: disposing #0 resource(HttpStream)(0x4ba8630), conns=7, disposing=1, zombies=0
    [2021-09-22 11:43:12.503][Trace][20266][78z86fu8] HTTP #0 210.26.107.2:50184 GET http://210.26.109.164:8080/live/[email protected], content-length=-1
    ^[[33m[2021-09-22 11:43:12.503][Warn][20266][78z86fu8][2] http miss file=./objs/nginx/html/live/[email protected], pattern=/, upath=/live/[email protected]
    ^[[0m[2021-09-22 11:43:12.781][Trace][20266][78z86fu8] TCP: before dispose resource(HttpStream)(0x420ca10), conns=7, zombies=0, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:43:12.781][Warn][20266][78z86fu8][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:43:12.784][Trace][20266][74ovog53] TCP: clear zombies=1 resources, conns=7, removing=0, unsubs=0
    [2021-09-22 11:43:12.784][Trace][20266][78z86fu8] TCP: disposing #0 resource(HttpStream)(0x420ca10), conns=7, disposing=1, zombies=0
    srs: src/kernel/srs_kernel_buffer.cpp:113: void SrsBuffer::skip(int): Assertion `p + size <= bytes + nb_bytes' failed.
    115904
    [2021-09-22 11:59:02.189][Trace][25220][p74k13pd] TCP: before dispose resource(HttpStream)(0x3d43020), conns=6, zombies=0, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:59:02.189][Warn][25220][p74k13pd][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:59:02.189][Trace][25220][ds96593i] TCP: before dispose resource(HttpStream)(0x33fe870), conns=6, zombies=1, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:59:02.189][Warn][25220][ds96593i][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:59:02.189][Trace][25220][7098166z] TCP: clear zombies=2 resources, conns=6, removing=0, unsubs=0
    [2021-09-22 11:59:02.189][Trace][25220][p74k13pd] TCP: disposing #0 resource(HttpStream)(0x3d43020), conns=6, disposing=2, zombies=0
    [2021-09-22 11:59:02.189][Trace][25220][ds96593i] TCP: disposing #1 resource(HttpStream)(0x33fe870), conns=5, disposing=2, zombies=0
    [2021-09-22 11:59:02.205][Trace][25220][sd0ap60u] TCP: before dispose resource(HttpStream)(0x3e80fd0), conns=4, zombies=0, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:59:02.205][Warn][25220][sd0ap60u][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:59:02.205][Trace][25220][fn3l8zfx] TCP: before dispose resource(HttpStream)(0x4667110), conns=4, zombies=1, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:59:02.205][Warn][25220][fn3l8zfx][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:59:02.205][Trace][25220][kof57k2k] TCP: before dispose resource(HttpStream)(0x296a820), conns=4, zombies=2, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:59:02.205][Warn][25220][kof57k2k][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:59:02.205][Trace][25220][sh780a66] TCP: before dispose resource(HttpStream)(0x42683c0), conns=4, zombies=3, ign=0, inz=0, ind=0
    ^[[33m[2021-09-22 11:59:02.205][Warn][25220][sh780a66][104] client disconnect peer. ret=1007
    ^[[0m[2021-09-22 11:59:02.205][Trace][25220][7098166z] TCP: clear zombies=4 resources, conns=4, removing=0, unsubs=0
    [2021-09-22 11:59:02.205][Trace][25220][sd0ap60u] TCP: disposing #0 resource(HttpStream)(0x3e80fd0), conns=4, disposing=4, zombies=0
    [2021-09-22 11:59:02.205][Trace][25220][fn3l8zfx] TCP: disposing #1 resource(HttpStream)(0x4667110), conns=3, disposing=4, zombies=0
    [2021-09-22 11:59:02.205][Trace][25220][kof57k2k] TCP: disposing #2 resource(HttpStream)(0x296a820), conns=2, disposing=4, zombies=0
    [2021-09-22 11:59:02.205][Trace][25220][sh780a66] TCP: disposing #3 resource(HttpStream)(0x42683c0), conns=1, disposing=4, zombies=0
    [2021-09-22 11:59:02.224][Trace][25220][1z579yzj] gb28181: sip session=34020000001320000078 peer(192.168.198.78, 5060) status(RegisterOk,AliveOk) duration(786,0)
    [2021-09-22 11:59:02.300][Trace][25220][2v35fu7q] gb28181: sip session=34020000002000000071 peer(192.168.198.71, 5060) status(RegisterOk,AliveOk) duration(786,1)
    [2021-09-22 11:59:02.300][Trace][25220][ia504368] gb28181: sip session=34020000001320000047 peer(192.168.198.47, 5060) status(RegisterOk,AliveOk) duration(786,0)
    [2021-09-22 11:59:02.383][Trace][25220][vdr35t1i] -> HLS time=761197881ms, sno=127, ts=[email protected], dur=0.00, dva=5356p
    [2021-09-22 11:59:02.802][Trace][25220][xd794500] gb28181: sip session=34020000001320000049 peer(192.168.198.49, 5060) status(RegisterOk,AliveOk) duration(786,1)
    [2021-09-22 11:59:03.514][Trace][25220][740w7269] gb28181: client_id 34020000001320000028@34020000001320000001, unkonw ps data (0x2d79b0e/16146000) d7 52 3d 92

[2021-09-22 11:59:03.514][Trace][25220][740w7269] gb28181: client_id 34020000001320000028@34020000001320000001 decode ps packet error (0x2d79b0e/16146000)! ps_size=68820 complete=66060

[2021-09-22 11:59:03.803][Trace][25220][0o330c03] gb28181: sip session=34020000002000000052 peer(192.168.198.52, 5060) status(RegisterOk,AliveOk) duration(785,0)
[2021-09-22 11:59:04.459][Trace][25220][92o1h923] Hybrid cpu=38.96%,59MB, cid=53,17, timer=60,0,0, clock=1,33,9,2,1,1,0,0,0, free=2, objs=(pkt:3322,raw:236,fua:3064,msg:6537,oth:21,buf:21)
[2021-09-22 11:59:04.461][Trace][25220][27p0czq3] gb28181: ps map audio es_type=svac(9b), es_id=da, es_info_length=15359
srs: src/kernel/srs_kernel_buffer.cpp:113: void SrsBuffer::skip(int): Assertion `p + size <= bytes + nb_bytes' failed.

  1. SRS的配置如下(Config):

push gb28181 stream to SRS.

listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;

http_api {
enabled on;
listen 1985;
}

http_server {
enabled on;
listen 8080;
}

stats {
network 0;
}

stream_caster {
enabled on;
caster gb28181;

# 转发流到rtmp服务器地址与端口
# TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
# [stream] is VideoChannelCodecID(视频通道编码ID) for sip
# 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
# [ssrc] rtp中的ssrc
output              rtmp://127.0.0.1:1935/live/[stream];

# 接收设备端rtp流的多路复用端口
listen              9000;
# 多路复用端口类型,on为tcp,off为udp
# 默认:on
tcp_enable            on;

# rtp接收监听端口范围,最小值
rtp_port_min        58200;
# rtp接收监听端口范围,最大值
rtp_port_max        58300;


wait_keyframe       on;

rtp_idle_timeout    30;
audio_enable        off;
jitterbuffer_enable  off;
host       $CANDIDATE;

#根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
#rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
auto_create_channel   off;

sip {
    enabled on;
    listen              5060;
    serial              34020000002000000001;

    # SIP server domain(SIP服务器域)
    realm               3402000000;

    # 服务端发送ack后,接收回应的超时时间,单位为秒
    # 如果指定时间没有回应,认为失败
    ack_timeout         30;
    keepalive_timeout   120;
    auto_play           on;
    invite_port_fixed     on;
    query_catalog_interval  60;
}

}

rtc_server {
enabled on;
# Listen at udp://8000
listen 8000;
candidate $CANDIDATE;
}

vhost defaultVhost {
rtc {
enabled on;
bframe discard;
}

hls {
    enabled         on;
    hls_path        ./objs/nginx/html;
    hls_fragment    5;
    hls_window      15;
    hls_dispose     600;
}

http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}

重现(Replay)

重现Bug的步骤(How to replay bug?)

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)
稳定不宕机

海康NVR使用GB28181接入 SRS时,注册成功!但列表中一直显示为“无流”状态

注意:提问前,请先看FAQ(Please read FAQ before file an issue) ossrs/srs#2716

描述(Description)

下载srs-gb28181版本源码
编译:cd srs/trunk
make
启动: ./objs/srs -c conf/push.gb28181.conf

日志中显示 注册成功!但列表中一直显示为“无流”状态

  1. SRS版本(Version): srs-gb28181

  2. SRS的日志如下(Log):


xxxxxxxxxxxx

  1. SRS的配置如下(Config):

xxxxxxxxxxxx

重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. xxxxxx
  2. xxxxxx
  3. xxxxxx

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)

关于replace_startcode_with_nalulen的热点较高

注意:提问前,请先看FAQ(Please read FAQ before file an issue) ossrs/srs#2716

描述(Description)

关于对于推送高码率视频和推流多了造成的replace_startcode_with_nalulen在perf上的热点比较高的问题,算抛砖引玉提出几个可行的优化方案,请大佬们轻拍。

  1. SRS版本(Version): srs-gb28181

  2. SRS的日志如下(Log):

  1. SRS的配置如下(Config):

重现(Replay)

重现Bug的步骤(How to replay bug?)
关于优化https://github.com/ossrs/srs-gb28181/blob/feature/gb28181/trunk/src/app/srs_app_gb28181.cpp#L1303-L1310`
有个需要考虑的点,即单frame是否是单slice,那么对于国标存在几种情况:

  1. 单frame多slices的编码器策略,那么一个gop中只要idr是多slices那么之后国标流的p帧也是多slices
  2. 编码特性上使用dp,我们使用的ffmpeg并不能解dp的编码策略,考虑到对标ffmpeg,这个情况可以不处理

那么就可以通过对idr的解析判断gop中是否一个slice为一帧来加速

期望行为(Expect)

降低replace_startcode_with_nalulen在perf上的热点

GB28181:DVR失败,只有48B;重新初始化摄像头后会好用, 但过一段时间重现 #2705

注意:不提供以下信息的Issue会被直接删除(Please follow issue template, or we will delete it)

注意:咨询和讨论请提交到SRS星球(Please ask question at) http://bbs.ossrs.net

描述(Description)

描述你遇到了什么问题(Please description your issue here)

使用海康的摄像头, GB28181 保存录像有时会失败, 生成很多形如 1635902626975.mp4.tmp 的文件, 48 byte 大小

将摄像头重新初始化, 重新配置参数后会好用, 但过一段时间又会出现此情况

  1. SRS版本(Version): 4.0.99
  2. SRS的日志如下(Log):
[2021-11-03 09:13:13.260][Trace][2687937][ds43t33x][MAIN] SRS/4.0.99(Leo), MIT
[2021-11-03 09:13:13.260][Trace][2687937][ds43t33x] authors: Winlin,Wenjie,Runner365,John,B.P.Y,Lixin
[2021-11-03 09:13:13.260][Trace][2687937][ds43t33x] contributors: winlin<[email protected]> wenjie.zhao<[email protected]> xiangcheng.liu<[email protected]> naijia.liu<[email protected]> alcoholyi<[email protected]> byteman<[email protected]> chad.wang<[email protected]> suhetao<[email protected]> Johnny<[email protected]> karthikeyan<[email protected]> StevenLiu<[email protected]> zhengfl<[email protected]> tufang14<[email protected]> allspace<[email protected]> niesongsong<[email protected]> rudeb0t<[email protected]> CallMeNP<[email protected]> synote<[email protected]> lovecat<[email protected]> panda1986<[email protected]> YueHonghui<[email protected]> ThomasDreibholz<[email protected]> JuntaoLiu<[email protected]> RocFang<[email protected]> MakarovYaroslav<[email protected]> MirkoVelic<[email protected]> HuiZhang(huzhang2)<[email protected]> OtterWa<[email protected]> walkermi<[email protected]> haofz<[email protected]> ME_Kun_Han<[email protected]> ljx0305<[email protected]> cenxinwei<[email protected]> StarBrilliant<[email protected]> xubin<[email protected]> intliang<[email protected]> flowerwrong<[email protected]> YLX<[email protected]> J<[email protected]> Harlan<[email protected]> hankun<[email protected]> JonathanBarratt<[email protected]> KeeganH<[email protected]> StevenLiu<[email protected]> liuxc0116<[email protected]> ChengdongZhang<[email protected]> lovacat<[email protected]> qiang.li<[email protected]> HungMingWu<[email protected]> Himer<[email protected]> xialixin<[email protected]> alphonsetai<[email protected]> Michael.Ma<[email protected]> lam2003<[email protected]> runner365<[email protected]> XiaofengWang<[email protected]> XiaLixin<[email protected]> xiaozhihong<[email protected]> HuyaJohn<[email protected]> yanghuiwen<[email protected]> Bepartofyou<[email protected]> l<22312935+lam2003@github> xfalcon<x-falcon@github> cgh<[email protected]> LiPeng<[email protected]> xiaozhihong<[email protected]> yajun18<[email protected]> liulichuan<[email protected]> yapingcat<[email protected]> chenchengbin<[email protected]> chenhaibo<chenhaibo@RD-CHB-0476-01> jasongwq<[email protected]> xialixin<[email protected]> yinjiaoyuan<[email protected]> PieerePi<[email protected]> JesseXi<[email protected]> PieerePi<40780488+PieerePi@github> ghostsf<[email protected]> xbpeng121<53243357+xbpeng121@github> johzzy<[email protected]> stone<[email protected]> 
[2021-11-03 09:13:13.260][Trace][2687937][ds43t33x] cwd=/root/srs/trunk, work_dir=./, build: 2021-05-06 16:24:56, configure: --x86-x64 --with-gb28181, uname: Linux localhost.localdomain 4.19.90-2012.5.0.0054.oe1.x86_64 #1 SMP Tue Dec 22 15:58:47 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux, osx: 0
[2021-11-03 09:13:13.260][Trace][2687937][ds43t33x] configure detail: --prefix=/usr/local/srs --hls=on --hds=off --dvr=on --ssl=on --https=on --ssl-1-0=off --ssl-local=off --sys-ssl=off --transcode=on --ingest=on --stat=on --http-callback=on --http-server=on --stream-caster=on --http-api=on --utest=off --cherrypy=off --srt=off --rtc=on --simulator=off --gb28181=on --cxx11=off --cxx14=off --ffmpeg-fit=on --nasm=on --srtp-nasm=on --clean=on --gperf=off --gmc=off --gmd=off --gmp=off --gcp=off --gprof=off --static=off --use-shared-st=off --use-shared-srt=off --log-verbose=off --log-info=off --log-trace=on --gcov=off --debug=off --debug-stats=off --cc=gcc --cxx=g++ --ar=ar --ld=ld --randlib=randlib
[2021-11-03 09:13:13.260][Trace][2687937][ds43t33x] srs checking config...
[2021-11-03 09:13:13.260][Trace][2687937][ds43t33x] ips, iface[0] enp1s0 ipv4 0x11043 192.168.250.240, iface[1] enp1s0 ipv4 0x11043 192.168.1.10, iface[2] wlp2s0 ipv4 0x11043 192.168.2.10, iface[3] enp0s20f0u3u2u3 ipv4 0x11043 192.168.1.23, iface[4] enp1s0 ipv6 0x11043 fe80::e1b:93a9:7914:a53a2.264814e-316np1s0, iface[5] wlp2s0 ipv6 0x11043 fe80::8865:242e:78e4:f3c2%wlp2s0, iface[6] enp0s20f0u3u2u3 ipv6 0x11043 fe80::c318:226f:658b:ffa96.953340e-310np0s20f0u3u2u3
[2021-11-03 09:13:13.260][Trace][2687937][ds43t33x] devices, intranet enp1s0 192.168.250.240, intranet enp1s0 192.168.1.10, intranet wlp2s0 192.168.2.10, intranet enp0s20f0u3u2u3 192.168.1.23, intranet enp1s0 fe80::e1b:93a9:7914:a53a2.264814e-316np1s0, intranet wlp2s0 fe80::8865:242e:78e4:f3c2%wlp2s0, intranet enp0s20f0u3u2u3 fe80::c318:226f:658b:ffa96.953340e-310np0s20f0u3u2u3
[2021-11-03 09:13:13.260][Warn][2687937][ds43t33x][0] stats network use index=0, ip=192.168.250.240, ifname=enp1s0
[2021-11-03 09:13:13.260][Warn][2687937][ds43t33x][0] stats disk not configed, disk iops disabled.
[2021-11-03 09:13:13.260][Trace][2687937][ds43t33x] you can check log by: tail -f ./objs/srs.log (@see https://github.com/ossrs/srs/wiki/v1_CN_SrsLog)
[2021-11-03 09:13:13.260][Trace][2687937][ds43t33x] please check SRS by: ./etc/init.d/srs status
[2021-11-03 09:13:13.260][Trace][2687937][ds43t33x] features, rch:on, dash:on, hls:on, hds:off, srt:off, hc:on, ha:on, hs:on, hp:on, dvr:on, trans:on, inge:on, stat:on, sc:on
[2021-11-03 09:13:13.260][Trace][2687937][ds43t33x] SRS on  amd64 x86_64, conf:/root/srs/trunk/conf/baby.conf, limit:1000, writev:1024, encoding:little-endian, HZ:100
[2021-11-03 09:13:13.260][Trace][2687937][ds43t33x] mw sleep:350ms. mr enabled:on, default:0, sleep:350ms
[2021-11-03 09:13:13.260][Trace][2687937][ds43t33x] gc:on, pq:30000ms, cscc:[0,16), csa:on, tn:on(may hurts performance), ss:auto(guess by merged write)
[2021-11-03 09:13:13.260][Trace][2687937][ds43t33x] system default latency(ms): mw(0-350) + mr(0-350) + play-queue(0-30000)
[2021-11-03 09:13:13.260][Warn][2687937][ds43t33x][0] SRS/4.0.99 is not stable
[2021-11-03 09:13:13.261][Trace][2687937][ds43t33x] st_init success, use epoll
[2021-11-03 09:13:13.263][Trace][2687937][ds43t33x] fingerprint=8E:AE:71:83:D0:7D:F6:06:C7:EE:78:EA:4D:29:5B:56:53:F0:6C:27:E3:97:B6:0D:87:E7:3A:36:C2:88:C6:AB
[2021-11-03 09:13:13.263][Trace][2687937][ds43t33x] RTC: Object cache init, rtp-cache=(enabled:1,pkt:64m-31w,payload:16m-69w-41w), msg-cache=(enabled:1,obj:16m-41w,buf:512m-34w)
[2021-11-03 09:13:13.263][Trace][2687937][ds43t33x] http: root mount to ./objs/nginx/html
[2021-11-03 09:13:13.263][Trace][2687937][ds43t33x] server main cid=ds43t33x, pid=2687937, ppid=1, asprocess=0
[2021-11-03 09:13:13.263][Trace][2687937][ds43t33x] write pid=2687937 to ./objs/srs.pid success!
[2021-11-03 09:13:13.263][Trace][2687937][ds43t33x] RTMP listen at tcp://0.0.0.0:1935, fd=8
[2021-11-03 09:13:13.263][Trace][2687937][ds43t33x] HTTP-API listen at tcp://0.0.0.0:1985, fd=9
[2021-11-03 09:13:13.264][Trace][2687937][ds43t33x] UDP #10 LISTEN at 0.0.0.0:5060, SO_SNDBUF(default=212992, expect=10485760, actual=425984, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=425984, r0=0)
[2021-11-03 09:13:13.264][Trace][2687937][ds43t33x] GB28181-SIP over UDP listen at udp://0.0.0.0:5060, fd=10
[2021-11-03 09:13:13.264][Trace][2687937][ds43t33x] UDP #11 LISTEN at 0.0.0.0:9000, SO_SNDBUF(default=212992, expect=10485760, actual=425984, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=425984, r0=0)
[2021-11-03 09:13:13.264][Trace][2687937][ds43t33x] GB28181-Stream over RTP listen at udp://0.0.0.0:9000, fd=11
[2021-11-03 09:13:13.264][Trace][2687937][ds43t33x] signal installed, reload=1, reopen=10, fast_quit=15, grace_quit=3
[2021-11-03 09:13:13.264][Trace][2687937][ds43t33x] http: api mount /console to ./objs/nginx/html/console
[2021-11-03 09:13:13.264][Trace][2687937][ds43t33x] Hybrid cpu=0.00%,0MB
[2021-11-03 09:13:13.264][Trace][2687937][43545629] GB28181: connection manager run, conns=0
[2021-11-03 09:13:13.264][Trace][2687937][u3ehro09] TCP: connection manager run, conns=0
[2021-11-03 09:13:13.264][Trace][2687937][ln33t210] RTC: connection manager run, conns=0
[2021-11-03 09:13:18.309][Trace][2687937][ds43t33x] Hybrid cpu=0.00%,15MB
[2021-11-03 09:13:23.354][Trace][2687937][ds43t33x] Hybrid cpu=0.33%,15MB, cid=1,1, timer=53,0,0, clock=0,49,0,0,0,0,0,0,0
[2021-11-03 09:13:25.118][Trace][2687937][3ej02z93] HTTP #0 192.168.1.10:40554 GET http://192.168.1.10:1985/api/v1/gb28181?action=sip_query_session, content-length=-1
[2021-11-03 09:13:25.119][Trace][2687937][3ej02z93] TCP: before dispose resource(HttpConn)(0x2cfee80), conns=1, zombies=0, ign=0, inz=0, ind=0
[2021-11-03 09:13:25.119][Warn][2687937][3ej02z93][104] client disconnect peer. ret=1007
[2021-11-03 09:13:25.119][Trace][2687937][u3ehro09] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2021-11-03 09:13:25.119][Trace][2687937][3ej02z93] TCP: disposing #0 resource(HttpConn)(0x2cfee80), conns=1, disposing=1, zombies=0
[2021-11-03 09:13:28.401][Trace][2687937][ds43t33x] Hybrid cpu=0.00%,15MB, cid=1,1, timer=53,0,0, clock=0,49,0,0,0,0,0,0,0
[2021-11-03 09:13:33.451][Trace][2687937][ds43t33x] Hybrid cpu=0.33%,15MB, cid=1,1, timer=52,0,0, clock=0,49,1,0,0,0,0,0,0, free=1
[2021-11-03 09:13:38.498][Trace][2687937][ds43t33x] Hybrid cpu=0.00%,15MB, cid=1,1, timer=52,0,0, clock=0,49,1,0,0,0,0,0,0, free=1
[2021-11-03 09:13:43.549][Trace][2687937][ds43t33x] Hybrid cpu=0.00%,15MB, cid=1,0, timer=52,0,0, clock=0,49,1,0,0,0,0,0,0
[2021-11-03 09:13:48.592][Trace][2687937][ds43t33x] Hybrid cpu=0.00%,15MB, cid=1,0, timer=52,0,0, clock=0,49,1,0,0,0,0,0,0
[2021-11-03 09:13:53.635][Trace][2687937][ds43t33x] Hybrid cpu=0.00%,15MB, cid=1,0, timer=52,0,0, clock=0,49,0,0,0,0,0,0,0
[2021-11-03 09:13:58.685][Trace][2687937][ds43t33x] Hybrid cpu=0.33%,15MB, cid=1,0, timer=52,0,0, clock=0,49,0,0,0,0,0,0,0
[2021-11-03 09:14:02.882][Trace][2687937][ds43t33x] gb28181: request client id=34020000001320000003 peer(192.168.1.33, 5060)
[2021-11-03 09:14:02.882][Trace][2687937][ds43t33x] gb28181: request method=REGISTER, uri=sip:34020000002000000001@3402000000, version=SIP/2.0 expires=3600
[2021-11-03 09:14:03.728][Trace][2687937][ds43t33x] Hybrid cpu=0.33%,15MB, cid=1,1, timer=52,0,0, clock=0,49,0,0,0,0,0,0,0
[2021-11-03 09:14:07.884][Trace][2687937][226w4728] gb28181: sip session=34020000001320000003 peer(192.168.1.33, 5060) status(RegisterOk,AliveOk) duration(4,0)
[2021-11-03 09:14:08.779][Trace][2687937][ds43t33x] Hybrid cpu=0.00%,15MB, cid=1,1, timer=52,0,0, clock=0,49,0,0,0,0,0,0,0
[2021-11-03 09:14:08.885][Trace][2687937][226w4728] gb28181: generate ssrc id=34020000001320000003@34020000001320000003, ssrc=11
[2021-11-03 09:14:08.885][Trace][2687937][226w4728] new source, stream_url=/live/34020000001320000003@34020000001320000003
[2021-11-03 09:14:08.885][Trace][2687937][226w4728] dvr stream 34020000001320000003@34020000001320000003 to file /root/dvr/live/34020000001320000003@34020000001320000003/2021/11/03/1635902048885.mp4
[2021-11-03 09:14:08.885][Trace][2687937][226w4728] ignore disabled exec for vhost=
[2021-11-03 09:14:08.885][Trace][2687937][226w4728] gb28181: create new stream channel id:34020000001320000003@34020000001320000003 rtmp url=rtmp://192.168.1.10:1935/live/34020000001320000003@34020000001320000003
[2021-11-03 09:14:08.888][Trace][2687937][ds43t33x] gb28181: request client id=34020000001320000003, peer(192.168.1.33, 5060)
[2021-11-03 09:14:08.888][Trace][2687937][ds43t33x] gb28181: respone method=INVITE, uri=34020000002000000001@3402000000, version=SIP/2.0 
[2021-11-03 09:14:08.888][Trace][2687937][ds43t33x] gb28181: INVITE response 34020000001320000003 client status=100
[2021-11-03 09:14:08.891][Trace][2687937][ds43t33x] gb28181: ssrc in y line is 11:b
[2021-11-03 09:14:08.891][Trace][2687937][ds43t33x] gb28181: request client id=34020000001320000003, peer(192.168.1.33, 5060)
[2021-11-03 09:14:08.891][Trace][2687937][ds43t33x] gb28181: respone method=INVITE, uri=34020000002000000001@3402000000, version=SIP/2.0 
[2021-11-03 09:14:08.891][Trace][2687937][ds43t33x] gb28181: INVITE response 34020000001320000003 client status=200
[2021-11-03 09:14:08.891][Trace][2687937][ds43t33x] gb28181: device unique id is 34020000001320000003@34020000001320000003
[2021-11-03 09:14:08.925][Trace][2687937][ds43t33x] <- GBS gb28181: client_id , peer(192.168.1.33, 15060) ps rtp packet 1412B, age=55662698, vt=2/96, sts=0/0/0xb, paylod=1400B
[2021-11-03 09:14:08.925][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:47457856
[2021-11-03 09:14:08.928][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:47457856, _buffer:47489888
[2021-11-03 09:14:08.933][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:47489888, _buffer:2026151952
[2021-11-03 09:14:08.943][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:420000, prevBuffer:2026151952, _buffer:2025730064
[2021-11-03 09:14:08.943][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:47489888
[2021-11-03 09:14:08.957][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:47519904
[2021-11-03 09:14:08.967][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:47549920
[2021-11-03 09:14:08.977][Trace][2687937][2hv4b11z] RTP: jitbuffer key=34020000001320000003@34020000001320000003 reallocate a frame buffer size(216416>0) resize(246416)
[2021-11-03 09:14:08.978][Trace][2687937][2hv4b11z] gb28181: ps map video es_type=h264(1b), es_id=e0, es_info_length=40
[2021-11-03 09:14:08.978][Trace][2687937][2hv4b11z] gb28181: ps map audio es_type=g711(90), es_id=c0, es_info_length=12
[2021-11-03 09:14:08.978][Trace][2687937][2hv4b11z] 44B video sh,  codec(7, profile=Main, level=Other, 1920x1088, 0kbps, 0.0fps, 0.0s)
[2021-11-03 09:14:08.978][Trace][2687937][2hv4b11z] RTP: jitbuffer key=34020000001320000003@34020000001320000003 reallocate a frame buffer size(336>0) resize(30336)
[2021-11-03 09:14:08.997][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:47610288
[2021-11-03 09:14:09.008][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:47665264
[2021-11-03 09:14:09.039][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:47695280
[2021-11-03 09:14:09.079][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:47748784
[2021-11-03 09:14:09.090][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:48012000
[2021-11-03 09:14:09.120][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:48042016
[2021-11-03 09:14:09.131][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:48098816
[2021-11-03 09:14:09.213][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:48128832
[2021-11-03 09:14:09.885][Trace][2687937][226w4728] gb28181: 34020000001320000003 clients device=34020000001320000003 send invite code=0
[2021-11-03 09:14:10.934][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:47610288, _buffer:48975168
[2021-11-03 09:14:10.939][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:48975168, _buffer:49065184
[2021-11-03 09:14:10.949][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:420000, prevBuffer:49065184, _buffer:2025058320
[2021-11-03 09:14:12.934][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:47748784, _buffer:47908000
[2021-11-03 09:14:12.939][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:47908000, _buffer:48881008
[2021-11-03 09:14:13.903][Trace][2687937][ds43t33x] Hybrid cpu=2.00%,18MB, cid=4,1, timer=52,0,0, clock=0,47,1,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:36,oth:0,buf:0,drop:0)
[2021-11-03 09:14:18.924][Trace][2687937][ds43t33x] <- GBS gb28181: client_id , peer(192.168.1.33, 15060) ps rtp packet 348B, age=65664084, vt=2/96, sts=3775/900000/0xb, paylod=336B
[2021-11-03 09:14:19.035][Trace][2687937][ds43t33x] Hybrid cpu=1.67%,18MB, cid=4,1, timer=52,0,0, clock=0,47,1,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:36,oth:0,buf:0,drop:0)
[2021-11-03 09:14:24.159][Trace][2687937][ds43t33x] Hybrid cpu=2.00%,18MB, cid=1,0, timer=51,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:74,oth:0,buf:0,drop:0)
[2021-11-03 09:14:25.129][Trace][2687937][64488913] HTTP #0 192.168.1.10:40580 GET http://192.168.1.10:1985/api/v1/gb28181?action=sip_query_session, content-length=-1
[2021-11-03 09:14:25.130][Trace][2687937][64488913] TCP: before dispose resource(HttpConn)(0x2e5e620), conns=1, zombies=0, ign=0, inz=0, ind=0
[2021-11-03 09:14:25.130][Warn][2687937][64488913][104] client disconnect peer. ret=1007
[2021-11-03 09:14:25.130][Trace][2687937][u3ehro09] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2021-11-03 09:14:25.130][Trace][2687937][64488913] TCP: disposing #0 resource(HttpConn)(0x2e5e620), conns=1, disposing=1, zombies=0
[2021-11-03 09:14:28.931][Trace][2687937][ds43t33x] <- GBS gb28181: client_id , peer(192.168.1.33, 15060) ps rtp packet 1412B, age=75669731, vt=2/96, sts=7662/1800000/0xb, paylod=1400B
[2021-11-03 09:14:29.302][Trace][2687937][ds43t33x] Hybrid cpu=2.00%,19MB, cid=1,0, timer=51,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:74,oth:0,buf:0,drop:0)
[2021-11-03 09:14:34.442][Trace][2687937][ds43t33x] Hybrid cpu=1.67%,18MB, cid=1,1, timer=52,0,0, clock=0,41,6,0,0,0,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:74,oth:0,buf:0,drop:0)
[2021-11-03 09:14:38.941][Trace][2687937][2hv4b11z] gb28181: client id=34020000001320000003@34020000001320000003,  ssrc=0xb, peer(192.168.1.33, 15060), rtmp muxer is alive
[2021-11-03 09:14:39.572][Trace][2687937][ds43t33x] Hybrid cpu=2.00%,19MB, cid=1,1, timer=52,0,0, clock=0,41,6,0,0,0,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:74,oth:0,buf:0,drop:0)
[2021-11-03 09:14:40.988][Trace][2687937][2hv4b11z] dvr stream 34020000001320000003@34020000001320000003 to file /root/dvr/live/34020000001320000003@34020000001320000003/2021/11/03/1635902080988.mp4
[2021-11-03 09:14:44.801][Trace][2687937][ds43t33x] Hybrid cpu=1.66%,19MB, cid=1,0, timer=51,0,0, clock=0,41,6,1,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:75,oth:0,buf:0,drop:0)
[2021-11-03 09:14:48.955][Trace][2687937][2hv4b11z] gb28181: client id=34020000001320000003@34020000001320000003,  ssrc=0xb, peer(192.168.1.33, 15060), rtmp muxer is alive
[2021-11-03 09:14:49.933][Trace][2687937][ds43t33x] Hybrid cpu=2.66%,19MB, cid=1,0, timer=51,0,0, clock=0,41,6,1,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:75,oth:0,buf:0,drop:0)
[2021-11-03 09:14:54.954][Trace][2687937][ds43t33x] RTP: jitbuffer VerifyAndAllocate:newSize:420000, prevBuffer:48881008, _buffer:49738560
[2021-11-03 09:14:55.054][Trace][2687937][ds43t33x] Hybrid cpu=1.67%,19MB, cid=1,0, timer=51,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:75,oth:0,buf:0,drop:0)
[2021-11-03 09:14:58.974][Trace][2687937][2hv4b11z] gb28181: client id=34020000001320000003@34020000001320000003,  ssrc=0xb, peer(192.168.1.33, 15060), rtmp muxer is alive
[2021-11-03 09:15:00.181][Trace][2687937][ds43t33x] Hybrid cpu=2.33%,19MB, cid=1,0, timer=51,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:75,oth:0,buf:0,drop:0)
[2021-11-03 09:15:05.307][Trace][2687937][ds43t33x] Hybrid cpu=2.00%,19MB, cid=1,0, timer=51,0,0, clock=0,44,3,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:75,oth:0,buf:0,drop:0)
[2021-11-03 09:15:07.922][Trace][2687937][226w4728] gb28181: sip session=34020000001320000003 peer(192.168.1.33, 5060) status(RegisterOk,AliveOk) duration(65,0)
[2021-11-03 09:15:08.961][Trace][2687937][ds43t33x] <- GBS gb28181: client_id , peer(192.168.1.33, 15060) ps rtp packet 1412B, age=115699235, vt=2/96, sts=23448/5403600/0xb, paylod=1400B
[2021-11-03 09:15:10.437][Trace][2687937][ds43t33x] Hybrid cpu=2.33%,19MB, cid=1,0, timer=51,0,0, clock=0,44,3,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:75,oth:0,buf:0,drop:0)
[2021-11-03 09:15:12.995][Warn][2687937][2hv4b11z][2] dvr: ignore video error code=1068 : update duration : segment close : rename fragment : rename /root/dvr/live/34020000001320000003@34020000001320000003/2021/11/03/1635902080988.mp4.tmp to /root/dvr/live/34020000001320000003@34020000001320000003/2021/11/03/1635902080988.mp4
thread [2687937][2hv4b11z]: on_video() [src/app/srs_app_dvr.cpp:854][errno=2]
thread [2687937][2hv4b11z]: update_duration() [src/app/srs_app_dvr.cpp:893][errno=2]
thread [2687937][2hv4b11z]: close() [src/app/srs_app_dvr.cpp:191][errno=2]
thread [2687937][2hv4b11z]: rename() [src/app/srs_app_fragment.cpp:149][errno=2]
[2021-11-03 09:15:14.983][Trace][2687937][2hv4b11z] dvr stream 34020000001320000003@34020000001320000003 to file /root/dvr/live/34020000001320000003@34020000001320000003/2021/11/03/1635902114983.mp4
[2021-11-03 09:15:15.574][Trace][2687937][ds43t33x] Hybrid cpu=2.33%,19MB, cid=1,0, timer=51,0,0, clock=0,43,5,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:68,oth:0,buf:0,drop:0)
[2021-11-03 09:15:16.968][Warn][2687937][2hv4b11z][11] dvr: ignore video error code=3076 : update duration : segment close : close encoder : flush encoder : Missing audio and video track
thread [2687937][2hv4b11z]: on_video() [src/app/srs_app_dvr.cpp:854][errno=11]
thread [2687937][2hv4b11z]: update_duration() [src/app/srs_app_dvr.cpp:893][errno=11]
thread [2687937][2hv4b11z]: close() [src/app/srs_app_dvr.cpp:186][errno=11]
thread [2687937][2hv4b11z]: close_encoder() [src/app/srs_app_dvr.cpp:531][errno=11]
thread [2687937][2hv4b11z]: flush() [src/kernel/srs_kernel_mp4.cpp:5767][errno=11]
[2021-11-03 09:15:18.983][Trace][2687937][2hv4b11z] dvr stream 34020000001320000003@34020000001320000003 to file /root/dvr/live/34020000001320000003@34020000001320000003/2021/11/03/1635902118983.mp4
[2021-11-03 09:15:18.983][Trace][2687937][2hv4b11z] gb28181: client id=34020000001320000003@34020000001320000003,  ssrc=0xb, peer(192.168.1.33, 15060), rtmp muxer is alive
[2021-11-03 09:15:20.701][Trace][2687937][ds43t33x] Hybrid cpu=1.67%,19MB, cid=1,0, timer=51,0,0, clock=0,43,5,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:68,oth:0,buf:0,drop:0)
[2021-11-03 09:15:20.969][Warn][2687937][2hv4b11z][11] dvr: ignore video error code=3076 : update duration : segment close : close encoder : flush encoder : Missing audio and video track
thread [2687937][2hv4b11z]: on_video() [src/app/srs_app_dvr.cpp:854][errno=11]
thread [2687937][2hv4b11z]: update_duration() [src/app/srs_app_dvr.cpp:893][errno=11]
thread [2687937][2hv4b11z]: close() [src/app/srs_app_dvr.cpp:186][errno=11]
thread [2687937][2hv4b11z]: close_encoder() [src/app/srs_app_dvr.cpp:531][errno=11]
thread [2687937][2hv4b11z]: flush() [src/kernel/srs_kernel_mp4.cpp:5767][errno=11]
[2021-11-03 09:15:22.986][Trace][2687937][2hv4b11z] dvr stream 34020000001320000003@34020000001320000003 to file /root/dvr/live/34020000001320000003@34020000001320000003/2021/11/03/1635902122986.mp4
[2021-11-03 09:15:25.002][Warn][2687937][2hv4b11z][11] dvr: ignore video error code=3076 : update duration : segment close : close encoder : flush encoder : Missing audio and video track
thread [2687937][2hv4b11z]: on_video() [src/app/srs_app_dvr.cpp:854][errno=11]
thread [2687937][2hv4b11z]: update_duration() [src/app/srs_app_dvr.cpp:893][errno=11]
thread [2687937][2hv4b11z]: close() [src/app/srs_app_dvr.cpp:186][errno=11]
thread [2687937][2hv4b11z]: close_encoder() [src/app/srs_app_dvr.cpp:531][errno=11]
thread [2687937][2hv4b11z]: flush() [src/kernel/srs_kernel_mp4.cpp:5767][errno=11]
[2021-11-03 09:15:25.133][Trace][2687937][3g4yrp80] HTTP #0 192.168.1.10:40610 GET http://192.168.1.10:1985/api/v1/gb28181?action=sip_query_session, content-length=-1
[2021-11-03 09:15:25.134][Trace][2687937][3g4yrp80] TCP: before dispose resource(HttpConn)(0x2d9c790), conns=1, zombies=0, ign=0, inz=0, ind=0
[2021-11-03 09:15:25.134][Warn][2687937][3g4yrp80][104] client disconnect peer. ret=1007
[2021-11-03 09:15:25.134][Trace][2687937][u3ehro09] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2021-11-03 09:15:25.134][Trace][2687937][3g4yrp80] TCP: disposing #0 resource(HttpConn)(0x2d9c790), conns=1, disposing=1, zombies=0
[2021-11-03 09:15:25.830][Trace][2687937][ds43t33x] Hybrid cpu=2.33%,19MB, cid=3,1, timer=51,0,0, clock=0,44,4,0,0,0,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:49,oth:0,buf:0,drop:0)
[2021-11-03 09:15:26.960][Trace][2687937][2hv4b11z] dvr stream 34020000001320000003@34020000001320000003 to file /root/dvr/live/34020000001320000003@34020000001320000003/2021/11/03/1635902126959.mp4
[2021-11-03 09:15:28.978][Warn][2687937][2hv4b11z][11] dvr: ignore video error code=3076 : update duration : segment close : close encoder : flush encoder : Missing audio and video track
thread [2687937][2hv4b11z]: on_video() [src/app/srs_app_dvr.cpp:854][errno=11]
thread [2687937][2hv4b11z]: update_duration() [src/app/srs_app_dvr.cpp:893][errno=11]
thread [2687937][2hv4b11z]: close() [src/app/srs_app_dvr.cpp:186][errno=11]
thread [2687937][2hv4b11z]: close_encoder() [src/app/srs_app_dvr.cpp:531][errno=11]
thread [2687937][2hv4b11z]: flush() [src/kernel/srs_kernel_mp4.cpp:5767][errno=11]
[2021-11-03 09:15:28.978][Trace][2687937][2hv4b11z] gb28181: client id=34020000001320000003@34020000001320000003,  ssrc=0xb, peer(192.168.1.33, 15060), rtmp muxer is alive
[2021-11-03 09:15:30.955][Trace][2687937][ds43t33x] Hybrid cpu=2.00%,19MB, cid=3,1, timer=51,0,0, clock=0,44,4,0,0,0,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:49,oth:0,buf:0,drop:0)
[2021-11-03 09:15:30.995][Trace][2687937][2hv4b11z] dvr stream 34020000001320000003@34020000001320000003 to file /root/dvr/live/34020000001320000003@34020000001320000003/2021/11/03/1635902130995.mp4
[2021-11-03 09:15:32.979][Warn][2687937][2hv4b11z][11] dvr: ignore video error code=3076 : update duration : segment close : close encoder : flush encoder : Missing audio and video track
thread [2687937][2hv4b11z]: on_video() [src/app/srs_app_dvr.cpp:854][errno=11]
thread [2687937][2hv4b11z]: update_duration() [src/app/srs_app_dvr.cpp:893][errno=11]
thread [2687937][2hv4b11z]: close() [src/app/srs_app_dvr.cpp:186][errno=11]
thread [2687937][2hv4b11z]: close_encoder() [src/app/srs_app_dvr.cpp:531][errno=11]
thread [2687937][2hv4b11z]: flush() [src/kernel/srs_kernel_mp4.cpp:5767][errno=11]
[2021-11-03 09:15:34.961][Trace][2687937][2hv4b11z] dvr stream 34020000001320000003@34020000001320000003 to file /root/dvr/live/34020000001320000003@34020000001320000003/2021/11/03/1635902134961.mp4
[2021-11-03 09:15:36.082][Trace][2687937][ds43t33x] Hybrid cpu=2.00%,19MB, cid=1,0, timer=51,0,0, clock=0,44,4,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:50,oth:0,buf:0,drop:0)
[2021-11-03 09:15:36.978][Warn][2687937][2hv4b11z][11] dvr: ignore video error code=3076 : update duration : segment close : close encoder : flush encoder : Missing audio and video track
thread [2687937][2hv4b11z]: on_video() [src/app/srs_app_dvr.cpp:854][errno=11]
thread [2687937][2hv4b11z]: update_duration() [src/app/srs_app_dvr.cpp:893][errno=11]
thread [2687937][2hv4b11z]: close() [src/app/srs_app_dvr.cpp:186][errno=11]
thread [2687937][2hv4b11z]: close_encoder() [src/app/srs_app_dvr.cpp:531][errno=11]
thread [2687937][2hv4b11z]: flush() [src/kernel/srs_kernel_mp4.cpp:5767][errno=11]
  1. SRS的配置如下(Config):
# push gb28181 stream to SRS.

listen                  1935;
max_connections         1000;
daemon              off;
srs_log_tank        file;
srs_log_level       trace;

http_api {
    enabled         on;
    listen          1985;
}

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;

    # 转发流到rtmp服务器地址与端口
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
    # [stream] is VideoChannelCodecID(视频通道编码ID) for sip
    # 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
    # [ssrc] rtp中的ssrc
    output              rtmp://192.168.1.10:1935/live/[stream];
    
    # 接收设备端rtp流的多路复用端口
    listen              9000;
    # 多路复用端口类型,on为tcp,off为udp
    # 默认:off
    tcp_enable            off;

    # rtp接收监听端口范围,最小值
    rtp_port_min        58200;
    # rtp接收监听端口范围,最大值
    rtp_port_max        58300;

    # 是否等待关键帧之后,再转发,
    # off:不需等待,直接转发
    # on:等第一个关键帧后,再转发
    wait_keyframe       on;
    
    # rtp包空闲等待时间,如果指定时间没有收到任何包
    # rtp监听连接自动停止,发送BYE命令
    rtp_idle_timeout    30;

    # 是否转发音频流
    # 目前只支持aac格式,所以需要设备支持aac格式
    # on:转发音频
    # off:不转发音频,只有视频
    # *注意*!!!:flv 只支持11025  22050  44100 三种
    # 如果设备端没有三种中任何一个,转发时为自动选择一种格式
    # 同时也会将adts的头封装在flv aac raw数据中
    # 这样的话播放器为自动通过adts头自动选择采样频率
    # 像ffplay, vlc都可以,但是flash是没有声音,
    # 因为flash,只支持11025 22050 44100
    audio_enable        off;

    # 是否开启rtp缓冲
    # 开启之后能有效解决rtp乱序等问题
    jitterbuffer_enable  on;

    # 服务器主机号,可以域名或ip地址
    # 也就是设备端将媒体发送的地址,如果是服务器是内外网
    # 需要写外网地址,
    # 调用api创建stream session时返回ip地址也是host
    # $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
    # *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
    host       192.168.1.10;

    #根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
    #rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
    auto_create_channel   off;

    sip {
        # 是否启用srs内部sip信令
        # 为on信令走srs, off 只转发ps流
        enabled on;
        
        # sip监听udp端口
        listen              5060;
        
        # SIP server ID(SIP服务器ID).
        # 设备端配置编号需要与该值一致,否则无法注册
        serial              34020000002000000001;

        # SIP server domain(SIP服务器域)
        realm               3402000000;

        # 服务端发送ack后,接收回应的超时时间,单位为秒
        # 如果指定时间没有回应,认为失败
        ack_timeout         30;

        # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
        # 认为设备离线
        keepalive_timeout   120;

        # 注册之后是否自动给设备端发送invite
        # on: 是  off 不是,需要通过api控制
        auto_play           on;
        # 设备将流发送的端口,是否固定
        # on 发送流到多路复用端口 如9000
        # off 自动从rtp_mix_port - rtp_max_port 之间的值中
        # 选一个可以用的端口
        invite_port_fixed     on;

        # 向设备或下级域查询设备列表的间隔,单位(秒)
        # 默认60秒
        query_catalog_interval  60;
    }
}


vhost __defaultVhost__ {
    dvr {
        enabled      on;
        dvr_path     /root/dvr/[app]/[stream]/[2006]/[01]/[02]/[timestamp].mp4;
        dvr_plan     segment;
        dvr_duration    30;
        dvr_wait_keyframe       on;
    }
}

重现(Replay)

重现Bug的步骤(How to replay bug?)

不定期出现

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)

正常保存文件

同时开启GB28181和RTC会导致守护进程退出 #2143

描述(Description)

描述你遇到了什么问题(Please description your issue here)

配置开启GB28181和RTC时,结束推流或者创建频道不推流,会导致守护进程退出

  1. SRS版本(Version): v4.0.59
  2. SRS的日志如下(Log):
[2021-01-13 14:59:02.858][Warn][88233][076l3hr8][104] client disconnect peer. code=1007
[2021-01-13 14:59:02.858][Trace][88233][s287aaa8] GB28181TCP: clear zombies=1 resources, conns=0, removing=0, unsubs=0
[2021-01-13 14:59:02.858][Trace][88233][076l3hr8] GB28181TCP: disposing #0 resource(GB28181TcpConn)(0x2e55028), conns=0, disposing=1, zombies=0
[2021-01-13 14:59:02.864][Trace][88233][95xq1035] gb28181: request client id=34020000001320000002 peer(192.168.1.64, 5060)
[2021-01-13 14:59:02.865][Trace][88233][95xq1035] gb28181: request method=REGISTER, uri=sip:34020000002000000001@3402000000, version=SIP/2.0 expires=0
[2021-01-13 14:59:03.792][Trace][88233][b868o610] gb28181: sip session=34020000001320000002 register expire
[2021-01-13 14:59:03.792][Trace][88233][b868o610] gb28181: client id=34020000001320000002 sip session is remove
[2021-01-13 14:59:03.792][Trace][88233][b868o610] gb28181: sip client finished.
[2021-01-13 14:59:03.816][Trace][88233][zx20ip85] gb28181: client id=34020000001320000002@34020000001320000001,  ssrc=0x2455f0a, peer(192.168.1.64, 15060), rtmp muxer is alive
[2021-01-13 14:59:04.866][Warn][88233][zx20ip85][11] gb28181: client id=34020000001320000002@34020000001320000001 ssrc=0x2455f0a, peer(192.168.1.64, 15060), no rtp data 2 in seconds, clean it, wait other port!
[2021-01-13 14:59:23.830][Trace][88233][zx20ip85] gb28181: client id=34020000001320000002@34020000001320000001,  ssrc=0x2455f0a, peer(, 0), rtmp muxer is alive
[2021-01-13 14:59:32.865][Trace][88233][zx20ip85] gb28181: client id=34020000001320000002@34020000001320000001, stream idle timeout, stop!!!
[2021-01-13 14:59:32.865][Trace][88233][zx20ip85] gb28181: client id=34020000001320000002@34020000001320000001 rtmp muxer is remove
[2021-01-13 14:59:32.865][Trace][88233][zx20ip85] client finished.
[2021-01-13 14:59:32.865][Trace][88233][258p0476] cleanup when unpublish
[2021-01-13 14:59:32.865][Trace][88233][258p0476] cleanup when unpublish, created=1, deliver=1
  1. SRS的配置如下(Config):
listen                  1935;
max_connections         1000;
daemon              on;
pid                 ./objs/srs.gb28181.pid;
ff_log_dir          ./objs;
srs_log_tank        file;
srs_log_level       trace;
srs_log_file        ./objs/srs.gb28181.log;

http_api {
    enabled         on;
    listen          1985;
}

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;
    output              rtmp://127.0.0.1:1935/live/[stream];
    listen              9000;
    tcp_enable            on;
    rtp_port_min        58200;
    rtp_port_max        58300;
    wait_keyframe       on;
    rtp_idle_timeout    30;
    audio_enable        off;
    jitterbuffer_enable  on;
    host       192.168.1.164;
    auto_create_channel   off;
    sip {
        enabled on;
        listen              5060;
        serial              34020000002000000001;
        realm               3402000000;
        ack_timeout         30;
        keepalive_timeout   120;
        auto_play           on;
        invite_port_fixed     on;
        query_catalog_interval  60;
    }
}
rtc_server {
    enabled         on;
    listen          8000;
    candidate      $CANDIDATE;
}

vhost __defaultVhost__ {
    rtc {
           enabled     on;
           bframe      discard;
    }
}

重现(Replay)

重现Bug的步骤(How to replay bug?)

方法1. 使用上述配置启动srs,使用GB28181推流正常运行后,结束GB28181推流,等待几秒
方法2. 使用srs提供的GB28181创建频道接口:http://ip:port/api/v1/gb28181&action=create_channel,等待几秒

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)

频道正常关闭,SRS守护进程不自动退出。

海康gb28181 有流,但是无法用vlc播放 #2841

注意:提问前,请先看FAQ(Please read FAQ before file an issue) ossrs/srs#2716

描述(Description)

描述你遇到了什么问题(Please description your issue here)
海康摄像头显示有流,但是无法在vlc播放

  1. SRS版本(Version): xxxxxx
    5.0.19

  2. SRS的日志如下(Log):
    [2022-01-04 15:03:21.045][Trace][10214][1278j137] gb28181: 34020000001110000001 client not registered
    [2022-01-04 15:03:21.527][Trace][10214][1278j137] gb28181: request client id=34020000001110000001 peer(39.82.235.105, 5060)
    [2022-01-04 15:03:21.527][Trace][10214][1278j137] gb28181: request method=REGISTER, uri=sip:34020000002000000001@3402000000, version=SIP/2.0 expires=86400
    [2022-01-04 15:03:23.528][Trace][10214][g49hbc2e] gb28181: sip session=34020000001110000001 peer(39.82.235.105, 5060) status(RegisterOk,AliveOk) duration(1,0)
    [2022-01-04 15:03:24.528][Trace][10214][g49hbc2e] gb28181: generate ssrc id=34020000001110000001@34020000001320000001, ssrc=38732042
    [2022-01-04 15:03:24.529][Trace][10214][g49hbc2e] new source, stream_url=/live/34020000001110000001@34020000001320000001
    [2022-01-04 15:03:24.529][Trace][10214][g49hbc2e] new source, stream_url=/live/34020000001110000001@34020000001320000001
    [2022-01-04 15:03:24.529][Trace][10214][g49hbc2e] RTC bridge from RTMP, rtmp2rtc=0, keep_bframe=0, merge_nalus=0
    [2022-01-04 15:03:24.529][Trace][10214][g49hbc2e] ignore disabled exec for vhost=
    [2022-01-04 15:03:24.529][Trace][10214][g49hbc2e] gb28181: create new stream channel id:34020000001110000001@34020000001320000001 rtmp url=rtmp://127.0.0.1:1935/live/34020000001110000001@34020000001320000001
    [2022-01-04 15:03:24.551][Trace][10214][1278j137] gb28181: ssrc in y line is 38732042:24f010a
    [2022-01-04 15:03:24.551][Trace][10214][1278j137] gb28181: request client id=34020000001320000001, peer(39.82.235.105, 5060)
    [2022-01-04 15:03:24.551][Trace][10214][1278j137] gb28181: respone method=INVITE, uri=34020000002000000001@3402000000, version=SIP/2.0
    [2022-01-04 15:03:24.551][Trace][10214][1278j137] gb28181: INVITE response 34020000001320000001 client status=200
    [2022-01-04 15:03:24.551][Trace][10214][1278j137] gb28181: device unique id is 34020000001110000001@34020000001320000001
    [2022-01-04 15:03:24.590][Trace][10214][x451c824] gb28181 new connect by rtp-tcp from: 39.82.235.105:34134
    [2022-01-04 15:03:24.646][Trace][10214][x451c824] <- GBS gb28181: client_id , peer(39.82.235.105, 34134) ps rtp packet 896B, age=139987034, vt=2/96, sts=0/3600/0x24f010a, paylod=884B
    [2022-01-04 15:03:24.646][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34183216
    [2022-01-04 15:03:24.675][Trace][10214][d3p3ue8j] Hybrid cpu=0.00%,14MB, cid=1,0, timer=63,0,0, clock=0,49,0,0,0,0,0,0,0
    [2022-01-04 15:03:24.696][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34214144
    [2022-01-04 15:03:24.746][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34245104
    [2022-01-04 15:03:24.766][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34275120
    [2022-01-04 15:03:24.846][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34305136
    [2022-01-04 15:03:24.867][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34335152
    [2022-01-04 15:03:24.896][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34365168
    [2022-01-04 15:03:24.946][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34395184
    [2022-01-04 15:03:24.965][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34426176
    [2022-01-04 15:03:25.046][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34456192
    [2022-01-04 15:03:25.066][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34486208
    [2022-01-04 15:03:25.096][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34516224
    [2022-01-04 15:03:25.147][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34546240
    [2022-01-04 15:03:25.166][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34576256
    [2022-01-04 15:03:25.246][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34606272
    [2022-01-04 15:03:25.260][Trace][10214][9s23rnds] RTP: jitbuffer key=34020000001110000001@34020000001320000001 reallocate a frame buffer size(884>0) resize(30884)
    [2022-01-04 15:03:25.529][Trace][10214][g49hbc2e] gb28181: 34020000001110000001 clients device=34020000001320000001 send invite code=0
    [2022-01-04 15:03:25.616][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34668144
    [2022-01-04 15:03:26.968][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:34486208, _buffer:34699680
    [2022-01-04 15:03:26.991][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:34699680, _buffer:-761106416
    [2022-01-04 15:03:27.577][Trace][10214][9s23rnds] RTP: jitbuffer key=34020000001110000001@34020000001320000001 reallocate a frame buffer size(201688>30884) resize(231688)
    [2022-01-04 15:03:27.577][Trace][10214][9s23rnds] gb28181: ps map video es_type=h264(1b), es_id=e0, es_info_length=28
    [2022-01-04 15:03:27.577][Trace][10214][9s23rnds] gb28181: ps map audio es_type=g711ulaw(91), es_id=c0, es_info_length=12
    [2022-01-04 15:03:29.374][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:34636288
    [2022-01-04 15:03:29.676][Trace][10214][d3p3ue8j] Hybrid cpu=0.00%,15MB, cid=1,0, timer=63,0,0, clock=0,49,0,0,0,0,0,0,0
    [2022-01-04 15:03:30.958][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:34516224, _buffer:34698832
    [2022-01-04 15:03:30.964][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:34698832, _buffer:34788848
    [2022-01-04 15:03:31.058][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:34606272, _buffer:34698832
    [2022-01-04 15:03:31.106][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:34698832, _buffer:34998864
    [2022-01-04 15:03:31.217][Trace][10214][1278j137] sip: Notify cmdtype=Alarm not processed
    [2022-01-04 15:03:34.656][Trace][10214][x451c824] <- GBS gb28181: client_id , peer(39.82.235.105, 34134) ps rtp packet 1328B, age=149992944, vt=2/96, sts=673/903600/0x24f010a, paylod=1316B
    [2022-01-04 15:03:34.676][Trace][10214][d3p3ue8j] Hybrid cpu=1.00%,16MB, cid=3,1, timer=62,0,0, clock=0,47,1,0,0,0,0,0,0
    [2022-01-04 15:03:35.108][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:34546240, _buffer:34698160
    [2022-01-04 15:03:35.114][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:34698160, _buffer:35208880
    [2022-01-04 15:03:39.125][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:420000, prevBuffer:-761106416, _buffer:35418896
    [2022-01-04 15:03:39.677][Trace][10214][d3p3ue8j] Hybrid cpu=1.00%,16MB, cid=3,1, timer=62,0,0, clock=0,47,1,0,0,0,0,0,0
    [2022-01-04 15:03:43.109][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:34668144, _buffer:34486208
    [2022-01-04 15:03:43.114][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:34486208, _buffer:35838912
    [2022-01-04 15:03:43.124][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:420000, prevBuffer:35838912, _buffer:-761761776
    [2022-01-04 15:03:44.653][Trace][10214][9s23rnds] gb28181: client id=34020000001110000001@34020000001320000001, ssrc=0x24f010a, peer(39.82.235.105, 34134), rtmp muxer is alive
    [2022-01-04 15:03:44.678][Trace][10214][d3p3ue8j] Hybrid cpu=1.00%,16MB, cid=3,1, timer=62,0,0, clock=0,47,1,0,0,0,0,0,0
    [2022-01-04 15:03:47.108][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:34636288, _buffer:34486208
    [2022-01-04 15:03:47.115][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:34486208, _buffer:35838912
    [2022-01-04 15:03:47.125][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:420000, prevBuffer:35838912, _buffer:-762183664
    [2022-01-04 15:03:49.678][Trace][10214][d3p3ue8j] Hybrid cpu=1.00%,17MB, cid=1,0, timer=62,0,0, clock=0,46,1,0,0,0,0,0,0
    [2022-01-04 15:03:51.109][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:34365168, _buffer:34606272
    [2022-01-04 15:03:51.114][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:34606272, _buffer:35838912
    [2022-01-04 15:03:51.125][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:420000, prevBuffer:35838912, _buffer:-762605552
    [2022-01-04 15:03:54.657][Trace][10214][x451c824] <- GBS gb28181: client_id , peer(39.82.235.105, 34134) ps rtp packet 16B, age=169984068, vt=2/96, sts=2289/2703600/0x24f010a, paylod=4B
    [2022-01-04 15:03:54.678][Trace][10214][d3p3ue8j] Hybrid cpu=0.00%,17MB, cid=1,0, timer=62,0,0, clock=0,46,1,0,0,0,0,0,0
    [2022-01-04 15:03:55.108][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:34305136, _buffer:34606272
    [2022-01-04 15:03:55.114][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:34606272, _buffer:35838912
    [2022-01-04 15:03:55.126][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:420000, prevBuffer:35838912, _buffer:-763027440
    [2022-01-04 15:03:59.058][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:34245104, _buffer:34486208
    [2022-01-04 15:03:59.064][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:34486208, _buffer:35838912
    [2022-01-04 15:03:59.679][Trace][10214][d3p3ue8j] Hybrid cpu=0.00%,17MB, cid=1,0, timer=62,0,0, clock=0,47,1,0,0,0,0,0,0
    [2022-01-04 15:04:03.058][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:34183216, _buffer:34486208
    [2022-01-04 15:04:03.064][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:34486208, _buffer:36048928
    [2022-01-04 15:04:04.657][Trace][10214][x451c824] <- GBS gb28181: client_id , peer(39.82.235.105, 34134) ps rtp packet 512B, age=179991823, vt=2/96, sts=3009/3603600/0x24f010a, paylod=500B
    [2022-01-04 15:04:04.679][Trace][10214][d3p3ue8j] Hybrid cpu=0.00%,18MB, cid=1,0, timer=62,0,0, clock=0,47,1,0,0,0,0,0,0
    [2022-01-04 15:04:07.109][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:34576256, _buffer:34486208
    [2022-01-04 15:04:07.115][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:34486208, _buffer:34576224
    [2022-01-04 15:04:09.679][Trace][10214][d3p3ue8j] Hybrid cpu=1.00%,18MB, cid=1,0, timer=62,0,0, clock=0,47,1,0,0,0,0,0,0
    [2022-01-04 15:04:14.674][Trace][10214][9s23rnds] gb28181: client id=34020000001110000001@34020000001320000001, ssrc=0x24f010a, peer(39.82.235.105, 34134), rtmp muxer is alive
    [2022-01-04 15:04:14.680][Trace][10214][d3p3ue8j] Hybrid cpu=0.00%,18MB, cid=1,0, timer=62,0,0, clock=0,47,1,0,0,0,0,0,0
    [2022-01-04 15:04:15.058][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:34456192, _buffer:34486208
    [2022-01-04 15:04:15.065][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:34486208, _buffer:36258944
    [2022-01-04 15:04:19.058][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:34426176, _buffer:34456192
    [2022-01-04 15:04:19.065][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:34456192, _buffer:36468960
    [2022-01-04 15:04:19.680][Trace][10214][d3p3ue8j] Hybrid cpu=0.00%,18MB, cid=1,0, timer=62,0,0, clock=0,47,1,0,0,0,0,0,0
    [2022-01-04 15:04:23.059][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:34395184, _buffer:34425936
    [2022-01-04 15:04:23.065][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:34425936, _buffer:36678976
    [2022-01-04 15:04:23.566][Trace][10214][g49hbc2e] gb28181: sip session=34020000001110000001 peer(39.82.235.105, 5060) status(RegisterOk,AliveOk) duration(62,3)
    [2022-01-04 15:04:24.680][Trace][10214][d3p3ue8j] Hybrid cpu=0.00%,18MB, cid=1,0, timer=62,0,0, clock=0,47,1,0,0,0,0,0,0
    [2022-01-04 15:04:24.694][Trace][10214][9s23rnds] gb28181: client id=34020000001110000001@34020000001320000001, ssrc=0x24f010a, peer(39.82.235.105, 34134), rtmp muxer is alive
    [2022-01-04 15:04:27.059][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:34335152, _buffer:34425936
    [2022-01-04 15:04:27.065][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:34425936, _buffer:36888992
    [2022-01-04 15:04:29.681][Trace][10214][d3p3ue8j] Hybrid cpu=1.00%,18MB, cid=1,0, timer=62,0,0, clock=0,47,1,0,0,0,0,0,0
    [2022-01-04 15:04:31.059][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:34275120, _buffer:34425936
    [2022-01-04 15:04:31.065][Trace][10214][x451c824] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:34425936, _buffer:37099008

  3. SRS的配置如下(Config):
    `# push gb28181 stream to SRS.

listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;

http_api {
enabled on;
listen 1985;
}

http_server {
enabled on;
listen 8080;
}

stats {
network 0;
}

stream_caster {
enabled on;
caster gb28181;

# 转发流到rtmp服务器地址与端口
# TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
# [stream] is VideoChannelCodecID(视频通道编码ID) for sip
# 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
# [ssrc] rtp中的ssrc
output              rtmp://127.0.0.1:1935/live/[stream];

# 接收设备端rtp流的多路复用端口
listen              9000;
# 多路复用端口类型,on为tcp,off为udp
# 默认:on
tcp_enable            on;

# rtp接收监听端口范围,最小值
rtp_port_min        58200;
# rtp接收监听端口范围,最大值
rtp_port_max        58300;

是否等待关键帧之后,再转发,

# off:不需等待,直接转发
# on:等第一个关键帧后,再转发
wait_keyframe       on;

# rtp包空闲等待时间,如果指定时间没有收到任何包
# rtp监听连接自动停止,发送BYE命令
rtp_idle_timeout    30;

# 是否转发音频流
# 目前只支持aac格式,所以需要设备支持aac格式
# on:转发音频
# off:不转发音频,只有视频
# *注意*!!!:flv 只支持11025  22050  44100 三种
# 如果设备端没有三种中任何一个,转发时为自动选择一种格式
# 同时也会将adts的头封装在flv aac raw数据中
# 这样的话播放器为自动通过adts头自动选择采样频率
# 像ffplay, vlc都可以,但是flash是没有声音,
# 因为flash,只支持11025 22050 44100
audio_enable        off;


# 服务器主机号,可以域名或ip地址
# 也就是设备端将媒体发送的地址,如果是服务器是内外网
# 需要写外网地址,
# 调用api创建stream session时返回ip地址也是host
# $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
# *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
# TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
host       124.223.16.146;

#根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
#rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
auto_create_channel   off;

sip {
    # 是否启用srs内部sip信令
    # 为on信令走srs, off 只转发ps流
    enabled on;

    # sip监听udp端口
    listen              5060;

    # SIP server ID(SIP服务器ID).
    # 设备端配置编号需要与该值一致,否则无法注册
    serial              34020000002000000001;

    # SIP server domain(SIP服务器域)
    realm               3402000000;

    # 服务端发送ack后,接收回应的超时时间,单位为秒
    # 如果指定时间没有回应,认为失败
    ack_timeout         30;

    # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
    # 认为设备离线
    keepalive_timeout   120;

    # 注册之后是否自动给设备端发送invite
    # on: 是  off 不是,需要通过api控制
    auto_play           on;
    # 设备将流发送的端口,是否固定
    # on 发送流到多路复用端口 如9000
    # off 自动从rtp_mix_port - rtp_max_port 之间的值中
    # 选一个可以用的端口
    invite_port_fixed     on;

    # 向设备或下级域查询设备列表的间隔,单位(秒)
    # 默认60秒
    query_catalog_interval  60;
}

}

rtc_server {
enabled on;
# Listen at udp://8000
listen 8000;
#
# The $CANDIDATE means fetch from env, if not configed, use * as default.
#
# The * means retrieving server IP automatically, from all network interfaces,
# @see ossrs/srs#307 (comment)
candidate $CANDIDATE;
}

vhost defaultVhost {
rtc {
enabled on;
bframe discard;
}

http_remux {
    enabled     on;
    mount       [vhost]/[app]/[stream].flv;
}

} `
1641280660405

重现(Replay)

重现Bug的步骤(How to replay bug?)

按照上述配置情况

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)

GB28181手工创建通道无法播放 #1875

描述(Description)

GB28181手工创建通道无法播放

  1. SRS版本(Version): 4.0.35
  2. SRS的日志如下(Log):
    [2020-07-22 20:24:30.552][Trace][4594][303] gb28181: client id=13010100002000000115@13014109441310239901, stream idle timeout, stop!!!
    [2020-07-22 20:24:30.552][Trace][4594][303] gb28181: client id=13010100002000000115@13014109441310239901 rtmp muxer is remove
    [2020-07-22 20:24:30.553][Trace][4594][303] client finished.
  3. SRS的配置如下(Config):

push gb28181 stream to SRS.

listen 1935;
max_connections 1000;
daemon off;
srs_log_level info;
srs_log_tank file;
srs_log_file ./objs/srs.log;

http_api {
enabled on;
listen 1985;
}

stats {
network 0;
}

stream_caster {
enabled on;
caster gb28181;

# 转发流到rtmp服务器地址与端口
# TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
# [stream] is VideoChannelCodecID(视频通道编码ID) for sip
# 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
# [ssrc] rtp中的ssrc
output              rtmp://13.32.203.128:1935/live/[stream];

# 接收设备端rtp流的多路复用端口
listen              9000;

# rtp接收监听端口范围,最小值
rtp_port_min        58200;
# rtp接收监听端口范围,最大值
rtp_port_max        58300;

# 是否等待关键帧之后,再转发,
# off:不需等待,直接转发
# on:等第一个关键帧后,再转发
wait_keyframe       on;

# rtp包空闲等待时间,如果指定时间没有收到任何包
# rtp监听连接自动停止,发送BYE命令
rtp_idle_timeout    60;

# 是否转发音频流
# 目前只支持aac格式,所以需要设备支持aac格式
# on:转发音频
# off:不转发音频,只有视频
# *注意*!!!:flv 只支持11025  22050  44100 三种
# 如果设备端没有三种中任何一个,转发时为自动选择一种格式
# 同时也会将adts的头封装在flv aac raw数据中
# 这样的话播放器为自动通过adts头自动选择采样频率
# 像ffplay, vlc都可以,但是flash是没有声音,
# 因为flash,只支持11025 22050 44100
audio_enable        off;

# 是否开启rtp缓冲
# 开启之后能有效解决rtp乱序等问题
jitterbuffer_enable  on;

# 服务器主机号,可以域名或ip地址
# 也就是设备端将媒体发送的地址,如果是服务器是内外网
# 需要写外网地址,
# 调用api创建stream session时返回ip地址也是host
# $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
# *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
# TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
host       13.32.203.128;

#根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
#rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
auto_create_channel   on;

sip {
    # 是否启用srs内部sip信令
    # 为on信令走srs, off 只转发ps流
    enabled on;
    
    # sip监听udp端口
    listen              5060;
    
    # SIP server ID(SIP服务器ID).
    # 设备端配置编号需要与该值一致,否则无法注册
    serial              13010100002000000127;

    # SIP server domain(SIP服务器域)
    realm               1301010000;

    # 服务端发送ack后,接收回应的超时时间,单位为秒
    # 如果指定时间没有回应,认为失败
    ack_timeout         60;

    # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
    # 认为设备离线
    keepalive_timeout   120;

    # 注册之后是否自动给设备端发送invite
    # on: 是  off 不是,需要通过api控制
    auto_play           on;
    # 设备将流发送的端口,是否固定
    # on 发送流到多路复用端口 如9000
    # off 自动从rtp_mix_port - rtp_max_port 之间的值中
    # 选一个可以用的端口
    invite_port_fixed     on;

    # 向设备或下级域查询设备列表的间隔,单位(秒)
    # 默认60秒
    query_catalog_interval  60;
}

}

rtc_server {
enabled on;
listen 8000;
candidate 13.32.203.128;
}

vhost defaultVhost {
gop_cache off;
queue_length 10;
chunk_size 512;
rtc {
enabled on;
bframe discard;
}
}

重现(Replay)

重现Bug的步骤(How to replay bug?)

1、点击创建通道
2、在通道ID输入13010100002000000115@13014109441310239901

期望行为(Expect)

手工创建通道可播放,或者自动创建通道可以判断出是属于哪个设备的。

What about H.265? #2155

Notice

SRS 6.0已经正式支持了HEVC功能,请参考SRS #465,请使用6.0.4+版本。

Other

SRS是否应该支持H.265?应该,也不应该,我说说我的看法。

应该支持H.265的理由:

  • 264之后就是265、266等等,这个系列的编码器肯定会继续发展,现在TS和MP4系列的封装已经支持了265,比如HLS、DASH等,其实FLV和RTMP也有私有的方案搞,从编解码的发展上来看是应该要支持265的。
  • 由于国内对于专利的特殊的情况,特别是在监控行业265的发展速度比较快,GB28181到同学反馈有些摄像头只支持265,虽然很让人费解为什么不支持264(当然可能两个都支持但是总不能同时输出两路码流的吧)。

不应该支持H.265的理由:

  • 265的份额没有上升而且在下滑,实际上还是264为主,何况还有AV1和266,同样AV1在TS和MP4中支持也很好呀,为何一定要选择一个非主流编码方式呢。
  • 要全链路支持265非常困难,必须协议上必须要RTMP、FLV、TS、HLS、MP4、SRT、GB28181、WebRTC全部都要支持,否则只支持了RTMP又在其他场景下支持不好,还是一顿抱怨用不起来,要做就做完善点,不然就不要做了。

相关讨论和Issue:

  • #465 关于HLS和HTTP-TS中支持265。
  • #1070 关于是否支持AV1编码格式。
  • Commit 81e36410f2867affd2,RTMP、SRT、HLS中支持H.265。
  • Commit 5e9a827f0,GB28181支持H.265。

GB28181: srs部署再云端的,海康摄像头GB28181配置完成后,显示在线,但是查询所有会话,devices是空的。 #2417

我用的配置文件是拷贝老版本格式的,后来更新上了,这个参数我也测试了,无论是真假 都不影响测试结果,

Originally posted by @platoxie in ossrs/srs#2198 (comment)

{
"code": 0,
"data": {
"sessions": [
{
"id": "34020000001320000001",
"device_sumnum": 0,
"devices": []
}
]
}
}

devices是空的
版本5.0.3
海康摄像头,配置完成显示状态在线

srs.log 如下


[2021-06-16 15:44:22.691][Trace][18872][72e13im7] XCORE-SRS/5.0.3(Leo)
[2021-06-16 15:44:22.691][Trace][18872][72e13im7] config parse complete
[2021-06-16 15:44:22.691][Trace][18872][72e13im7] you can check log by: tail -f ./objs/srs.log (@see https://github.com/ossrs/srs/wiki/v1_CN_SrsLog)
[2021-06-16 15:44:22.691][Trace][18872][72e13im7] please check SRS by: ./etc/init.d/srs status
[root@VM-0-9-centos srs_r]# tail -f objs/srs.log
[2021-06-16 15:44:22.699][Trace][18874][72e13im7] signal installed, reload=1, reopen=10, fast_quit=15, grace_quit=3
[2021-06-16 15:44:22.699][Trace][18874][72e13im7] http: api mount /console to ./objs/nginx/html/console
[2021-06-16 15:44:22.699][Trace][18874][72e13im7] rtc listen at udp://0.0.0.0:8000, fd=14
[2021-06-16 15:44:22.699][Trace][18874][45rza696] Hybrid cpu=0.00%,9MB
[2021-06-16 15:44:22.700][Trace][18874][41626mx4] GB28181: connection manager run, conns=0
[2021-06-16 15:44:22.700][Trace][18874][c2827f7t] TCP: connection manager run, conns=0
[2021-06-16 15:44:22.700][Trace][18874][mmv944n3] UDP #14 LISTEN at 0.0.0.0:8000, SO_SNDBUF(default=212992, expect=10485760, actual=425984, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=425984, r0=0)
[2021-06-16 15:44:22.700][Trace][18874][ri4q2076] RTC: connection manager run, conns=0
[2021-06-16 15:44:25.380][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:44:27.690][Trace][18874][45rza696] Hybrid cpu=1.00%,10MB
[2021-06-16 15:44:29.390][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:44:32.690][Trace][18874][45rza696] Hybrid cpu=0.00%,10MB
[2021-06-16 15:44:33.401][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:44:35.806][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:44:36.316][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:44:37.330][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:44:37.410][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:44:37.690][Trace][18874][45rza696] Hybrid cpu=1.00%,10MB, cid=1,1, timer=63,0,0, clock=0,49,0,0,0,0,0,0,0
[2021-06-16 15:44:39.341][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:44:42.691][Trace][18874][45rza696] Hybrid cpu=0.00%,10MB, cid=1,1, timer=63,0,0, clock=0,49,0,0,0,0,0,0,0
[2021-06-16 15:44:43.351][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:44:47.362][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:44:47.691][Trace][18874][45rza696] Hybrid cpu=0.00%,10MB, cid=1,1, timer=63,0,0, clock=0,49,0,0,0,0,0,0,0
[2021-06-16 15:44:51.373][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:44:52.692][Trace][18874][45rza696] Hybrid cpu=0.00%,10MB, cid=1,0, timer=62,0,0, clock=0,49,0,0,0,0,0,0,0
[2021-06-16 15:44:55.384][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:44:57.693][Trace][18874][45rza696] Hybrid cpu=0.00%,10MB, cid=1,0, timer=62,0,0, clock=0,49,0,0,0,0,0,0,0
[2021-06-16 15:44:59.394][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:02.694][Trace][18874][45rza696] Hybrid cpu=0.00%,10MB, cid=1,0, timer=62,0,0, clock=0,49,0,0,0,0,0,0,0
[2021-06-16 15:45:03.405][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered

[2021-06-16 15:45:05.809][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:06.321][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:07.331][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:07.414][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:07.694][Trace][18874][45rza696] Hybrid cpu=1.00%,10MB, cid=1,0, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2021-06-16 15:45:09.341][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:12.695][Trace][18874][45rza696] Hybrid cpu=1.00%,10MB, cid=1,0, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2021-06-16 15:45:13.352][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:17.362][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:17.696][Trace][18874][45rza696] Hybrid cpu=0.00%,10MB, cid=1,0, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2021-06-16 15:45:21.372][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:22.697][Trace][18874][45rza696] Hybrid cpu=1.00%,10MB, cid=1,0, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2021-06-16 15:45:25.387][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:27.697][Trace][18874][45rza696] Hybrid cpu=0.00%,10MB, cid=1,0, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2021-06-16 15:45:29.399][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:32.698][Trace][18874][45rza696] Hybrid cpu=0.00%,10MB, cid=1,0, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2021-06-16 15:45:33.409][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:35.815][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:36.326][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:37.336][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:37.419][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:37.698][Trace][18874][45rza696] Hybrid cpu=0.00%,10MB, cid=1,0, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2021-06-16 15:45:39.347][Trace][18874][72e13im7] gb28181: 34020000001320000001 client not registered
[2021-06-16 15:45:40.817][Trace][18874][72e13im7] gb28181: request client id=34020000001320000001 peer(117.13.220.26, 5060)
[2021-06-16 15:45:40.817][Trace][18874][72e13im7] gb28181: request method=REGISTER, uri=sip:34020000002000000001@3402000000, version=SIP/2.0 expires=3600
[2021-06-16 15:45:40.831][Trace][18874][72e13im7] gb28181: request client id=34020000001320000001 peer(117.13.220.26, 5060)
[2021-06-16 15:45:40.831][Trace][18874][72e13im7] gb28181: request method=REGISTER, uri=sip:34020000002000000001@3402000000, version=SIP/2.0 expires=3600
[2021-06-16 15:45:40.845][Trace][18874][72e13im7] gb28181: request client id=34020000001320000001 peer(117.13.220.26, 5060)
[2021-06-16 15:45:40.845][Trace][18874][72e13im7] gb28181: request method=REGISTER, uri=sip:34020000002000000001@3402000000, version=SIP/2.0 expires=3600
[2021-06-16 15:45:42.698][Trace][18874][45rza696] Hybrid cpu=1.00%,10MB, cid=1,0, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2021-06-16 15:45:43.819][Trace][18874][72z42b2v] gb28181: sip session=34020000001320000001 peer(117.13.220.26, 5060) status(RegisterOk,AliveOk) duration(2,0)
[2021-06-16 15:45:47.699][Trace][18874][45rza696] Hybrid cpu=0.00%,10MB, cid=1,1, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2021-06-16 15:45:52.700][Trace][18874][45rza696] Hybrid cpu=0.00%,10MB, cid=1,1, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2021-06-16 15:45:57.700][Trace][18874][45rza696] Hybrid cpu=0.00%,10MB, cid=1,1, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2021-06-16 15:46:02.701][Trace][18874][45rza696] Hybrid cpu=1.00%,10MB, cid=1,0, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2021-06-16 15:46:07.702][Trace][18874][45rza696] Hybrid cpu=1.00%,10MB, cid=1,0, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2021-06-16 15:46:12.703][Trace][18874][45rza696] Hybrid cpu=0.00%,10MB, cid=1,0, timer=63,0,0, clock=0,49,0,0,0,0,0,0,0
[2021-06-16 15:46:17.704][Trace][18874][45rza696] Hybrid cpu=1.00%,10MB, cid=1,0, timer=63,0,0, clock=0,49,0,0,0,0,0,0,0
[2021-06-16 15:46:22.704][Trace][18874][45rza696] Hybrid cpu=0.00%,10MB, cid=1,0, timer=63,0,0, clock=0,49,0,0,0,0,0,0,0


通过查看GB28181国标文档,正常流程:摄像头通过国标调取的话。摄像头向请求方发注册,注册成功后,请求方向摄像头获取资源,获取成功后,通过国标ID向摄像头发INVITE。
为何SrsGb28181SipSession::do_cycle()中注册成功,需要先判断_device_list进行遍历?
而且这次测试发现注册成功后,通过srs_trace发现_device_list是空的

GB28181接入NVR,跑一段时间后奔溃,进程退出 #1790

描述(Description)

描述你遇到了什么问题(Please description your issue here)

  1. SRS版本(Version): srs-4.0.23
  2. SRS的日志如下(Log):
[2020-06-01 20:11:34.573][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111 decode ps packet error (0x698107/914353200)! ps_size=4228  complete=8884 

[2020-06-01 20:11:34.573][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111, unkonw ps data (0x698107/914356800) 64 03 ffffffb7 ffffffaa

[2020-06-01 20:11:34.573][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111 decode ps packet error (0x698107/914356800)! ps_size=4015  complete=0 

[2020-06-01 20:11:34.573][Trace][24225][1045] gb28181: client_id 34020000001320023110@34020000001320023113, unkonw ps data (0x698304/919004400) ffffffe5 41 5a ffffff91

[2020-06-01 20:11:34.573][Trace][24225][1045] gb28181: client_id 34020000001320023110@34020000001320023113 decode ps packet error (0x698304/919004400)! ps_size=1106  complete=0 

[2020-06-01 20:11:34.674][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698107, pre=37005, cur=37007, peer(19.19.19.87, 29928)
[2020-06-01 20:11:34.674][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698107, pre=37007, cur=37006, peer(19.19.19.87, 29928)
[2020-06-01 20:11:34.674][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698107, pre=37006, cur=37008, peer(19.19.19.87, 29928)
[2020-06-01 20:11:34.674][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698107, pre=37010, cur=37012, peer(19.19.19.87, 29928)
[2020-06-01 20:11:34.674][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698107, pre=37012, cur=37011, peer(19.19.19.87, 29928)
[2020-06-01 20:11:34.675][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698107, pre=37011, cur=37013, peer(19.19.19.87, 29928)
[2020-06-01 20:11:34.675][Warn][24225][1039][11] gb28181: demix ps stream error:code=3041 : process ps video packet : demux annexb : annexb start code
thread [24225][1039]: on_ps_stream() [src/app/srs_app_gb28181.cpp:613][errno=11]
thread [24225][1039]: on_rtp_video() [src/app/srs_app_gb28181.cpp:959][errno=11]
thread [24225][1039]: annexb_demux() [src/protocol/srs_raw_avc.cpp:56][errno=11]
[2020-06-01 20:11:35.645][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698107, pre=37258, cur=37298, peer(19.19.19.87, 29928)
[2020-06-01 20:11:35.645][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x69820a, pre=22271, cur=22276, peer(19.19.19.87, 29930)
[2020-06-01 20:11:35.645][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698304, pre=44270, cur=44277, peer(19.19.19.87, 29940)
[2020-06-01 20:11:35.646][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111, unkonw ps data (0x698107/914403600) ffffffe8 08 05 7c

[2020-06-01 20:11:35.646][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111 decode ps packet error (0x698107/914403600)! ps_size=47628  complete=61468 

[2020-06-01 20:11:35.646][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111, unkonw ps data (0x698107/914410800) ffffffe7 ffffffd1 ffffffea 6d

[2020-06-01 20:11:35.646][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111 decode ps packet error (0x698107/914410800)! ps_size=3721  complete=0 

[2020-06-01 20:11:35.653][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x202e108, pre=24180, cur=24183, peer(111.111.111.234, 21104)
[2020-06-01 20:11:35.653][Trace][24225][1069] gb28181: client_id chid33743112, unkonw ps data (0x202e108/860420883) 10 ffffffb4 ffffff97 ffffffc4

[2020-06-01 20:11:35.653][Trace][24225][1069] gb28181: client_id chid33743112 decode ps packet error (0x202e108/860420883)! ps_size=52727  complete=55527 

[2020-06-01 20:11:39.284][Trace][24225][1027] <- GBS gb28181: client_id , peer(19.19.19.87, 29928) ps rtp packet 1412B, age=1787594259, vt=2/96, sts=38655/914760000/0x698107, paylod=1400B
[2020-06-01 20:11:39.574][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698107, pre=38861, cur=38888, peer(19.19.19.87, 29928)
[2020-06-01 20:11:39.574][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x69820a, pre=22725, cur=22728, peer(19.19.19.87, 29930)
[2020-06-01 20:11:39.574][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698304, pre=44906, cur=44913, peer(19.19.19.87, 29940)
[2020-06-01 20:11:39.576][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111, unkonw ps data (0x698107/914774400) ffffffd5 ffffff8f ffffffb0 3f

[2020-06-01 20:11:39.576][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111 decode ps packet error (0x698107/914774400)! ps_size=2828  complete=18609 

[2020-06-01 20:11:39.594][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x202e108, pre=24617, cur=24619, peer(111.111.111.234, 21104)
[2020-06-01 20:11:39.772][Trace][24225][1069] gb28181: client_id chid33743112, unkonw ps data (0x202e108/860812227) ffffff99 3b ffffffc1 ffffffe2

[2020-06-01 20:11:39.773][Trace][24225][1069] gb28181: client_id chid33743112 decode ps packet error (0x202e108/860812227)! ps_size=54363  complete=55763 

[2020-06-01 20:11:40.190][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698107, pre=39016, cur=39024, peer(19.19.19.87, 29928)
[2020-06-01 20:11:40.191][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111, unkonw ps data (0x698107/914814000) 38 4c ffffff8e 35

[2020-06-01 20:11:40.191][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111 decode ps packet error (0x698107/914814000)! ps_size=7028  complete=15700 

[2020-06-01 20:11:40.192][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x202e108, pre=24748, cur=24750, peer(111.111.111.234, 21104)
[2020-06-01 20:11:40.195][Trace][24225][1069] gb28181: client_id chid33743112, unkonw ps data (0x202e108/860909727) 00 00 00 00

[2020-06-01 20:11:40.195][Trace][24225][1069] gb28181: client_id chid33743112 decode ps packet error (0x202e108/860909727)! ps_size=5376  complete=6776 

[2020-06-01 20:11:41.042][Trace][24225][1076] <- CPB time=1905310580, okbps=0,0,0, ikbps=1049,1101,1068, mr=0/350, p1stpt=20000, pnt=5000
[2020-06-01 20:11:41.527][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x69820a, pre=22947, cur=22952, peer(19.19.19.87, 29930)
[2020-06-01 20:11:41.527][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698107, pre=39673, cur=39706, peer(19.19.19.87, 29928)
[2020-06-01 20:11:41.527][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698304, pre=45233, cur=45240, peer(19.19.19.87, 29940)
[2020-06-01 20:11:41.529][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111, unkonw ps data (0x698107/914950800) 31 fffffffd 69 ffffffd8

[2020-06-01 20:11:41.529][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111 decode ps packet error (0x698107/914950800)! ps_size=8428  complete=16715 

[2020-06-01 20:11:42.228][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698304, pre=45370, cur=45372, peer(19.19.19.87, 29940)
[2020-06-01 20:11:42.228][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698107, pre=39851, cur=39857, peer(19.19.19.87, 29928)
[2020-06-01 20:11:42.229][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111, unkonw ps data (0x698107/915001200) 00 00 00 00

[2020-06-01 20:11:42.229][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111 decode ps packet error (0x698107/915001200)! ps_size=11228  complete=15164 

[2020-06-01 20:11:42.230][Trace][24225][1045] gb28181: client_id 34020000001320023110@34020000001320023113, unkonw ps data (0x698304/919652400) 00 00 00 01

[2020-06-01 20:11:42.230][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x69820a, pre=23062, cur=23067, peer(19.19.19.87, 29930)
[2020-06-01 20:11:42.230][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111, unkonw ps data (0x698107/915004800) 6a 0b ffffff87 fffffffc

[2020-06-01 20:11:42.230][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111 decode ps packet error (0x698107/915004800)! ps_size=12861  complete=0 

[2020-06-01 20:11:43.583][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698107, pre=40490, cur=40526, peer(19.19.19.87, 29928)
[2020-06-01 20:11:43.584][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698304, pre=45561, cur=45570, peer(19.19.19.87, 29940)
[2020-06-01 20:11:43.585][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111, unkonw ps data (0x698107/915130800) 00 00 00 00

[2020-06-01 20:11:43.585][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111 decode ps packet error (0x698107/915130800)! ps_size=8428  complete=16969 

[2020-06-01 20:11:43.586][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x69820a, pre=23170, cur=23177, peer(19.19.19.87, 29930)
[2020-06-01 20:11:43.586][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111, unkonw ps data (0x698107/915141600) 00 00 00 01

[2020-06-01 20:11:43.604][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x202e108, pre=25098, cur=25101, peer(111.111.111.234, 21104)
[2020-06-01 20:11:43.634][Trace][24225][1069] gb28181: client_id chid33743112, unkonw ps data (0x202e108/861187227) 61 31 44 ffffffd5

[2020-06-01 20:11:43.634][Trace][24225][1069] gb28181: client_id chid33743112 decode ps packet error (0x202e108/861187227)! ps_size=52855  complete=55655 

[2020-06-01 20:11:44.163][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698304, pre=45708, cur=45710, peer(19.19.19.87, 29940)
[2020-06-01 20:11:44.163][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698107, pre=40661, cur=40667, peer(19.19.19.87, 29928)
[2020-06-01 20:11:44.165][Trace][24225][1045] gb28181: client_id 34020000001320023110@34020000001320023113, unkonw ps data (0x698304/919836000) 00 00 00 00

[2020-06-01 20:11:44.165][Trace][24225][1045] gb28181: client_id 34020000001320023110@34020000001320023113 decode ps packet error (0x698304/919836000)! ps_size=4848  complete=6248 

[2020-06-01 20:11:44.166][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111, unkonw ps data (0x698107/915177600) 60 ffffffcd 2c 79

[2020-06-01 20:11:44.166][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111 decode ps packet error (0x698107/915177600)! ps_size=8105  complete=15105 

[2020-06-01 20:11:45.553][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698107, pre=41329, cur=41365, peer(19.19.19.87, 29928)
[2020-06-01 20:11:45.553][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x69820a, pre=23393, cur=23398, peer(19.19.19.87, 29930)
[2020-06-01 20:11:45.554][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698304, pre=45891, cur=45899, peer(19.19.19.87, 29940)
[2020-06-01 20:11:45.555][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111, unkonw ps data (0x698107/915310800) 60 37 29 23

[2020-06-01 20:11:45.555][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111 decode ps packet error (0x698107/915310800)! ps_size=8428  complete=17331 

[2020-06-01 20:11:45.795][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x202e108, pre=25344, cur=25347, peer(111.111.111.234, 21104)
[2020-06-01 20:11:45.795][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x202e108, pre=25347, cur=25345, peer(111.111.111.234, 21104)
[2020-06-01 20:11:45.795][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x202e108, pre=25346, cur=25348, peer(111.111.111.234, 21104)
[2020-06-01 20:11:45.797][Warn][24225][1069][11] gb28181: demix ps stream error:code=3041 : process ps video packet : demux annexb : annexb start code
thread [24225][1069]: on_ps_stream() [src/app/srs_app_gb28181.cpp:613][errno=11]
thread [24225][1069]: on_rtp_video() [src/app/srs_app_gb28181.cpp:959][errno=11]
thread [24225][1069]: annexb_demux() [src/protocol/srs_raw_avc.cpp:56][errno=11]
[2020-06-01 20:11:46.164][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698107, pre=41492, cur=41497, peer(19.19.19.87, 29928)
[2020-06-01 20:11:46.166][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111, unkonw ps data (0x698107/915357600) ffffff9a ffffffc2 ffffff88 ffffff80

[2020-06-01 20:11:46.166][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111 decode ps packet error (0x698107/915357600)! ps_size=5699  complete=11299 

[2020-06-01 20:11:46.166][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698304, pre=46035, cur=46037, peer(19.19.19.87, 29940)
[2020-06-01 20:11:46.166][Trace][24225][1045] gb28181: client_id 34020000001320023110@34020000001320023113, unkonw ps data (0x698304/920016000) ffffffcb fffffffd 6f fffffffc

[2020-06-01 20:11:46.166][Trace][24225][1045] gb28181: client_id 34020000001320023110@34020000001320023113 decode ps packet error (0x698304/920016000)! ps_size=4228  complete=5589 

[2020-06-01 20:11:46.575][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x202e20b, pre=26169, cur=26171, peer(111.111.111.234, 21106)
[2020-06-01 20:11:46.575][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x202e20b, pre=26171, cur=26170, peer(111.111.111.234, 21106)
[2020-06-01 20:11:46.575][Trace][24225][1072] gb28181: client_id chid33743371, unkonw ps data (0x202e20b/859935399) ffffff97 5c ffffff87 ffffff95

[2020-06-01 20:11:46.575][Trace][24225][1072] gb28181: client_id chid33743371 decode ps packet error (0x202e20b/859935399)! ps_size=5812  complete=7212 

[2020-06-01 20:11:46.668][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x202e20b, pre=26170, cur=26172, peer(111.111.111.234, 21106)
[2020-06-01 20:11:46.668][Trace][24225][1072] gb28181: client_id chid33743371, unkonw ps data (0x202e20b/859935399) 59 fffffffb 14 ffffffbd

[2020-06-01 20:11:46.668][Trace][24225][1072] gb28181: client_id chid33743371 decode ps packet error (0x202e20b/859935399)! ps_size=1400  complete=0 

[2020-06-01 20:11:47.565][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698107, pre=42141, cur=42179, peer(19.19.19.87, 29928)
[2020-06-01 20:11:47.565][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x69820a, pre=23617, cur=23623, peer(19.19.19.87, 29930)
[2020-06-01 20:11:47.565][Warn][24225][1027][11] gb28181: ps sequence_number out of order, ssrc=0x698304, pre=46227, cur=46235, peer(19.19.19.87, 29940)
[2020-06-01 20:11:47.565][Trace][24225][1042] gb28181: client_id 34020000001320023110@34020000001320023112, unkonw ps data (0x69820a/920253600) 00 00 00 01

[2020-06-01 20:11:47.566][Trace][24225][1039] gb28181: client_id 34020000001320023110@34020000001320023111, unkonw ps data (0x698107/915490800) 00 00 00 01

srs: src/protocol/srs_raw_avc.cpp:80: virtual bool SrsRawH264Stream::is_sps(char*, int): Assertion `nb_frame > 0' failed.
./start_gb28181.sh: line 2: 24225 Aborted                 /opt/srs/trunk/objs/srs -c /opt/srs/trunk/conf/push.gb28181.conf
  1. SRS的配置如下(Config):
# push gb28181 stream to SRS.

listen                  1935;
max_connections         1000;
daemon                  off;
srs_log_tank            console;

http_api {
    enabled         on;
    listen          1985;
}   

http_server {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;

    # 转发流到rtmp服务器地址与端口
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
    # [stream] is VideoChannelCodecID(视频通道编码ID) for sip
    # 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
    # [ssrc] rtp中的ssrc
    output              rtmp://127.0.0.1:1935/live/[stream];
    
    # 接收设备端rtp流的多路复用端口
    listen              9000;

    # rtp接收监听端口范围,最小值
    rtp_port_min        58200;
    # rtp接收监听端口范围,最大值
    rtp_port_max        58300;

    # 是否等待关键帧之后,再转发,
    # off:不需等待,直接转发
    # on:等第一个关键帧后,再转发
    wait_keyframe       off;
    
    # rtp包空闲等待时间,如果指定时间没有收到任何包
    # rtp监听连接自动停止,发送BYE命令
    rtp_idle_timeout    30;

    # 是否转发音频流
    # 目前只支持aac格式,所以需要设备支持aac格式
    # on:转发音频
    # off:不转发音频,只有视频
    # *注意*!!!:flv 只支持11025  22050  44100 三种
    # 如果设备端没有三种中任何一个,转发时为自动选择一种格式
    # 同时也会将adts的头封装在flv aac raw数据中
    # 这样的话播放器为自动通过adts头自动选择采样频率
    # 像ffplay, vlc都可以,但是flash是没有声音,
    # 因为flash,只支持11025 22050 44100
    audio_enable        off;

    # 服务器主机号,可以域名或ip地址
    # 也就是设备端将媒体发送的地址,如果是服务器是内外网
    # 需要写外网地址,
    # 调用api创建stream session时返回ip地址也是host
    # $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
    # *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
    # host       $CANDIDATE;
    host		114.114.189.151;

    #根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
    #rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
    auto_create_channel   on;

    sip {
        # 是否启用srs内部sip信令
        # 为on信令走srs, off 只转发ps流
        enabled on;
        
        # sip监听udp端口
        listen              5060;
        
        # SIP server ID(SIP服务器ID).
        # 设备端配置编号需要与该值一致,否则无法注册
        serial              34020000001320023101;

        # SIP server domain(SIP服务器域)
        realm               3402000000;

        # 服务端发送ack后,接收回应的超时时间,单位为秒
        # 如果指定时间没有回应,认为失败
        ack_timeout         30;

        # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
        # 认为设备离线
        keepalive_timeout   120;

        # 注册之后是否自动给设备端发送invite
        # on: 是  off 不是,需要通过api控制
        auto_play           on;
        # 设备将流发送的端口,是否固定
        # on 发送流到多路复用端口 如9000
        # off 自动从rtp_mix_port - rtp_max_port 之间的值中
        # 选一个可以用的端口
        invite_port_fixed     on;

        # 向设备或下级域查询设备列表的间隔,单位(秒)
        # 默认60秒
        query_catalog_interval  60;
    }
}
rtc_server {
    enabled         on;
    # Listen at udp://8000
    listen          8000;
    #
    # The $CANDIDATE means fetch from env, if not configed, use * as default.
    # The * means retrieving server IP automatically, from all network interfaces,
    # @see https://github.com/ossrs/srs/issues/307#issuecomment-599028124
    candidate       114.114.189.151;
}
vhost __defaultVhost__ {
    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
    rtc {
        enabled     on;
        bframe      discard;
    }
}

重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. 大华NVR接入、科达NVR接入都存在此问题
    码流配置:
    image
    接入配置:

QQ图片20200602080858

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)
主进程不要崩溃

GB28181:国标大华摄像头注册在线,无法播放画面 #1960

描述(Description)

描述你遇到了什么问题(Please description your issue here)
在使用SRS对接国标摄像头,在播放一段时间的画面后,vlc或者srs_player就不会播放画面。即使重启SRS服务,重新运行,也会无法播放画面,打印出和之前相同的日志

  1. SRS版本(Version): 4.0.39和4.0.40
  2. SRS的日志如下(Log):

[2020-09-22 04:13:19.754][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(1259)
[2020-09-22 04:14:05.142][Trace][21696][c4624l3p] API server client, ip=61.132.132.213:60506
[2020-09-22 04:14:05.142][Trace][21696][c4624l3p] HTTP API 61.132.132.213:60506 GET http://220.179.5.231:1985/, content-length=-1, chunked=0
[2020-09-22 04:14:05.155][Warn][21696][c4624l3p][104] client disconnect peer. ret=1007
[2020-09-22 04:14:19.776][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(1321,1)
[2020-09-22 04:14:19.776][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(1319)
[2020-09-22 04:15:19.800][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(1381,0)
[2020-09-22 04:15:19.800][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(1379)
[2020-09-22 04:16:19.824][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(1441,1)
[2020-09-22 04:16:19.824][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(1439)
[2020-09-22 04:17:19.848][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(1501,1)
[2020-09-22 04:17:19.848][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(1499)
[2020-09-22 04:18:19.874][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(1561,0)
[2020-09-22 04:18:19.874][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(1559)
[2020-09-22 04:19:19.896][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(1621,1)
[2020-09-22 04:19:19.896][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(1619)
[2020-09-22 04:20:19.919][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(1681,1)
[2020-09-22 04:20:19.919][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(1679)
[2020-09-22 04:21:19.941][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(1741,0)
[2020-09-22 04:21:19.941][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(1739)
[2020-09-22 04:22:19.964][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(1801,0)
[2020-09-22 04:22:19.964][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(1799)
[2020-09-22 04:23:19.987][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(1861,1)
[2020-09-22 04:23:19.987][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(1859)
[2020-09-22 04:24:20.009][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(1921,1)
[2020-09-22 04:24:20.009][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(1919)
[2020-09-22 04:25:20.045][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(1981,0)
[2020-09-22 04:25:20.046][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(1979)
[2020-09-22 04:26:20.078][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(2041,1)
[2020-09-22 04:26:20.078][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(2039)
[2020-09-22 04:27:20.109][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(2101,0)
[2020-09-22 04:27:20.109][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(2099)
[2020-09-22 04:28:19.157][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(2161,0)
[2020-09-22 04:28:19.157][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(2158)
[2020-09-22 04:29:19.211][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(2221,1)
[2020-09-22 04:29:19.211][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(2218)
[2020-09-22 04:30:19.265][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(2281,0)
[2020-09-22 04:30:19.265][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(2278)
[2020-09-22 04:31:19.316][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(2341,1)
[2020-09-22 04:31:19.316][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(2338)
[2020-09-22 04:32:19.369][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(2401,1)
[2020-09-22 04:32:19.369][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(2399)
[2020-09-22 04:33:19.424][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(2461,2)
[2020-09-22 04:33:19.424][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(2459)
[2020-09-22 04:34:19.477][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(2521,2)
[2020-09-22 04:34:19.477][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(2519)
[2020-09-22 04:35:19.532][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(2581,2)
[2020-09-22 04:35:19.532][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(2579)
[2020-09-22 04:36:19.584][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(2641,1)
[2020-09-22 04:36:19.584][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(2639)
[2020-09-22 04:37:19.641][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(2701,2)
[2020-09-22 04:37:19.641][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(2699)
[2020-09-22 04:38:19.698][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(2761,2)
[2020-09-22 04:38:19.698][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(2759)
[2020-09-22 04:39:19.754][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 peer(61.191.27.250, 5060) status(RegisterOk,AliveOk) duration(2821,2)
[2020-09-22 04:39:19.754][Trace][21696][30c41281] gb28181: sip session=34020000001320000010 device=34020000001320000010 status(ON, InviteOk), duration(2819)
[root@host-192-168-0-127 objs]#

  1. SRS的配置如下(Config):
    listen 1935;
    max_connections 1000;
    #daemon off;
    #srs_log_tank console;
    srs_log_tank file;
    srs_log_file ./objs/srs.log;
    http_api {
    enabled on;
    listen 1985;
    }

stats {
network 0;
}

stream_caster {
enabled on;
caster gb28181;

# 转发流到rtmp服务器地址与端口
# TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
# [stream] is VideoChannelCodecID(视频通道编码ID) for sip
# 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
# [ssrc] rtp中的ssrc
output              rtmp://127.0.0.1:1935/live/[stream];

# 接收设备端rtp流的多路复用端口
listen              9000;

# rtp接收监听端口范围,最小值
rtp_port_min        58200;
# rtp接收监听端口范围,最大值
rtp_port_max        58300;

# 是否等待关键帧之后,再转发,
# off:不需等待,直接转发
# on:等第一个关键帧后,再转发
wait_keyframe       on;

# rtp包空闲等待时间,如果指定时间没有收到任何包
# rtp监听连接自动停止,发送BYE命令
rtp_idle_timeout    30;

# 是否转发音频流
# 目前只支持aac格式,所以需要设备支持aac格式
# on:转发音频
# off:不转发音频,只有视频
# *注意*!!!:flv 只支持11025  22050  44100 三种
# 如果设备端没有三种中任何一个,转发时为自动选择一种格式
# 同时也会将adts的头封装在flv aac raw数据中
# 这样的话播放器为自动通过adts头自动选择采样频率
# 像ffplay, vlc都可以,但是flash是没有声音,
# 因为flash,只支持11025 22050 44100
audio_enable        off;

# 是否开启rtp缓冲
# 开启之后能有效解决rtp乱序等问题
jitterbuffer_enable  on;

# 服务器主机号,可以域名或ip地址
# 也就是设备端将媒体发送的地址,如果是服务器是内外网
# 需要写外网地址,
# 调用api创建stream session时返回ip地址也是host
# $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
# *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
# TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
host       220.179.5.231;

#根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
#rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
auto_create_channel   off;

sip {
    # 是否启用srs内部sip信令
    # 为on信令走srs, off 只转发ps流
    enabled on;
    
    # sip监听udp端口
    listen              5060;
    
    # SIP server ID(SIP服务器ID).
    # 设备端配置编号需要与该值一致,否则无法注册
    serial              34020000002000000001;

    # SIP server domain(SIP服务器域)
    realm               3402000000;

    # 服务端发送ack后,接收回应的超时时间,单位为秒
    # 如果指定时间没有回应,认为失败
    ack_timeout         30;

    # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
    # 认为设备离线
    keepalive_timeout   120;

    # 注册之后是否自动给设备端发送invite
    # on: 是  off 不是,需要通过api控制
    auto_play           on;
    # 设备将流发送的端口,是否固定
    # on 发送流到多路复用端口 如9000
    # off 自动从rtp_mix_port - rtp_max_port 之间的值中
    # 选一个可以用的端口
    invite_port_fixed     on;

    # 向设备或下级域查询设备列表的间隔,单位(秒)
    # 默认60秒
    query_catalog_interval  60;
}

}
vhost defaultVhost {
}

重现(Replay)

重现Bug的步骤(How to replay bug?)

运行配置文件,播放监控视频

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)
能正常播放画面

unkonw ps data

注意:提问前,请先看FAQ(Please read FAQ before file an issue) ossrs/srs#2716

描述(Description)

描述你遇到了什么问题(Please description your issue here)

  1. SRS版本(Version): xxxxxx

  2. SRS的日志如下(Log):

xxxxxxxxxxxx
  1. SRS的配置如下(Config):
xxxxxxxxxxxx

重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. xxxxxx
  2. xxxxxx
  3. xxxxxx

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)

编译运行之后日志正常但是sip和rtc的端口都未启动,以服务形式运行则不能正常启动,但是没有有效的错误日志

编译运行之后日志正常但是sip和rtc的端口都未启动,以服务形式运行则不能正常启动,但是没有有效的错误日志

  1. SRS版本(Version): SRS/5.0.26(Leo), MIT

  2. SRS的日志如下(Log):
    [2022-06-15 13:32:26.260][Trace][3366][64qy7h14] XCORE-SRS/5.0.26(Leo)
    [2022-06-15 13:32:26.261][Trace][3366][64qy7h14] config parse complete
    [2022-06-15 13:32:26.261][Warn][3366][64qy7h14][22] transform: vhost.rtc.bframe to vhost.rtc.keep_bframe off
    [2022-06-15 13:32:26.261][Trace][3366][64qy7h14] write log to console
    [2022-06-15 13:32:26.261][Trace][3366][64qy7h14][MAIN] SRS/5.0.26(Leo), MIT
    [2022-06-15 13:32:26.261][Trace][3366][64qy7h14] authors: Winlin[email protected] ZhaoWenjie[email protected] ShiWei[email protected] XiaoZhihong[email protected] WuPengqiang[email protected] XiaLixin[email protected] LiPeng[email protected] ChenGuanghua[email protected] ChenHaibo[email protected] Johzzy[email protected] Zhouxiaojun2008[email protected] Pengfei.ma[email protected] ZhangJunqin[email protected] and https://github.com/ossrs/srs/blob/develop/trunk/AUTHORS.md#contributors
    [2022-06-15 13:32:26.261][Trace][3366][64qy7h14] cwd=/home/srs-gb28181-feature-gb28181/trunk, work_dir=./, build: 2022-06-15 13:27:19, configure: --x86-x64 --with-gb28181, uname: Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux, osx: 0, pkg: , region: , source:
    [2022-06-15 13:32:26.261][Trace][3366][64qy7h14] configure detail: --prefix=/usr/local/srs --config=conf/srs.conf --hls=on --hds=off --dvr=on --ssl=on --https=on --ssl-1-0=off --ssl-local=off --sys-ssl=off --transcode=on --ingest=on --stat=on --http-callback=on --http-server=on --stream-caster=on --http-api=on --utest=off --cherrypy=off --srt=off --rtc=on --simulator=off --gb28181=on --iconv=off --cxx11=on --cxx14=off --ffmpeg-fit=on --nasm=on --srtp-nasm=on --clean=on --gperf=off --gmc=off --gmd=off --gmp=off --gcp=off --gprof=off --static=off --shared-st=off --shared-srt=off --shared-ffmpeg=off --log-verbose=off --log-info=off --log-trace=on --gcov=off --debug=off --debug-stats=off --cross-build=off --cc=gcc --cxx=g++ --ar=ar --ld=ld --randlib=randlib
    [2022-06-15 13:32:26.261][Trace][3366][64qy7h14] srs checking config...
    [2022-06-15 13:32:26.263][Trace][3366][64qy7h14] ips, iface[0] ens192 ipv4 0x11043 192.168.41.8, iface[1] ens192 ipv6 0x11043 fe80::e655:86af:184e:9d09%ens192, iface[2] ens192 ipv6 0x11043 fe80::8dba:e362:bb62:4d51%ens192, iface[3] ens192 ipv6 0x11043 fe80::b501:2507:c9d2:5971%ens192
    [2022-06-15 13:32:26.263][Trace][3366][64qy7h14] devices, intranet ens192 192.168.41.8, intranet ens192 fe80::e655:86af:184e:9d09%ens192, intranet ens192 fe80::8dba:e362:bb62:4d51%ens192, intranet ens192 fe80::b501:2507:c9d2:5971%ens192
    [2022-06-15 13:32:26.263][Warn][3366][64qy7h14][22] stats network use index=0, ip=192.168.41.8, ifname=ens192
    [2022-06-15 13:32:26.263][Warn][3366][64qy7h14][22] stats disk not configed, disk iops disabled.
    [2022-06-15 13:32:26.263][Trace][3366][64qy7h14] write log to console
    [2022-06-15 13:32:26.263][Trace][3366][64qy7h14] features, rch:on, dash:on, hls:on, hds:off, srt:off, hc:on, ha:on, hs:on, hp:on, dvr:on, trans:on, inge:on, stat:on, sc:on
    [2022-06-15 13:32:26.263][Trace][3366][64qy7h14] SRS on amd64 x86_64, conf:conf/push.gb28181.conf, limit:1000, writev:1024, encoding:little-endian, HZ:100
    [2022-06-15 13:32:26.263][Trace][3366][64qy7h14] mw sleep:350ms. mr enabled:on, default:0, sleep:350ms
    [2022-06-15 13:32:26.263][Trace][3366][64qy7h14] gc:on, pq:30000ms, cscc:[0,16), csa:on, tn:on(may hurts performance), ss:auto(guess by merged write)
    [2022-06-15 13:32:26.263][Trace][3366][64qy7h14] system default latency(ms): mw(0-350) + mr(0-350) + play-queue(0-30000)
    [2022-06-15 13:32:26.263][Warn][3366][64qy7h14][22] SRS/5.0.26 is not stable
    [2022-06-15 13:32:26.269][Trace][3366][64qy7h14] fingerprint=D7:C7:E2:AA:4D:CC:02:D9:82:92:83:5C:67:A6:9A:12:F2:61:6B:32:C4:1C:0D:2F:C9:C5:6E:84:FB:60:C9:56
    [2022-06-15 13:32:26.269][Trace][3366][64qy7h14] CircuitBreaker: enabled=1, high=2x90, critical=1x95, dying=5x99
    [2022-06-15 13:32:26.269][Trace][3366][64qy7h14] http flv live stream, vhost=defaultVhost, mount=[vhost]/[app]/[stream].flv
    [2022-06-15 13:32:26.269][Trace][3366][64qy7h14] http: root mount to ./objs/nginx/html
    [2022-06-15 13:32:26.269][Trace][3366][64qy7h14] server main cid=64qy7h14, pid=3366, ppid=6498, asprocess=0
    [2022-06-15 13:32:26.269][Trace][3366][64qy7h14] write pid=3366 to ./objs/srs.pid success!
    [2022-06-15 13:32:26.270][Trace][3366][64qy7h14] RTMP listen at tcp://0.0.0.0:1935, fd=7
    [2022-06-15 13:32:26.270][Trace][3366][64qy7h14] HTTP-API listen at tcp://0.0.0.0:1985, fd=8
    [2022-06-15 13:32:26.270][Trace][3366][64qy7h14] HTTP-Server listen at tcp://0.0.0.0:8080, fd=9
    [2022-06-15 13:32:26.272][Trace][3366][64qy7h14] UDP #10 LISTEN at 0.0.0.0:5060, SO_SNDBUF(default=212992, expect=10485760, actual=425984, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=425984, r0=0)
    [2022-06-15 13:32:26.272][Trace][3366][64qy7h14] GB28181-SIP over UDP listen at udp://0.0.0.0:5060, fd=10
    [2022-06-15 13:32:26.278][Trace][3366][64qy7h14] signal installed, reload=1, reopen=10, fast_quit=15, grace_quit=3
    [2022-06-15 13:32:26.278][Trace][3366][64qy7h14] http: api mount /console to ./objs/nginx/html/console
    [2022-06-15 13:32:26.278][Trace][3366][64qy7h14] rtc listen at udp://0.0.0.0:8000, fd=12
    [2022-06-15 13:32:26.279][Trace][3366][647u8487] Hybrid cpu=0.00%,13MB
    [2022-06-15 13:32:26.279][Warn][3366][93x860os][22] use private address as ip: 192.168.41.8, ifname=ens192
    [2022-06-15 13:32:26.279][Trace][3366][93x860os] Startup query id=8a4ef526ec6c11ec9dd7f7feefe43c6a, eip=192.168.41.8, wait=542s
    [2022-06-15 13:32:26.279][Trace][3366][s0488umj] GB28181: connection manager run, conns=0
    [2022-06-15 13:32:26.279][Trace][3366][x10o9m30] GB28181TCP: connection manager run, conns=0
    [2022-06-15 13:32:26.279][Trace][3366][29058m18] TCP: connection manager run, conns=0
    [2022-06-15 13:32:26.280][Trace][3366][94u69208] UDP #12 LISTEN at 0.0.0.0:8000, SO_SNDBUF(default=212992, expect=10485760, actual=425984, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=425984, r0=0)
    [2022-06-15 13:32:26.280][Trace][3366][2k64fs3s] RTC: connection manager run, conns=0

  3. SRS的配置如下(Config):

push gb28181 stream to SRS.

listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;

http_api {
enabled on;
listen 1985;
}

http_server {
enabled on;
listen 8080;
}

stats {
network 0;
}

stream_caster {
enabled on;
caster gb28181;

# 转发流到rtmp服务器地址与端口
# TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
# [stream] is VideoChannelCodecID(视频通道编码ID) for sip
# 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
# [ssrc] rtp中的ssrc
output              rtmp://127.0.0.1:1935/live/[stream];

# 接收设备端rtp流的多路复用端口
listen              9000;
# 多路复用端口类型,on为tcp,off为udp
# 默认:on
tcp_enable            on;

# rtp接收监听端口范围,最小值
rtp_port_min        58200;
# rtp接收监听端口范围,最大值
rtp_port_max        58300;

# 是否等待关键帧之后,再转发,
# off:不需等待,直接转发
# on:等第一个关键帧后,再转发
wait_keyframe       on;

# rtp包空闲等待时间,如果指定时间没有收到任何包
# rtp监听连接自动停止,发送BYE命令
rtp_idle_timeout    30;

# 是否转发音频流
# 目前只支持aac格式,所以需要设备支持aac格式
# on:转发音频
# off:不转发音频,只有视频
# *注意*!!!:flv 只支持11025  22050  44100 三种
# 如果设备端没有三种中任何一个,转发时为自动选择一种格式
# 同时也会将adts的头封装在flv aac raw数据中
# 这样的话播放器为自动通过adts头自动选择采样频率
# 像ffplay, vlc都可以,但是flash是没有声音,
# 因为flash,只支持11025 22050 44100
audio_enable        off;


# 服务器主机号,可以域名或ip地址
# 也就是设备端将媒体发送的地址,如果是服务器是内外网
# 需要写外网地址,
# 调用api创建stream session时返回ip地址也是host
# $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
# *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
# TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
host       192.168.41.8;

#根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
#rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
auto_create_channel   off;

sip {
    # 是否启用srs内部sip信令
    # 为on信令走srs, off 只转发ps流
    enabled on;
    
    # sip监听udp端口
    listen              5060;
    
    # SIP server ID(SIP服务器ID).
    # 设备端配置编号需要与该值一致,否则无法注册
    serial              34020000002000000001;

    # SIP server domain(SIP服务器域)
    realm               3402000000;

    # 服务端发送ack后,接收回应的超时时间,单位为秒
    # 如果指定时间没有回应,认为失败
    ack_timeout         30;

    # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
    # 认为设备离线
    keepalive_timeout   120;

    # 注册之后是否自动给设备端发送invite
    # on: 是  off 不是,需要通过api控制
    auto_play           on;
    # 设备将流发送的端口,是否固定
    # on 发送流到多路复用端口 如9000
    # off 自动从rtp_mix_port - rtp_max_port 之间的值中
    # 选一个可以用的端口
    invite_port_fixed     on;

    # 向设备或下级域查询设备列表的间隔,单位(秒)
    # 默认60秒
    query_catalog_interval  60;
}

}

rtc_server {
enabled on;
# Listen at udp://8000
listen 8000;
#
# The $CANDIDATE means fetch from env, if not configed, use * as default.
#
# The * means retrieving server IP automatically, from all network interfaces,
# @see ossrs/srs#307 (comment)
candidate 192.168.41.8;
}

vhost defaultVhost {
rtc {
enabled on;
bframe discard;
}

http_remux {
    enabled     on;
    mount       [vhost]/[app]/[stream].flv;
}

}

GB28181: 大华/海康相机在没有使能音频的情况下,推流到srs后,使用ffplay m3u8, 出现Stream #0:0: Audio: aac ([15][0][0][0] / 0x000F), 0 channels, fltp #2570

描述(Description)
使用feature/gb28181连接大华或海康的相机,在相机端没有使能音频,让相机推流到srs上,然后使用ffplay播放m3u8,命令如下:

ffplay http://172.16.7.60:8080/hls/34020000001320000125@34020000001320000125/[email protected]

ffplay显示如下:

[http @ 0x7f4de0001060] No trailing CRLF found in HTTP header.0/0
[http @ 0x7f4de0001020] No trailing CRLF found in HTTP header.0/0
[http @ 0x7f4de052afe0] No trailing CRLF found in HTTP header.
[mpegts @ 0x7f4de00008c0] Could not find codec parameters for stream 0 (Audio: aac ([15][0][0][0] / 0x000F), 0 channels, fltp): unspecified sample rate
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[hls,applehttp @ 0x7f4de0009240] Could not find codec parameters for stream 0 (Audio: aac ([15][0][0][0] / 0x000F), 0 channels, fltp): unspecified sample rate
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, hls,applehttp, from 'http://172.16.7.60:8080/hls/34020000001320000125@34020000001320000125/[email protected]':
  Duration: N/A, start: 1.960000, bitrate: N/A
  Program 0
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Audio: aac ([15][0][0][0] / 0x000F), 0 channels, fltp
    Stream #0:1: Video: h264 (High) ([27][0][0][0] / 0x001B), yuvj420p(pc, bt470bg/bt470bg/bt709), 1280x720, 25 fps, 25 tbr, 90k tbn, 50 tbc
[swscaler @ 0x7f4dd4605ca0] deprecated pixel format used, make sure you did set range correctly
  1. SRS版本(Version): feature/gb28181
  2. SRS的日志如下(Log):
[2021-09-01 20:06:21.753][Trace][29316][70677254] HTTP #0 172.16.5.242:57304 OPTIONS http://172.16.7.60:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000125&chid=34020000001320000125, content-length=-1
[2021-09-01 20:06:21.755][Trace][29316][70677254] HTTP #1 172.16.5.242:57304 GET http://172.16.7.60:1985/api/v1/gb28181?action=sip_invite&id=34020000001320000125&chid=34020000001320000125, content-length=-1
[2021-09-01 20:06:21.755][Trace][29316][70677254] SrsGb28181Manger::create_stream_channel channel_id(34020000001320000125@34020000001320000125),port_mode(fixed)
[2021-09-01 20:06:21.755][Trace][29316][70677254] SrsGb28181Manger::generate_ssrc id(34020000001320000125@34020000001320000125)
[2021-09-01 20:06:21.755][Trace][29316][70677254] SrsGb28181Manger::generate_ssrc ssrc(200000125)
[2021-09-01 20:06:21.755][Trace][29316][70677254] new source, stream_url=/live/34020000001320000125@34020000001320000125
[2021-09-01 20:06:21.755][Trace][29316][70677254] new source, stream_url=/live/34020000001320000125@34020000001320000125
[2021-09-01 20:06:21.758][Trace][29316][70677254] RTC bridge from RTMP, discard_aac=0, discard_bframe=1, merge_nalus=0
[2021-09-01 20:06:21.758][Trace][29316][70677254] hls: win=4000ms, frag=1000ms, prefix=, path=./objs/nginx/html/hls, m3u8=[stream]/[stream].m3u8, ts=[stream]/[stream]-[seq].ts, aof=2.00, floor=0, clean=1, waitk=1, dispose=0ms, dts_directly=1
[2021-09-01 20:06:21.758][Trace][29316][70677254] ignore disabled exec for vhost=
[2021-09-01 20:06:21.758][Trace][29316][70677254] gb28181: create new stream channel id:34020000001320000125@34020000001320000125 rtmp url=rtmp://127.0.0.1:1935/live/34020000001320000125@34020000001320000125
[2021-09-01 20:06:21.758][Trace][29316][70677254] gb28181: SrsGb28181SipService::send_message:INVITE sip:34020000001320000125@3402000000 SIP/2.0
Via: SIP/2.0/UDP 172.16.7.60:35000;rport;branch=SrsGbB47052612
From: <sip:34020000002000000060@3402000000>;tag=SrsGbF18238632
To: <sip:[email protected]:5060>
Call-ID: 202081677651
CSeq: 101 INVITE
Content-Type: Application/SDP
Contact: <sip:[email protected]:5060>
Max-Forwards: 70
User-Agent: SRS/5.0.10(Leo)
Subject: 34020000001320000125:0200000125,34020000002000000060:0
Content-Length: 162

v=0
o=34020000002000000060 0 0 IN IP4 172.16.7.60
s=Play
c=IN IP4 172.16.7.60
t=0 0
m=video 9000 RTP/AVP 96
a=recvonly
a=rtpmap:96 PS/90000
y=0200000125

[2021-09-01 20:06:21.759][Trace][29316][3fk32j06] gb28181: client id=34020000001320000125@34020000001320000125,  ssrc=0xbebc27d, peer(, 0), rtmp muxer is alive
[2021-09-01 20:06:21.765][Trace][29316][750f3313] SrsGb28181SipService::on_udp_packet, peer_ip(172.16.20.125), peer_port(5060)
[2021-09-01 20:06:21.766][Trace][29316][750f3313] gb28181:SrsGb28181SipService::on_udp_sip request peer(172.16.20.125, 5060) nbbuf=303
[2021-09-01 20:06:21.766][Trace][29316][750f3313] SrsGb28181SipService::on_udp_sip session_id(34020000001320000125)
[2021-09-01 20:06:21.766][Trace][29316][750f3313] SrsGb28181SipService::on_udp_sip gb28181: is_invite request client id=34020000001320000125, peer(172.16.20.125, 5060)
[2021-09-01 20:06:21.766][Trace][29316][750f3313] SrsGb28181SipService::on_udp_sip gb28181: is_invite respone method=INVITE, uri=34020000002000000060@3402000000, version=SIP/2.0
[2021-09-01 20:06:21.766][Trace][29316][750f3313] gb28181: INVITE response 34020000001320000125 client status=100
[2021-09-01 20:06:21.766][Trace][29316][750f3313] SrsGb28181SipService::on_udp_packet, peer_ip(172.16.20.125), peer_port(5060)
[2021-09-01 20:06:21.766][Trace][29316][750f3313] gb28181:SrsGb28181SipService::on_udp_sip request peer(172.16.20.125, 5060) nbbuf=410
[2021-09-01 20:06:21.766][Trace][29316][750f3313] SrsGb28181SipService::on_udp_sip session_id(34020000001320000125)
[2021-09-01 20:06:21.766][Trace][29316][750f3313] SrsGb28181SipService::on_udp_sip gb28181: is_invite request client id=34020000001320000125, peer(172.16.20.125, 5060)
[2021-09-01 20:06:21.766][Trace][29316][750f3313] SrsGb28181SipService::on_udp_sip gb28181: is_invite respone method=INVITE, uri=34020000002000000060@3402000000, version=SIP/2.0
[2021-09-01 20:06:21.766][Trace][29316][750f3313] gb28181: INVITE response 34020000001320000125 client status=101
[2021-09-01 20:06:21.771][Trace][29316][750f3313] SrsGb28181SipService::on_udp_packet, peer_ip(172.16.20.125), peer_port(5060)
[2021-09-01 20:06:21.771][Trace][29316][750f3313] gb28181:SrsGb28181SipService::on_udp_sip request peer(172.16.20.125, 5060) nbbuf=669
[2021-09-01 20:06:21.771][Trace][29316][750f3313] gb28181: ssrc in y line is 200000125:bebc27d
[2021-09-01 20:06:21.771][Trace][29316][750f3313] SrsGb28181SipService::on_udp_sip session_id(34020000001320000125)
[2021-09-01 20:06:21.771][Trace][29316][750f3313] SrsGb28181SipService::on_udp_sip gb28181: is_invite request client id=34020000001320000125, peer(172.16.20.125, 5060)
[2021-09-01 20:06:21.771][Trace][29316][750f3313] SrsGb28181SipService::on_udp_sip gb28181: is_invite respone method=INVITE, uri=34020000002000000060@3402000000, version=SIP/2.0
[2021-09-01 20:06:21.771][Trace][29316][750f3313] gb28181: INVITE response 34020000001320000125 client status=200
[2021-09-01 20:06:21.771][Trace][29316][750f3313] gb28181: device unique id is 34020000001320000125@34020000001320000125
[2021-09-01 20:06:21.771][Trace][29316][750f3313] gb28181: SrsGb28181SipService::send_message:ACK sip:34020000001320000125@3402000000 SIP/2.0
Via: SIP/2.0/UDP 172.16.7.60:35000;rport;branch=SrsGbB47052612
From: <sip:34020000002000000060@3402000000>;tag=SrsGbF18238632
To: <sip:[email protected]:5060>;tag=6f6ee232c6ae6afe3c3f9b68632ddaeb
Call-ID: 202081677651
CSeq: 101 ACK
Max-Forwards: 70
User-Agent: SRS/5.0.10(Leo)
Content-Length: 0


[2021-09-01 20:06:21.907][Trace][29316][3fk32j06] gb28181: ps map video es_type=h264(1b), es_id=e0, es_info_length=12
[2021-09-01 20:06:21.908][Trace][29316][3fk32j06] 47B video sh,  codec(7, profile=High, level=3.1, 1280x720, 0kbps, 0.0fps, 0.0s)
[2021-09-01 20:06:22.840][Trace][29316][750f3313] <- GBS gb28181: client_id , peer(172.16.20.125, 9724) ps rtp packet 40B, age=36947487, vt=2/96, sts=214/93600/0xbebc27d, paylod=28B
[2021-09-01 20:06:25.896][Trace][29316][a3d8t9la] Hybrid cpu=3.00%,19MB, cid=4,1, timer=62,0,0, clock=0,48,1,1,0,0,0,0,0, objs=(pkt:78,raw:0,fua:78,msg:109,oth:1,buf:1)
[2021-09-01 20:06:30.373][Trace][29316][v93v7is0] HTTP #0 172.16.7.60:60342 GET http://172.16.7.60:8080/hls/34020000001320000125@34020000001320000125/[email protected], content-length=-1
[2021-09-01 20:06:30.373][Trace][29316][v93v7is0] http match file=./objs/nginx/html/hls/34020000001320000125@34020000001320000125/[email protected], pattern=/, upath=/hls/34020000001320000125@34020000001320000125/[email protected]
[2021-09-01 20:06:30.373][Trace][29316][v93v7is0] TCP: before dispose resource(HttpStream)(0x18f5bc0), conns=2, zombies=0, ign=0, inz=0, ind=0
[2021-09-01 20:06:30.373][Trace][29316][v93v7is0] client finished.
[2021-09-01 20:06:30.373][Trace][29316][48y7700u] TCP: clear zombies=1 resources, conns=2, removing=0, unsubs=0
[2021-09-01 20:06:30.373][Trace][29316][v93v7is0] TCP: disposing #0 resource(HttpStream)(0x18f5bc0), conns=2, disposing=1, zombies=0
[2021-09-01 20:06:30.374][Trace][29316][69079r5o] HTTP #0 172.16.7.60:60344 GET http://172.16.7.60:8080/hls/34020000001320000125@34020000001320000125/[email protected], content-length=-1
[2021-09-01 20:06:30.374][Trace][29316][69079r5o] http match file=./objs/nginx/html/hls/34020000001320000125@34020000001320000125/[email protected], pattern=/, upath=/hls/34020000001320000125@34020000001320000125/[email protected]
[2021-09-01 20:06:30.375][Trace][29316][69079r5o] TCP: before dispose resource(HttpStream)(0x18f5bc0), conns=2, zombies=0, ign=0, inz=0, ind=0
[2021-09-01 20:06:30.375][Trace][29316][69079r5o] client finished.
[2021-09-01 20:06:30.375][Trace][29316][48y7700u] TCP: clear zombies=1 resources, conns=2, removing=0, unsubs=0
[2021-09-01 20:06:30.375][Trace][29316][69079r5o] TCP: disposing #0 resource(HttpStream)(0x18f5bc0), conns=2, disposing=1, zombies=0
[2021-09-01 20:06:30.413][Trace][29316][3are8721] HTTP #0 172.16.7.60:60346 GET http://172.16.7.60:8080/hls/34020000001320000125@34020000001320000125/[email protected], content-length=-1
[2021-09-01 20:06:30.413][Trace][29316][3are8721] http match file=./objs/nginx/html/hls/34020000001320000125@34020000001320000125/[email protected], pattern=/, upath=/hls/34020000001320000125@34020000001320000125/[email protected]
[2021-09-01 20:06:30.415][Trace][29316][3are8721] TCP: before dispose resource(HttpStream)(0x19a0ba0), conns=2, zombies=0, ign=0, inz=0, ind=0
  1. SRS的配置如下(Config):
listen                  1935;
max_connections         1000;
daemon              off;
srs_log_tank        console;

http_api {
    enabled         on;
    listen          1985;
}

http_server {
    enabled         on;
    listen          8080;
}

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;

    # 转发流到rtmp服务器地址与端口
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
    # [stream] is VideoChannelCodecID(视频通道编码ID) for sip
    # 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
    # [ssrc] rtp中的ssrc
    output              rtmp://127.0.0.1:1935/live/[stream];

    # 接收设备端rtp流的多路复用端口
    # 媒体服务端(播放器,收流端的端口) by chao
    listen              9000;
    # 多路复用端口类型,on为tcp,off为udp
    # 默认:on
    #tcp_enable            on;
    tcp_enable            off; # rtp荷载的ps流,底层是udp by chao

    # rtp接收监听端口范围,最小值
    rtp_port_min        58200;
    # rtp接收监听端口范围,最大值
    rtp_port_max        58300;

    # 是否等待关键帧之后,再转发,
    # off:不需等待,直接转发
    # on:等第一个关键帧后,再转发
    wait_keyframe       on;

    # rtp包空闲等待时间,如果指定时间没有收到任何包
    # rtp监听连接自动停止,发送BYE命令
    rtp_idle_timeout    30;

    # 是否转发音频流
    # 目前只支持aac格式,所以需要设备支持aac格式
    # on:转发音频
    # off:不转发音频,只有视频
    # *注意*!!!:flv 只支持11025  22050  44100 三种
    # 如果设备端没有三种中任何一个,转发时为自动选择一种格式
    # 同时也会将adts的头封装在flv aac raw数据中
    # 这样的话播放器为自动通过adts头自动选择采样频率
    # 像ffplay, vlc都可以,但是flash是没有声音,
    # 因为flash,只支持11025 22050 44100
    audio_enable        off;

    # 是否开启rtp缓冲
    # 开启之后能有效解决rtp乱序等问题
    # tcp模式建议关闭
    jitterbuffer_enable  off;

    # 服务器主机号,可以域名或ip地址
    # 也就是设备端将媒体发送的地址,如果是服务器是内外网
    # 需要写外网地址,
    # 调用api创建stream session时返回ip地址也是host
    # $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
    # *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
    #host       $CANDIDATE;
    host       172.16.7.60; # 配置成145,可以在145上通过tcpdump来抓视频流
    #host       172.16.5.189;  # 收流端的ip地址(可以是程序所在的机器也可以是其他ip) by chao

    #根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
    #rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
    auto_create_channel   off;

    sip {
        # 是否启用srs内部sip信令
        # 为on信令走srs, off 只转发ps流
        enabled on;

        # 此框架没有对注册过来的设备进行鉴权 by chao

        # sip监听udp端口
        #listen              5060;
        listen              35000; # sip服务器的端口

        # SIP server ID(SIP服务器ID).
        # 设备端配置编号需要与该值一致,否则无法注册
        #serial              34020000002000000001;
        serial              34020000002000000060;

        # SIP server domain(SIP服务器域)
        realm               3402000000;

        # 服务端发送ack后,接收回应的超时时间,单位为秒
        # 如果指定时间没有回应,认为失败
        ack_timeout         30;

        # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
        # 认为设备离线
        keepalive_timeout   120;

        # 注册之后是否自动给设备端发送invite
        # on: 是  off 不是,需要通过api控制
        #auto_play           on; # by chao
        auto_play           off;
        # 设备将流发送的端口,是否固定
        # on 发送流到多路复用端口 如9000
        # off 自动从rtp_mix_port - rtp_max_port 之间的值中
        # 选一个可以用的端口
        invite_port_fixed     on;

        # 向设备或下级域查询设备列表的间隔,单位(秒)
        # 默认60秒
        query_catalog_interval  60;
    }
}

rtc_server {
    enabled         on;
    # Listen at udp://8000
    listen          8000;
    #
    # The $CANDIDATE means fetch from env, if not configed, use * as default.
    #
    # The * means retrieving server IP automatically, from all network interfaces,
    # @see https://github.com/ossrs/srs/issues/307#issuecomment-599028124
    candidate       $CANDIDATE;
}

vhost __defaultVhost__ {
    rtc {
        enabled     on;
        bframe      discard;
    }

    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }

        hls {
        enabled on;
        hls_path ./objs/nginx/html/hls;
        hls_m3u8_file [stream]/[stream].m3u8;
        hls_ts_file [stream]/[stream]-[seq].ts;
        hls_fragment 1;
        hls_window 4;
    }
}

重现(Replay)

重现Bug的步骤(How to replay bug?)

大华或海康的相机,在没有使能音频的情况,接入srs,流推送到srs上,使用ffplay 播放m3u8,ffplay终端有Could not find codec parameters for stream 0 (Audio: aac ([15][0][0][0] / 0x000F), 0 channels, fltp): unspecified sample rate
Stream #0:0: Audio: aac ([15][0][0][0] / 0x000F), 0 channels, fltp的信息

期望行为(Expect)

srs源码中有保存h264文件的宏,将宏定义打开,保存h264文件,然后使用ffplay播放,没有上述音频信息,而直接使用ffplay m3u8文件,确认Audio的信息,请问是什么原因,如何解决,谢谢

摄像头注册不上

注意:提问前,请先看FAQ(Please read FAQ before file an issue) ossrs/srs#2716

摄像头配置好后没有注册上去

srs gb模块在自己电脑上面的centos虚拟机上启动成功,摄像头配置好后没有注册上去

  1. SRS版本(Version): SRS/5.0.19

  2. SRS的日志如下(Log):
    image

  3. SRS的配置如下(Config):
    image

  4. 摄像头的配置如下(Config):

image

GB28181: 科达平台级联无法解析流 #2753

注意:提问前,请先看FAQ(Please read FAQ before file an issue) ossrs/srs#2716

描述(Description)

描述你遇到了什么问题(Please description your issue here)
科达设备做国标平台级联,设备注册正常,推流正常,wireshark抓包正常,srs平台报错decode ps packet error。视频流通过海康平台进行过二次转发,海康平台播放正常。

  1. SRS版本(Version): gb28181

  2. SRS的日志如下(Log):

[2021-11-23 17:46:10.996][Trace][30611][g4mla2n8] gb28181: client_id 18070905281660552002@14070100001320000019 decode ps packet error (0/349040430)! ps_size=9740  complete=9649

[2021-11-23 17:46:11.026][Trace][30611][g4mla2n8] gb28181: client_id 18070905281660552002@14070100001320000019, unkonw ps data (0/349043490) 00 00 03 00

[2021-11-23 17:46:11.026][Trace][30611][g4mla2n8] gb28181: client_id 18070905281660552002@14070100001320000019 decode ps packet error (0/349043490)! ps_size=10012  complete=9921

[2021-11-23 17:46:11.087][Trace][30611][g4mla2n8] gb28181: client_id 18070905281660552002@14070100001320000019, unkonw ps data (0/349047540) 00 00 03 00

[2021-11-23 17:46:11.087][Trace][30611][g4mla2n8] gb28181: client_id 18070905281660552002@14070100001320000019 decode ps packet error (0/349047540)! ps_size=9852  complete=9761

[2021-11-23 17:46:11.149][Trace][30611][g4mla2n8] gb28181: client_id 18070905281660552002@14070100001320000019, unkonw ps data (0/349051230) 00 00 03 00

[2021-11-23 17:46:11.149][Trace][30611][g4mla2n8] gb28181: client_id 18070905281660552002@14070100001320000019 decode ps packet error (0/349051230)! ps_size=9452  complete=9361

[2021-11-23 17:46:11.210][Trace][30611][g4mla2n8] gb28181: client_id 18070905281660552002@14070100001320000019, unkonw ps data (0/349056540) 00 00 03 00

[2021-11-23 17:46:11.210][Trace][30611][g4mla2n8] gb28181: client_id 18070905281660552002@14070100001320000019 decode ps packet error (0/349056540)! ps_size=9804  complete=9713

[2021-11-23 17:46:11.240][Trace][30611][g4mla2n8] gb28181: client_id 18070905281660552002@14070100001320000019, unkonw ps data (0/349057530) 00 00 03 00

[2021-11-23 17:46:11.240][Trace][30611][g4mla2n8] gb28181: client_id 18070905281660552002@14070100001320000019 decode ps packet error (0/349057530)! ps_size=9852  complete=9761


  1. SRS的配置如下(Config):

listen                  1935;
max_connections         1000;
daemon              on;
srs_log_file        ./objs/srs.log;


http_api {
    enabled         on;
    listen          1985;
}

http_server {
    enabled         on;
    listen          8080;
}

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;

    # 转发流到rtmp服务器地址与端口
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
    # [stream] is VideoChannelCodecID(视频通道编码ID) for sip
    # 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
    # [ssrc] rtp中的ssrc
    output              rtmp://127.0.0.1:1935/live/[stream];

    # 接收设备端rtp流的多路复用端口
    listen              9000;
    # 多路复用端口类型,on为tcp,off为udp
    # 默认:on
    tcp_enable            on;

    # rtp接收监听端口范围,最小值
    rtp_port_min        58200;
    # rtp接收监听端口范围,最大值
    rtp_port_max        58300;

    # 是否等待关键帧之后,再转发,
    # off:不需等待,直接转发
    # on:等第一个关键帧后,再转发
    wait_keyframe       on;

    # rtp包空闲等待时间,如果指定时间没有收到任何包
    # rtp监听连接自动停止,发送BYE命令
    rtp_idle_timeout    30;

    # 是否转发音频流
    # 目前只支持aac格式,所以需要设备支持aac格式
    # on:转发音频
    # off:不转发音频,只有视频
    # *注意*!!!:flv 只支持11025  22050  44100 三种
    # 如果设备端没有三种中任何一个,转发时为自动选择一种格式
    # 同时也会将adts的头封装在flv aac raw数据中
    # 这样的话播放器为自动通过adts头自动选择采样频率
    # 像ffplay, vlc都可以,但是flash是没有声音,
    # 因为flash,只支持11025 22050 44100
    audio_enable        off;


    # 服务器主机号,可以域名或ip地址
    # 也就是设备端将媒体发送的地址,如果是服务器是内外网
    # 需要写外网地址,
    # 调用api创建stream session时返回ip地址也是host
    # $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
    # *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
    host       $CANDIDATE;

    #根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
    #rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
    auto_create_channel   off;

    sip {
        # 是否启用srs内部sip信令
        # 为on信令走srs, off 只转发ps流
        enabled on;

        # sip监听udp端口
        listen              5060;

        # SIP server ID(SIP服务器ID).
        # 设备端配置编号需要与该值一致,否则无法注册
        serial              14010200492000000001;

        # SIP server domain(SIP服务器域)
        realm               1401020049;

        # 服务端发送ack后,接收回应的超时时间,单位为秒
        # 如果指定时间没有回应,认为失败
        ack_timeout         30;

        # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
        # 认为设备离线
        keepalive_timeout   120;

        # 注册之后是否自动给设备端发送invite
        # on: 是  off 不是,需要通过api控制
        auto_play           off;
        # 设备将流发送的端口,是否固定
        # on 发送流到多路复用端口 如9000
        # off 自动从rtp_mix_port - rtp_max_port 之间的值中
        # 选一个可以用的端口
        invite_port_fixed     on;

        # 向设备或下级域查询设备列表的间隔,单位(秒)
        # 默认60秒
        query_catalog_interval  60;
    }
}

rtc_server {
    enabled         on;
    # Listen at udp://8000
    listen          8000;
    #
    # The $CANDIDATE means fetch from env, if not configed, use * as default.
    #
    # The * means retrieving server IP automatically, from all network interfaces,
    # @see https://github.com/ossrs/srs/issues/307#issuecomment-599028124
    candidate       $CANDIDATE;
}

vhost __defaultVhost__ {
    hls {
        enabled         on;
        hls_path        ./objs/nginx/html;
        hls_fragment    10;
        hls_window      60;
    }
    rtc {
        enabled     off;
        bframe      discard;
    }

    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
}


重现(Replay)

重现Bug的步骤(How to replay bug?)

1.科达平台级联到海康
2.海康平台级联到srs

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)
希望平台级联后可正常播放

GB28181: 两台海康相机(H264)通过gb28181接入srs,一台可拉取rtmp流,另一台无法拉取rtmp流 #2198

描述(Description)

描述你遇到了什么问题(Please description your issue here)

  1. SRS版本(Version): SRS/4.0.63 -develop分支
  2. SRS的日志如下(Log):
[2021-02-17 17:33:35.606][Trace][30802][lzna07j5] gb28181: request client id=31010400991327100000 peer(192.168.120.61, 5061)
[2021-02-17 17:33:35.606][Trace][30802][lzna07j5] gb28181: request method=REGISTER, uri=sip:31010400992097123456@3101040099, version=SIP/2.0 expires=3600
[2021-02-17 17:33:43.878][Trace][30802][lzna07j5] gb28181: 31010400991327230000 client not registered
[2021-02-17 17:33:43.879][Trace][30802][lzna07j5] gb28181: request client id=31010400991327100000 peer(192.168.120.61, 5061)
[2021-02-17 17:33:43.879][Trace][30802][lzna07j5] gb28181: request method=REGISTER, uri=sip:31010400992097123456@3101040099, version=SIP/2.0 expires=0
[2021-02-17 17:33:43.880][Trace][30802][lzna07j5] gb28181: request client id=31010400991327230000 peer(192.168.120.61, 5061)
[2021-02-17 17:33:43.880][Trace][30802][lzna07j5] gb28181: request method=REGISTER, uri=sip:31010400992097123456@3101040099, version=SIP/2.0 expires=3600
[2021-02-17 17:33:44.880][Trace][30802][b01i4t78] gb28181: sip session=31010400991327230000 peer(192.168.120.61, 5061) status(RegisterOk,AliveOk) duration(0,0)
[2021-02-17 17:33:45.616][Trace][30802][60k476mb] gb28181: sip session=31010400991327100000 register expire
[2021-02-17 17:33:45.616][Trace][30802][60k476mb] gb28181: client id=31010400991327100000 sip session is remove
[2021-02-17 17:33:45.616][Trace][30802][60k476mb] gb28181: sip client finished.
[2021-02-17 17:33:45.880][Trace][30802][b01i4t78] gb28181: generate ssrc id=31010400991327230000@34020000001320000003, ssrc=7060225
[2021-02-17 17:33:45.902][Trace][30802][b01i4t78] new source, stream_url=/live/31010400991327230000@34020000001320000003
[2021-02-17 17:33:45.922][Trace][30802][b01i4t78] hls: win=60000ms, frag=5000ms, prefix=, path=./objs/nginx/html, m3u8=[app]/[stream].m3u8, ts=[app]/[stream]-[seq].ts, aof=2.00, floor=0, clean=1, waitk=1, dispose=0ms, dts_directly=1
[2021-02-17 17:33:45.922][Trace][30802][b01i4t78] ignore disabled exec for vhost=
[2021-02-17 17:33:45.922][Trace][30802][b01i4t78] gb28181: create new stream channel id:31010400991327230000@34020000001320000003 rtmp url=rtmp://127.0.0.1:11935/live/31010400991327230000@34020000001320000003
[2021-02-17 17:33:45.927][Trace][30802][lzna07j5] gb28181: request client id=34020000001320000003, peer(192.168.120.61, 5061)
[2021-02-17 17:33:45.927][Trace][30802][lzna07j5] gb28181: respone method=INVITE, uri=31010400992097123456@3402000000, version=SIP/2.0 
[2021-02-17 17:33:45.927][Trace][30802][lzna07j5] gb28181: INVITE response 34020000001320000003 client status=100
[2021-02-17 17:33:45.931][Trace][30802][lzna07j5] gb28181: ssrc in y line is 7060225:6bbb01
[2021-02-17 17:33:45.931][Trace][30802][lzna07j5] gb28181: request client id=34020000001320000003, peer(192.168.120.61, 5061)
[2021-02-17 17:33:45.931][Trace][30802][lzna07j5] gb28181: respone method=INVITE, uri=31010400992097123456@3402000000, version=SIP/2.0 
[2021-02-17 17:33:45.931][Trace][30802][lzna07j5] gb28181: INVITE response 34020000001320000003 client status=200
[2021-02-17 17:33:45.931][Trace][30802][lzna07j5] gb28181: device unique id is 31010400991327230000@34020000001320000003
[2021-02-17 17:33:46.032][Trace][30802][ug670s85] gb28181: SrsPsJitterBuffer key=31010400991327230000@34020000001320000003 reallocate ps buffer size(80064>0) resize(90304)
[2021-02-17 17:33:46.033][Trace][30802][ug670s85] gb28181: ps map video es_type=h264(1b), es_id=e0, es_info_length=28
[2021-02-17 17:33:46.033][Trace][30802][ug670s85] gb28181: ps map audio es_type=g711(90), es_id=c0, es_info_length=12
[2021-02-17 17:33:46.034][Trace][30802][ug670s85] 46B video sh,  codec(7, profile=Main, level=Other, 1920x1088, 0kbps, 0.0fps, 0.0s)
[2021-02-17 17:33:46.063][Trace][30802][ug670s85] gb28181: SrsPsJitterBuffer key=31010400991327230000@34020000001320000003 reallocate ps buffer size(336>0) resize(10576)
[2021-02-17 17:33:46.881][Trace][30802][b01i4t78] gb28181: 31010400991327230000 clients device=34020000001320000003 send invite code=0
[2021-02-17 17:33:47.892][Trace][30802][lzna07j5] <- GBS gb28181: client_id , peer(192.168.120.61, 15060) ps rtp packet 348B, age=14017135, vt=2/96, sts=264/172800/0x6bbb01, paylod=336B
[2021-02-17 17:33:55.901][Trace][30802][ug670s85] -> HLS time=10039367ms, sno=2, [email protected], dur=0.00, dva=3839p
[2021-02-17 17:33:57.893][Trace][30802][ug670s85] gb28181: client id=31010400991327230000@34020000001320000003,  ssrc=0x6bbb01, peer(192.168.120.61, 15060), rtmp muxer is alive
[2021-02-17 17:34:05.919][Trace][30802][ug670s85] -> HLS time=20057518ms, sno=4, [email protected], dur=0.00, dva=1880p
[2021-02-17 17:34:07.908][Trace][30802][lzna07j5] <- GBS gb28181: client_id , peer(192.168.120.61, 15060) ps rtp packet 1412B, age=34051978, vt=2/96, sts=2990/1972800/0x6bbb01, paylod=1400B
[2021-02-17 17:34:15.934][Trace][30802][ug670s85] -> HLS time=30072400ms, sno=5, [email protected], dur=0.00, dva=5879p
[2021-02-17 17:34:17.480][Trace][30802][lzna07j5] gb28181: request client id=31010400991327220000 peer(192.168.120.55, 5060)
[2021-02-17 17:34:17.480][Trace][30802][lzna07j5] gb28181: request method=REGISTER, uri=sip:31010400992097123456@3101040099, version=SIP/2.0 expires=3600
[2021-02-17 17:34:20.492][Trace][30802][ug670s85] gb28181: client id=31010400991327230000@34020000001320000003,  ssrc=0x6bbb01, peer(192.168.120.61, 15060), rtmp muxer is alive
[2021-02-17 17:34:22.482][Trace][30802][763883to] gb28181: sip session=31010400991327220000 peer(192.168.120.55, 5060) status(RegisterOk,AliveOk) duration(4,0)
[2021-02-17 17:34:23.482][Trace][30802][763883to] gb28181: generate ssrc id=31010400991327220000@34020000001320000002, ssrc=35166983
[2021-02-17 17:34:23.482][Trace][30802][763883to] new source, stream_url=/live/31010400991327220000@34020000001320000002
[2021-02-17 17:34:23.482][Trace][30802][763883to] hls: win=60000ms, frag=5000ms, prefix=, path=./objs/nginx/html, m3u8=[app]/[stream].m3u8, ts=[app]/[stream]-[seq].ts, aof=2.00, floor=0, clean=1, waitk=1, dispose=0ms, dts_directly=1
[2021-02-17 17:34:23.482][Trace][30802][763883to] ignore disabled exec for vhost=
[2021-02-17 17:34:23.482][Trace][30802][763883to] gb28181: create new stream channel id:31010400991327220000@34020000001320000002 rtmp url=rtmp://127.0.0.1:11935/live/31010400991327220000@34020000001320000002
[2021-02-17 17:34:23.485][Trace][30802][lzna07j5] gb28181: request client id=34020000001320000002, peer(192.168.120.55, 5060)
[2021-02-17 17:34:23.485][Trace][30802][lzna07j5] gb28181: respone method=INVITE, uri=31010400992097123456@3402000000, version=SIP/2.0 
[2021-02-17 17:34:23.485][Trace][30802][lzna07j5] gb28181: INVITE response 34020000001320000002 client status=100
[2021-02-17 17:34:23.487][Trace][30802][lzna07j5] gb28181: ssrc in y line is 35166983:2189b07
[2021-02-17 17:34:23.487][Trace][30802][lzna07j5] gb28181: request client id=34020000001320000002, peer(192.168.120.55, 5060)
[2021-02-17 17:34:23.487][Trace][30802][lzna07j5] gb28181: respone method=INVITE, uri=31010400992097123456@3402000000, version=SIP/2.0 
[2021-02-17 17:34:23.487][Trace][30802][lzna07j5] gb28181: INVITE response 34020000001320000002 client status=200
[2021-02-17 17:34:23.487][Trace][30802][lzna07j5] gb28181: device unique id is 31010400991327220000@34020000001320000002
[2021-02-17 17:34:23.572][Trace][30802][8g04b9be] gb28181: SrsPsJitterBuffer key=31010400991327220000@34020000001320000002 reallocate ps buffer size(61324>0) resize(71564)
[2021-02-17 17:34:23.572][Trace][30802][8g04b9be] gb28181: ps map video es_type=h264(1b), es_id=e0, es_info_length=28
[2021-02-17 17:34:23.572][Trace][30802][8g04b9be] gb28181: ps map audio es_type=g711(90), es_id=c0, es_info_length=12
[2021-02-17 17:34:23.603][Trace][30802][8g04b9be] gb28181: SrsPsJitterBuffer key=31010400991327220000@34020000001320000002 reallocate ps buffer size(336>0) resize(10576)
[2021-02-17 17:34:24.482][Trace][30802][763883to] gb28181: 31010400991327220000 clients device=34020000001320000002 send invite code=0
[2021-02-17 17:34:31.158][Trace][30802][8g04b9be] gb28181: client id=31010400991327220000@34020000001320000002,  ssrc=0x2189b07, peer(192.168.120.55, 15060), rtmp muxer is alive
[2021-02-17 17:34:35.961][Trace][30802][ug670s85] -> HLS time=50099174ms, sno=9, [email protected], dur=0.00, dva=1920p
[2021-02-17 17:34:41.145][Trace][30802][ug670s85] gb28181: client id=31010400991327230000@34020000001320000003,  ssrc=0x6bbb01, peer(192.168.120.61, 15060), rtmp muxer is alive
[2021-02-17 17:34:44.893][Trace][30802][b01i4t78] gb28181: sip session=31010400991327230000 peer(192.168.120.61, 5061) status(RegisterOk,AliveOk) duration(61,56)
[2021-02-17 17:34:51.157][Trace][30802][ug670s85] gb28181: client id=31010400991327230000@34020000001320000003,  ssrc=0x6bbb01, peer(192.168.120.61, 15060), rtmp muxer is alive
[2021-02-17 17:34:56.013][Trace][30802][ug670s85] -> HLS time=70151632ms, sno=12, [email protected], dur=0.00, dva=3959p
[2021-02-17 17:35:01.171][Trace][30802][ug670s85] gb28181: client id=31010400991327230000@34020000001320000003,  ssrc=0x6bbb01, peer(192.168.120.61, 15060), rtmp muxer is alive
[2021-02-17 17:35:08.213][Trace][30802][b020n867] HTTP #0 192.168.120.51:58236 GET http://192.168.51.104:1985/api/v1/gb28181?action=sip_query_session, content-length=-1
[2021-02-17 17:35:11.183][Trace][30802][lzna07j5] <- GBS gb28181: client_id , peer(192.168.120.61, 15060) ps rtp packet 1412B, age=97316049, vt=2/96, sts=11632/7668000/0x6bbb01, paylod=1400B
[2021-02-17 17:35:12.732][Trace][30802][b020n867] HTTP #1 192.168.120.51:58236 GET http://192.168.51.104:1985/api/v1/gb28181?action=query_channel, content-length=-1
[2021-02-17 17:35:16.045][Trace][30802][ug670s85] -> HLS time=90179703ms, sno=16, [email protected], dur=0.00, dva=0p
[2021-02-17 17:35:21.169][Trace][30802][ug670s85] gb28181: client id=31010400991327230000@34020000001320000003,  ssrc=0x6bbb01, peer(192.168.120.61, 15060), rtmp muxer is alive
[2021-02-17 17:35:22.494][Trace][30802][763883to] gb28181: sip session=31010400991327220000 peer(192.168.120.55, 5060) status(RegisterOk,AliveOk) duration(65,60)
[2021-02-17 17:35:23.213][Trace][30802][7y2371j7] TCP: before dispose resource(HttpConn)(0x2c72f10), conns=2, zombies=0, ign=0, inz=0, ind=0
[2021-02-17 17:35:23.213][Trace][30802][7y2371j7] client finished.
[2021-02-17 17:35:23.213][Trace][30802][291us7m8] TCP: clear zombies=1 resources, conns=2, removing=0, unsubs=0
[2021-02-17 17:35:23.213][Trace][30802][7y2371j7] TCP: disposing #0 resource(HttpConn)(0x2c72f10), conns=2, disposing=1, zombies=0
[2021-02-17 17:35:27.732][Trace][30802][b020n867] TCP: before dispose resource(HttpConn)(0x2c7a5a0), conns=1, zombies=0, ign=0, inz=0, ind=0
[2021-02-17 17:35:27.732][Trace][30802][b020n867] client finished.
[2021-02-17 17:35:27.732][Trace][30802][291us7m8] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2021-02-17 17:35:27.732][Trace][30802][b020n867] TCP: disposing #0 resource(HttpConn)(0x2c7a5a0), conns=1, disposing=1, zombies=0
[2021-02-17 17:35:28.790][Trace][30802][8f8k3e0v] RTMP client ip=192.168.120.51:58244, fd=14
[2021-02-17 17:35:28.812][Trace][30802][8f8k3e0v] complex handshake success
[2021-02-17 17:35:28.814][Trace][30802][8f8k3e0v] connect app, tcUrl=rtmp://192.168.51.104:11935/live, pageUrl=, swfUrl=, schema=rtmp, vhost=192.168.51.104, port=11935, app=live, args=null
[2021-02-17 17:35:28.814][Trace][30802][8f8k3e0v] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2021-02-17 17:35:28.910][Trace][30802][8f8k3e0v] ignore AMF0/AMF3 command message.
[2021-02-17 17:35:28.958][Trace][30802][8f8k3e0v] ignore AMF0/AMF3 command message.
[2021-02-17 17:35:28.958][Trace][30802][8f8k3e0v] client identified, type=Play, vhost=192.168.51.104, app=live, stream=31010400991327230000@34020000001320000003, param=, duration=-1ms
[2021-02-17 17:35:28.958][Trace][30802][8f8k3e0v] connected stream, tcUrl=rtmp://192.168.51.104:11935/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=11935, app=live, stream=31010400991327230000@34020000001320000003, param=, args=null
[2021-02-17 17:35:28.959][Trace][30802][8f8k3e0v] source url=/live/31010400991327230000@34020000001320000003, ip=192.168.120.51, cache=1, is_edge=0, source_id=b01i4t78/b01i4t78
[2021-02-17 17:35:28.959][Trace][30802][8f8k3e0v] dispatch cached gop success. count=24, duration=930
[2021-02-17 17:35:28.959][Trace][30802][8f8k3e0v] create consumer, active=1, queue_size=0.00, jitter=30000000
[2021-02-17 17:35:28.959][Trace][30802][8f8k3e0v] set fd=14, SO_SNDBUF=46080=>175000, buffer=350ms
[2021-02-17 17:35:28.959][Trace][30802][8f8k3e0v] start play smi=0ms, mw_sleep=350, mw_msgs=8, realtime=0, tcp_nodelay=0
[2021-02-17 17:35:31.183][Trace][30802][lzna07j5] <- GBS gb28181: client_id , peer(192.168.120.61, 15060) ps rtp packet 1412B, age=117316014, vt=2/96, sts=14352/9468000/0x6bbb01, paylod=1400B
[2021-02-17 17:35:36.068][Trace][30802][ug670s85] -> HLS time=110206176ms, sno=19, [email protected], dur=0.00, dva=2040p
[2021-02-17 17:35:39.386][Trace][30802][8f8k3e0v] -> PLA time=10071546, msgs=9, okbps=1295,0,0, ikbps=2,0,0, mw=350/8
[2021-02-17 17:35:41.171][Trace][30802][lzna07j5] <- GBS gb28181: client_id , peer(192.168.120.55, 15060) ps rtp packet 1412B, age=127310651, vt=2/96, sts=28351/13975200/0x2189b07, paylod=1400B
[2021-02-17 17:35:44.903][Trace][30802][b01i4t78] gb28181: sip session=31010400991327230000 peer(192.168.120.61, 5061) status(RegisterOk,AliveOk) duration(121,55)
[2021-02-17 17:35:48.669][Trace][30802][r6462n59] RTMP client ip=192.168.120.51:58259, fd=15
[2021-02-17 17:35:48.685][Trace][30802][r6462n59] complex handshake success
[2021-02-17 17:35:48.690][Trace][30802][r6462n59] connect app, tcUrl=rtmp://192.168.51.104:11935/live, pageUrl=, swfUrl=, schema=rtmp, vhost=192.168.51.104, port=11935, app=live, args=null
[2021-02-17 17:35:48.690][Trace][30802][r6462n59] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2021-02-17 17:35:48.786][Trace][30802][r6462n59] ignore AMF0/AMF3 command message.
[2021-02-17 17:35:48.834][Trace][30802][r6462n59] ignore AMF0/AMF3 command message.
[2021-02-17 17:35:48.834][Trace][30802][r6462n59] client identified, type=Play, vhost=192.168.51.104, app=live, stream=31010400991327220000@34020000001320000002, param=, duration=-1ms
[2021-02-17 17:35:48.834][Trace][30802][r6462n59] connected stream, tcUrl=rtmp://192.168.51.104:11935/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=11935, app=live, stream=31010400991327220000@34020000001320000002, param=, args=null
[2021-02-17 17:35:48.834][Trace][30802][r6462n59] source url=/live/31010400991327220000@34020000001320000002, ip=192.168.120.51, cache=1, is_edge=0, source_id=763883to/763883to
[2021-02-17 17:35:48.835][Trace][30802][r6462n59] dispatch cached gop success. count=0, duration=-1
[2021-02-17 17:35:48.835][Trace][30802][r6462n59] create consumer, active=1, queue_size=0.00, jitter=30000000
[2021-02-17 17:35:48.835][Trace][30802][r6462n59] set fd=15, SO_SNDBUF=46080=>175000, buffer=350ms
[2021-02-17 17:35:48.835][Trace][30802][r6462n59] start play smi=0ms, mw_sleep=350, mw_msgs=8, realtime=0, tcp_nodelay=0
[2021-02-17 17:35:51.192][Trace][30802][ug670s85] gb28181: client id=31010400991327230000@34020000001320000003,  ssrc=0x6bbb01, peer(192.168.120.61, 15060), rtmp muxer is alive
[2021-02-17 17:35:56.084][Trace][30802][ug670s85] -> HLS time=130221880ms, sno=22, [email protected], dur=0.00, dva=4039p
[2021-02-17 17:35:59.495][Trace][30802][8f8k3e0v] -> PLA time=30210779, msgs=9, okbps=1276,1291,0, ikbps=0,0,0, mw=350/8
[2021-02-17 17:36:01.185][Trace][30802][ug670s85] gb28181: client id=31010400991327230000@34020000001320000003,  ssrc=0x6bbb01, peer(192.168.120.61, 15060), rtmp muxer is alive
[2021-02-17 17:36:11.174][Trace][30802][lzna07j5] <- GBS gb28181: client_id , peer(192.168.120.61, 15060) ps rtp packet 1412B, age=157317500, vt=2/96, sts=20398/13068000/0x6bbb01, paylod=1400B
[2021-02-17 17:36:16.121][Trace][30802][ug670s85] -> HLS time=150258680ms, sno=26, [email protected], dur=0.00, dva=80p
[2021-02-17 17:36:19.802][Trace][30802][8f8k3e0v] -> PLA time=50487312, msgs=9, okbps=1269,1291,0, ikbps=0,0,0, mw=350/8
[2021-02-17 17:36:21.190][Trace][30802][ug670s85] gb28181: client id=31010400991327230000@34020000001320000003,  ssrc=0x6bbb01, peer(192.168.120.61, 15060), rtmp muxer is alive
[2021-02-17 17:36:22.505][Trace][30802][763883to] gb28181: sip session=31010400991327220000 peer(192.168.120.55, 5060) status(RegisterOk,AliveOk) duration(125,59)
[2021-02-17 17:36:31.178][Trace][30802][8g04b9be] gb28181: client id=31010400991327220000@34020000001320000002,  ssrc=0x2189b07, peer(192.168.120.55, 15060), rtmp muxer is alive
[2021-02-17 17:36:36.124][Trace][30802][ug670s85] -> HLS time=170261744ms, sno=29, [email protected], dur=0.00, dva=2080p
[2021-02-17 17:36:39.833][Trace][30802][8f8k3e0v] -> PLA time=70518864, msgs=9, okbps=1268,1269,0, ikbps=0,0,0, mw=350/8
[2021-02-17 17:36:41.190][Trace][30802][ug670s85] gb28181: client id=31010400991327230000@34020000001320000003,  ssrc=0x6bbb01, peer(192.168.120.61, 15060), rtmp muxer is alive

  1. SRS的配置如下(Config):
listen                  11935;
max_connections         1000;
srs_log_tank            file;
srs_log_file            ./objs/srs.log;
#srs_log_level           info; 

http_api {
    enabled         on;
    listen          1985;
}

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;

    # 转发流到rtmp服务器地址与端口
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
    # [stream] is VideoChannelCodecID(视频通道编码ID) for sip
    # 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
    # [ssrc] rtp中的ssrc
    output              rtmp://127.0.0.1:11935/live/[stream];

    # 接收设备端rtp流的多路复用端口
    listen              9000;

    # rtp接收监听端口范围,最小值
    rtp_port_min        58200;
    # rtp接收监听端口范围,最大值
    rtp_port_max        58300;

    # 是否等待关键帧之后,再转发,
    # off:不需等待,直接转发
    # on:等第一个关键帧后,再转发
    wait_keyframe       on;

    # rtp包空闲等待时间,如果指定时间没有收到任何包
    # rtp监听连接自动停止,发送BYE命令
    rtp_idle_timeout    30;

    # 是否转发音频流
    # 目前只支持aac格式,所以需要设备支持aac格式
    # on:转发音频
    # off:不转发音频,只有视频
    # *注意*!!!:flv 只支持11025  22050  44100 三种
    # 如果设备端没有三种中任何一个,转发时为自动选择一种格式
    # 同时也会将adts的头封装在flv aac raw数据中
    # 这样的话播放器为自动通过adts头自动选择采样频率
    # 像ffplay, vlc都可以,但是flash是没有声音,
    # 因为flash,只支持11025 22050 44100
    audio_enable        off;
    # 开启之后能有效解决rtp乱序等问题
    jitterbuffer_enable  on;

    # 服务器主机号,可以域名或ip地址
    # 也就是设备端将媒体发送的地址,如果是服务器是内外网
    # 需要写外网地址,
    # 调用api创建stream session时返回ip地址也是host
    # $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
    # *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
    #host       $CANDIDATE;
    host 192.168.51.104

    #根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
    #rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
    auto_create_channel   on;

    sip {
        # 是否启用srs内部sip信令
        # 为on信令走srs, off 只转发ps流
        enabled on;

        # sip监听udp端口
        listen              5060;

        # SIP server ID(SIP服务器ID).
        # 设备端配置编号需要与该值一致,否则无法注册
        #serial              34020000002000000001;
        serial               31010400992097123456

        # SIP server domain(SIP服务器域)
        realm                3101040099;

        # 服务端发送ack后,接收回应的超时时间,单位为秒
        # 如果指定时间没有回应,认为失败
        ack_timeout         30;

        # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
        # 认为设备离线
        keepalive_timeout   120;

        # 注册之后是否自动给设备端发送invite
        # on: 是  off 不是,需要通过api控制
        auto_play           on;
        # 设备将流发送的端口,是否固定
        # on 发送流到多路复用端口 如9000
        # off 自动从rtp_mix_port - rtp_max_port 之间的值中
        # 选一个可以用的端口
        invite_port_fixed     on;

        # 向设备或下级域查询设备列表的间隔,单位(秒)
        # 默认60秒
        query_catalog_interval  60;
    }
}
http_server {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}
vhost __defaultVhost__ {
     hls {
        enabled         on;
        hls_path        ./objs/nginx/html;
        hls_fragment    5;
        hls_window      60;
    }
    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
        hstrs       on;
    }
}

重现(Replay)

重现Bug的步骤(How to replay bug?)
两台相机的配置基本相同:视频编码H264

  1. 查询session
    {
    "code": 0,
    "data": {
    "sessions": [
    {
    "id": "31010400991327220000",
    "device_sumnum": 1,
    "devices": [
    {
    "device_id": "34020000001320000002",
    "device_name": "Camera 01",
    "device_status": "ON",
    "invite_status": "InviteOk",
    "invite_time": 1613554463
    }
    ]
    },
    {
    "id": "31010400991327230000",
    "device_sumnum": 1,
    "devices": [
    {
    "device_id": "34020000001320000003",
    "device_name": "IPdome",
    "device_status": "ON",
    "invite_status": "InviteOk",
    "invite_time": 1613554425
    }
    ]
    }
    ]
    }
    }
  2. 查询channel
    {
    "code": 0,
    "data": {
    "channels": [
    {
    "id": "31010400991327220000@34020000001320000002",
    "ip": "192.168.51.104",
    "rtmp_port": 11935,
    "app": "live",
    "stream": "31010400991327220000@34020000001320000002",
    "rtmp_url": "rtmp://192.168.51.104:11935/live/31010400991327220000@34020000001320000002",
    "ssrc": 35166983,
    "rtp_port": 9000,
    "port_mode": "fixed",
    "rtp_peer_port": 15060,
    "rtp_peer_ip": "192.168.120.55",
    "recv_time": 1613554463,
    "recv_time_str": "2021-02-17T09:34:23.531"
    },
    {
    "id": "31010400991327230000@34020000001320000003",
    "ip": "192.168.51.104",
    "rtmp_port": 11935,
    "app": "live",
    "stream": "31010400991327230000@34020000001320000003",
    "rtmp_url": "rtmp://192.168.51.104:11935/live/31010400991327230000@34020000001320000003",
    "ssrc": 7060225,
    "rtp_port": 9000,
    "port_mode": "fixed",
    "rtp_peer_port": 15060,
    "rtp_peer_ip": "192.168.120.61",
    "recv_time": 1613554425,
    "recv_time_str": "2021-02-17T09:33:46.017"
    }
    ]
    }
    }
  3. vlc拉取rtmp流
    rtmp://192.168.51.104:11935/live/31010400991327220000@34020000001320000002 失败
    rtmp://192.168.51.104:11935/live/31010400991327230000@34020000001320000003 成功
    期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)
可以正常拉取 rtmp://192.168.51.104:11935/live/31010400991327220000@34020000001320000002 的流

GB28181: Always enable jitter for RTP. (#2647) 导致视频播放卡顿,退出以后正常 #2821

描述(Description)

摄像头实时视频卡,测试发现退掉下面这个commit以后视频就正常播放
Commit 3505a85e
GB28181: Always enable jitter for RTP. (#2647)

描述你遇到了什么问题(Please description your issue here)

  1. SRS版本(Version):

feature/gb28181
commit 72ad526

  1. SRS的日志如下(Log):

[2021-12-27 11:18:51.771][Warn][29280][949461ix][11] RTP: jitbuffer NACK list has grown too large: 275 > 250
[2021-12-27 11:18:51.771][Warn][29280][949461ix][11] RTP: jitbuffer key(32010000001110000001@32010000001310000001) requesting key frame due to too large NACK list.
[2021-12-27 11:18:52.010][Warn][29280][949461ix][11] RTP: jitbuffer NACK list contains too old sequence numbers: 451 > 450
[2021-12-27 11:18:52.010][Warn][29280][949461ix][11] RTP: jitbuffer key(32010000001110000001@32010000001310000001) requesting key frame due to missing too old packets
[2021-12-27 11:18:52.131][Warn][29280][949461ix][11] RTP: jitbuffer NACK list has grown too large: 258 > 250
[2021-12-27 11:18:52.131][Warn][29280][949461ix][11] RTP: jitbuffer key(32010000001110000001@32010000001310000001) requesting key frame due to too large NACK list.
[2021-12-27 11:18:52.418][Warn][29280][949461ix][11] RTP: jitbuffer NACK list has grown too large: 266 > 250
[2021-12-27 11:18:52.419][Warn][29280][949461ix][11] RTP: jitbuffer key(32010000001110000001@32010000001310000001) requesting key frame due to too large NACK list.
[2021-12-27 11:18:52.493][Warn][29280][949461ix][11] RTP: jitbuffer NACK list contains too old sequence numbers: 451 > 450
[2021-12-27 11:18:52.493][Warn][29280][949461ix][11] RTP: jitbuffer key(32010000001110000001@32010000001310000001) requesting key frame due to missing too old packets

  1. SRS的配置如下(Config):
    push.gb28181.txt
    重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. xxxxxx
  2. xxxxxx
  3. xxxxxx

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)

GB28181: SIP注销时程序崩溃(偶发) #2256

描述(Description)

当sip注销时,接受到一个invite请求,status等于486,然后调用SrsGb28181SipSession::get_device_info(std::string chid)函数时,程序崩溃。目前定位到的原因是_device_list这个map的size突然变的特别大,导致find函数异常。

  1. SRS版本(Version): 4.0release
  2. SRS的日志如下(Log):
#0  0x00007ffff7568906 in std::string::compare(std::string const&) const () from /lib64/libstdc++.so.6
#1  0x00000000004a3dd3 in std::operator< <char, std::char_traits<char>, std::allocator<char> > (__lhs=<error reading variable: Cannot access memory at address 0x72460a0d45544976>, __rhs="34020000001310000001")
    at /opt/rh/devtoolset-9/root/usr/include/c++/9/bits/basic_string.h:6229
#2  0x00000000004a3c3d in std::less<std::string>::operator() (this=0xed8be0, __x=<error reading variable: Cannot access memory at address 0x72460a0d45544976>, __y="34020000001310000001")
    at /opt/rh/devtoolset-9/root/usr/include/c++/9/bits/stl_function.h:386
#3  0x000000000067aa1d in std::_Rb_tree<std::string, std::pair<std::string const, SrsGb28181Device*>, std::_Select1st<std::pair<std::string const, SrsGb28181Device*> >, std::less<std::string>, std::allocator<std::pair<std::string const, SrsGb28181Device*> > >::_M_lower_bound (this=0xed8be0, __x=0x72460a0d45544956, __y=0xed8be8, __k="34020000001310000001") at /opt/rh/devtoolset-9/root/usr/include/c++/9/bits/stl_tree.h:1929
#4  0x00000000006796c9 in std::_Rb_tree<std::string, std::pair<std::string const, SrsGb28181Device*>, std::_Select1st<std::pair<std::string const, SrsGb28181Device*> >, std::less<std::string>, std::allocator<std::pair<std::string const, SrsGb28181Device*> > >::find (this=0xed8be0, __k="34020000001310000001") at /opt/rh/devtoolset-9/root/usr/include/c++/9/bits/stl_tree.h:2557
#5  0x000000000067823d in std::map<std::string, SrsGb28181Device*, std::less<std::string>, std::allocator<std::pair<std::string const, SrsGb28181Device*> > >::find (this=0xed8be0, __x="34020000001310000001")
    at /opt/rh/devtoolset-9/root/usr/include/c++/9/bits/stl_map.h:1169
#6  0x000000000066fcb9 in SrsGb28181SipSession::get_device_info (this=0xed8b50, chid="34020000001310000001") at src/app/srs_app_gb28181_sip.cpp:392
#7  0x000000000067320e in SrsGb28181SipService::on_udp_sip (this=0xdcac60, peer_ip="192.168.103.195", peer_port=5060, 
    recv_msg="SIP/2.0 486 Busy Here\r\nCall-ID: 202040942889\r\nContact: <sip:[email protected]:5060>\r\nContent-Length: 0\r\nCSeq: 3220 INVITE\r\nFrom: <sip:34020000002000000001@3402000000>;tag=SrsGbF3196"..., from=0xdebc00, fromlen=16) at src/app/srs_app_gb28181_sip.cpp:702
#8  0x0000000000670ebb in SrsGb28181SipService::on_udp_packet (this=0xdcac60, from=0xdebc00, fromlen=16, 
    buf=0xdcaec0 "SIP/2.0 486 Busy Here\r\nCall-ID: 202040942889\r\nContact: <sip:[email protected]:5060>\r\nContent-Length: 0\r\nCSeq: 3220 INVITE\r\nFrom: <sip:34020000002000000001@3402000000>;tag=SrsGbF3196"..., nb_buf=492) at src/app/srs_app_gb28181_sip.cpp:497
#9  0x00000000005d283d in SrsUdpListener::cycle (this=0xdcae70) at src/app/srs_app_listener.cpp:218
#10 0x000000000052b141 in SrsFastCoroutine::cycle (this=0xddaed0) at src/app/srs_app_st.cpp:270
#11 0x000000000052b1c4 in SrsFastCoroutine::pfn (arg=0xddaed0) at src/app/srs_app_st.cpp:285
#12 0x00000000006970cc in _st_thread_main () at sched.c:363
#13 0x0000000000697946 in st_thread_create (start=
    0x4c0692 <std::_Rb_tree<std::string, std::pair<std::string const, SrsHttpMuxEntry*>, std::_Select1st<std::pair<std::string const, SrsHttpMuxEntry*> >, std::less<std::string>, std::allocator<std::pair<std::string const, SrsHttpMuxEntry*> > >::_M_insert_<std::_Rb_tree<std::string, std::pair<std::string const, SrsHttpMuxEntry*>, std::_Select1st<std::pair<std::string const, SrsHttpMuxEntry*> >, std::less<std::string>, std::allocator<std::pair<std::string const, SrsHttpMuxEntry*> > >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::string const, SrsHttpMuxEntry*> const&, std::_Rb_tree<std::string, std::pair<std::string const, SrsHttpMuxEntry*>, std::_Select1st<std::pair<std::string const, SrsHttpMuxEntry*> >, std::less<std::string>, std::allocator<std::pair<std::string const, SrsHttpMuxEntry*> > >::_Alloc_node&)+216>, 
    arg=0x7fffffffdb10, joinable=32767, stk_size=-9496) at sched.c:694
#14 0x0000000000012010 in ?? ()
#15 0x00007ffff6f8c7b8 in main_arena () from /lib64/libc.so.6
#16 0x00007ffff6c478ca in _int_malloc () from /lib64/libc.so.6
#17 0x00007ffff6c4a6fc in malloc () from /lib64/libc.so.6
#18 0x0000000000020b30 in ?? ()
#19 0x0000000000000010 in ?? ()
#20 0x0000000000eb24d0 in ?? ()
#21 0x0000000000000000 in ?? ()

  1. SRS的配置如下(Config):
配置使用的是 push.gb28181.conf

重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. 偶发。基本上是在sip注册成功,然后调用了sip的catalog、device_info和config_download查询指令,然后再注销sip时偶发。

D5E5F44B-C96D-492f-BF66-46F86CFAB6EE

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)

GB28181: pc通过gb28181 推流到edge端,edge通过origin-cluster方式,把流转发到origin端出错失败 #2569

描述(Description)

ipc通过gb28181 推流到edge端,edge通过origin-cluster方式,把流转发到origin端出错失败;如果是直接用obs推rtmp流到edge端,再转发到origin端是可以的;另外如果ipc通过gb28181推流到edge,edge端用forward方式转发流到origin端也是可以的。

  1. SRS版本(Version): feature/gb28181
  2. SRS的日志如下(Log):

2.1 edge端日志

[2021-09-01 15:07:05.461][Trace][75445][1i80k325] Startup query id=36d027b80af311ec9a898d4ec9d38d78, eip=30.86.211.78, wait=427s
[2021-09-01 15:07:05.461][Trace][75445][58059mfc] GB28181: connection manager run, conns=0
[2021-09-01 15:07:05.461][Trace][75445][55w80771] TCP: connection manager run, conns=0
[2021-09-01 15:07:05.461][Warn][75445][9o691867][55] set SO_SNDBUF failed, expect=10485760, r0=-1
[2021-09-01 15:07:05.461][Warn][75445][9o691867][55] set SO_RCVBUF failed, expect=10485760, r0=-1
[2021-09-01 15:07:05.461][Trace][75445][9o691867] UDP #11 LISTEN at 0.0.0.0:8000, SO_SNDBUF(default=9216, expect=10485760, actual=9216, r0=-1), SO_RCVBUF(default=786896, expect=10485760, actual=786896, r0=-1)
[2021-09-01 15:07:05.461][Trace][75445][9jsud283] RTC: connection manager run, conns=0
[2021-09-01 15:07:10.449][Trace][75445][f11h5475] Hybrid cpu=0.00%,0MB
[2021-09-01 15:07:15.452][Trace][75445][f11h5475] Hybrid cpu=0.00%,0MB
[2021-09-01 15:07:20.452][Trace][75445][f11h5475] Hybrid cpu=0.00%,0MB, cid=1,1, timer=56,0,0, clock=0,6,35,1,0,0,0,0,0
[2021-09-01 15:07:25.455][Trace][75445][f11h5475] Hybrid cpu=0.00%,0MB, cid=1,1, timer=56,0,0, clock=0,6,35,1,0,0,0,0,0
[2021-09-01 15:07:30.458][Trace][75445][f11h5475] Hybrid cpu=0.00%,0MB, cid=1,1, timer=56,0,0, clock=0,6,35,1,0,0,0,0,0
[2021-09-01 15:07:34.634][Trace][75445][i8033254] HTTP #0 127.0.0.1:63064 GET http://127.0.0.1:1985/api/v1/gb28181?action=create_channel&id=1630480054606&stream=0289575&ssrc=0289575&port_mode=fixed&app=live, content-length=-1
[2021-09-01 15:07:34.634][Trace][75445][i8033254] gb28181: generate ssrc id=1630480054606, ssrc=6010628
[2021-09-01 15:07:34.634][Trace][75445][i8033254] new source, stream_url=/live/0289575
[2021-09-01 15:07:34.634][Trace][75445][i8033254] new source, stream_url=/live/0289575
[2021-09-01 15:07:34.636][Trace][75445][i8033254] RTC bridge from RTMP, discard_aac=0, discard_bframe=1, merge_nalus=0
[2021-09-01 15:07:34.636][Trace][75445][i8033254] ignore disabled exec for vhost=
[2021-09-01 15:07:34.636][Trace][75445][i8033254] gb28181: create new stream channel id:1630480054606 rtmp url=rtmp://127.0.0.1:1935/live/0289575
[2021-09-01 15:07:34.791][Trace][75445][00q9s0a5] RTMP client ip=127.0.0.1:63065, fd=13
[2021-09-01 15:07:34.793][Trace][75445][00q9s0a5] complex handshake success
[2021-09-01 15:07:34.793][Trace][75445][00q9s0a5] connect app, tcUrl=rtmp://127.0.0.1:1935/live, pageUrl=, swfUrl=, schema=rtmp, vhost=127.0.0.1, port=1935, app=live, args=null
[2021-09-01 15:07:34.793][Trace][75445][00q9s0a5] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2021-09-01 15:07:34.793][Trace][75445][00q9s0a5] ignore AMF0/AMF3 command message.
[2021-09-01 15:07:34.794][Trace][75445][00q9s0a5] ignore AMF0/AMF3 command message.
[2021-09-01 15:07:34.794][Trace][75445][00q9s0a5] client identified, type=rtmp-play, vhost=127.0.0.1, app=live, stream=06010628, param=, duration=-1ms
[2021-09-01 15:07:34.794][Trace][75445][00q9s0a5] connected stream, tcUrl=rtmp://127.0.0.1:1935/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=06010628, param=, args=null
[2021-09-01 15:07:34.794][Trace][75445][00q9s0a5] new source, stream_url=/live/06010628
[2021-09-01 15:07:34.794][Trace][75445][00q9s0a5] source url=/live/06010628, ip=127.0.0.1, cache=1, is_edge=1, source_id=/
[2021-09-01 15:07:34.794][Trace][75445][00q9s0a5] ignore disabled exec for vhost=__defaultVhost__
[2021-09-01 15:07:34.794][Trace][75445][00q9s0a5] http: mount flv stream for sid=/live/06010628, mount=/live/06010628.flv
[2021-09-01 15:07:34.794][Trace][75445][00q9s0a5] dispatch cached gop success. count=0, duration=-1
[2021-09-01 15:07:34.794][Trace][75445][00q9s0a5] create consumer, active=1, queue_size=0.00, jitter=30000000
[2021-09-01 15:07:34.794][Trace][75445][00q9s0a5] set fd=13, SO_SNDBUF=146988=>87500, buffer=350ms
[2021-09-01 15:07:34.794][Trace][75445][00q9s0a5] start play smi=0ms, mw_sleep=350, mw_msgs=8, realtime=0, tcp_nodelay=0
[2021-09-01 15:07:34.806][Trace][75445][00q9s0a5] update source_id=f0t9ca24/00q9s0a5
[2021-09-01 15:07:34.833][Trace][75445][f0t9ca24] complex handshake success.
[2021-09-01 15:07:34.834][Trace][75445][f0t9ca24] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2021-09-01 15:07:34.873][Trace][75445][f0t9ca24] connected, version=4.0.126.0, ip=192.168.140.112, pid=8736, id=0, dsu=1
[2021-09-01 15:07:34.887][Trace][75445][f0t9ca24] edge-pull publish url rtmp://47.103.61.38:1935/live/06010628, stream=06010628 as 06010628
[2021-09-01 15:07:34.887][Trace][75445][f0t9ca24] edge change from 100 to state 101 (pull).
[2021-09-01 15:07:34.900][Warn][75445][f0t9ca24][54] origin disconnected, retry, error code=1007 : recv message : recv interlaced message : read basic header : basic header requires 1 bytes : read bytes : read
thread [75445][f0t9ca24]: ingest() [src/app/srs_app_edge.cpp:568][errno=54]
thread [75445][f0t9ca24]: recv_message() [src/protocol/srs_rtmp_stack.cpp:372][errno=54]
thread [75445][f0t9ca24]: recv_interlaced_message() [src/protocol/srs_rtmp_stack.cpp:859][errno=54]
thread [75445][f0t9ca24]: read_basic_header() [src/protocol/srs_rtmp_stack.cpp:954][errno=54]
thread [75445][f0t9ca24]: grow() [src/protocol/srs_protocol_stream.cpp:162][errno=54]
thread [75445][f0t9ca24]: read() [src/protocol/srs_service_st.cpp:522][errno=54]
[2021-09-01 15:07:35.218][Trace][75445][3qrd10e0] <- GBS gb28181: client_id , peer(30.86.208.21, 62356) ps rtp packet 1412B, age=29771086, vt=2/96, sts=0/3600/0x5bb704, paylod=1400B
[2021-09-01 15:07:35.218][Trace][75445][3qrd10e0] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:587253248
[2021-09-01 15:07:35.218][Trace][75445][3qrd10e0] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:553751552
[2021-09-01 15:07:35.278][Trace][75445][3qrd10e0] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:587283456
[2021-09-01 15:07:35.279][Trace][75445][3qrd10e0] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:570577920
[2021-09-01 15:07:35.348][Trace][75445][3qrd10e0] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:587313664
[2021-09-01 15:07:35.398][Trace][75445][3qrd10e0] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:587343872
[2021-09-01 15:07:35.399][Trace][75445][3qrd10e0] RTP: jitbuffer VerifyAndAllocate:newSize:30000, prevBuffer:0, _buffer:578900480

2.2 origin端日志

srs checking config...
[2021-09-01 15:07:19.960][Trace][8736][2kd18o20] ips, iface[0] eth0 ipv4 0x11043 192.168.140.112
[2021-09-01 15:07:19.960][Trace][8736][2kd18o20] devices, intranet eth0 192.168.140.112
[2021-09-01 15:07:19.960][Warn][8736][2kd18o20][22] stats network use index=0, ip=192.168.140.112, ifname=eth0
[2021-09-01 15:07:19.960][Warn][8736][2kd18o20][22] stats disk not configed, disk iops disabled.
[2021-09-01 15:07:19.960][Trace][8736][2kd18o20] write log to console
[2021-09-01 15:07:19.960][Trace][8736][2kd18o20] features, rch:on, dash:on, hls:on, hds:off, srt:off, hc:on, ha:on, hs:on, hp:on, dvr:on, trans:on, inge:on, stat:on, sc:on
[2021-09-01 15:07:19.960][Trace][8736][2kd18o20] SRS on  amd64 x86_64, conf:conf/test.conf, limit:1000, writev:1024, encoding:little-endian, HZ:100
[2021-09-01 15:07:19.960][Trace][8736][2kd18o20] mw sleep:350ms. mr enabled:on, default:0, sleep:350ms
[2021-09-01 15:07:19.960][Trace][8736][2kd18o20] gc:on, pq:30000ms, cscc:[0,16), csa:on, tn:on(may hurts performance), ss:auto(guess by merged write)
[2021-09-01 15:07:19.960][Trace][8736][2kd18o20] system default latency(ms): mw(0-350) + mr(0-350) + play-queue(0-30000)
[2021-09-01 15:07:19.960][Warn][8736][2kd18o20][22] SRS/4.0.126 is not stable
[2021-09-01 15:07:19.963][Trace][8736][2kd18o20] fingerprint=DE:C7:FE:62:05:26:64:7E:39:D2:33:C1:95:D8:9D:1A:94:C0:CB:1A:D3:AD:2A:07:C8:C5:A3:0B:79:58:1D:41
[2021-09-01 15:07:19.963][Trace][8736][2kd18o20] CircuitBreaker: enabled=1, high=2x90, critical=1x95, dying=5x99
[2021-09-01 15:07:19.963][Trace][8736][2kd18o20] http flv live stream, vhost=__defaultVhost__, mount=[vhost]/[app]/[stream].flv
[2021-09-01 15:07:19.963][Trace][8736][2kd18o20] http: root mount to ./objs/nginx/html
[2021-09-01 15:07:19.963][Trace][8736][2kd18o20] server main cid=2kd18o20, pid=8736, ppid=8539, asprocess=0
[2021-09-01 15:07:19.963][Trace][8736][2kd18o20] write pid=8736 to ./objs/origin.cluster.serverA.pid success!
[2021-09-01 15:07:19.963][Trace][8736][2kd18o20] RTMP listen at tcp://0.0.0.0:1935, fd=7
[2021-09-01 15:07:19.963][Trace][8736][2kd18o20] HTTP-API listen at tcp://0.0.0.0:9090, fd=8
[2021-09-01 15:07:19.964][Trace][8736][2kd18o20] HTTP-Server listen at tcp://0.0.0.0:8080, fd=9
[2021-09-01 15:07:19.965][Trace][8736][2kd18o20] UDP #10 LISTEN at 0.0.0.0:9000, SO_SNDBUF(default=212992, expect=10485760, actual=425984, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=425984, r0=0)
[2021-09-01 15:07:19.965][Trace][8736][2kd18o20] GB28181-Stream over RTP listen at udp://0.0.0.0:9000, fd=10
[2021-09-01 15:07:19.965][Trace][8736][2kd18o20] signal installed, reload=1, reopen=10, fast_quit=15, grace_quit=3
[2021-09-01 15:07:19.965][Trace][8736][2kd18o20] http: api mount /console to ./objs/nginx/html/console
[2021-09-01 15:07:19.965][Trace][8736][2kd18o20] rtc listen at udp://0.0.0.0:8000, fd=11
[2021-09-01 15:07:19.965][Trace][8736][962m0yoe] Hybrid cpu=0.00%,10MB
[2021-09-01 15:07:19.965][Trace][8736][064n8425] GB28181: connection manager run, conns=0
[2021-09-01 15:07:19.965][Trace][8736][282f7jrt] TCP: connection manager run, conns=0
[2021-09-01 15:07:19.966][Trace][8736][8jin8y05] UDP #11 LISTEN at 0.0.0.0:8000, SO_SNDBUF(default=212992, expect=10485760, actual=425984, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=425984, r0=0)
[2021-09-01 15:07:19.966][Trace][8736][ckpfu910] RTC: connection manager run, conns=0
[2021-09-01 15:07:24.959][Trace][8736][962m0yoe] Hybrid cpu=0.00%,10MB
[2021-09-01 15:07:29.959][Trace][8736][962m0yoe] Hybrid cpu=0.00%,10MB
[2021-09-01 15:07:34.827][Trace][8736][s6916b65] RTMP client ip=122.192.73.142:63066, fd=12
[2021-09-01 15:07:34.842][Trace][8736][s6916b65] complex handshake success
[2021-09-01 15:07:34.855][Trace][8736][s6916b65] connect app, tcUrl=rtmp://47.103.61.38/live, pageUrl=, swfUrl=, schema=rtmp, vhost=47.103.61.38, port=1935, app=live, args=(obj)
[2021-09-01 15:07:34.855][Trace][8736][s6916b65] edge-srs ip=30.86.211.78, version=5.0.11, pid=75445, id=0
[2021-09-01 15:07:34.855][Trace][8736][s6916b65] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2021-09-01 15:07:34.894][Trace][8736][s6916b65] client identified, type=Play, vhost=47.103.61.38, app=live, stream=06010628, param=, duration=-1ms
[2021-09-01 15:07:34.894][Trace][8736][s6916b65] connected stream, tcUrl=rtmp://47.103.61.38/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=06010628, param=, args=(obj)
[2021-09-01 15:07:34.894][Trace][8736][s6916b65] new source, stream_url=/live/06010628
[2021-09-01 15:07:34.894][Trace][8736][s6916b65] source url=/live/06010628, ip=122.192.73.142, cache=1, is_edge=0, source_id=/
[2021-09-01 15:07:34.894][Trace][8736][81608412] HTTP #0 127.0.0.1:53814 POST http://127.0.0.1:9090/api/v1/clusters?vhost=__defaultVhost__&ip=47.103.61.38&app=live&stream=06010628&coworker=127.0.0.1:9090, content-length=0
[2021-09-01 15:07:34.894][Warn][8736][s6916b65][11] use private address as ip: 192.168.140.112, ifname=eth0
[2021-09-01 15:07:34.894][Trace][8736][s6916b65] TCP: before dispose resource(RtmpConn)(0x292a4b0), conns=2, zombies=0, ign=0, inz=0, ind=0
[2021-09-01 15:07:34.894][Error][8736][s6916b65][11] serve error code=3091 : service cycle : rtmp: stream service : discover coworkers, url=http://127.0.0.1:9090/api/v1/clusters?vhost=__defaultVhost__&ip=47.103.61.38&app=live&stream=06010628&coworker=127.0.0.1:9090 : parse data {"code":0,"data":{"query":{"ip":"47.103.61.38","vhost":"__defaultVhost__","app":"live","stream":"06010628"},"origin":null}}
thread [8736][s6916b65]: do_cycle() [src/app/srs_app_rtmp_conn.cpp:217][errno=11]
thread [8736][s6916b65]: service_cycle() [src/app/srs_app_rtmp_conn.cpp:414][errno=11]
thread [8736][s6916b65]: playing() [src/app/srs_app_rtmp_conn.cpp:636][errno=11]
thread [8736][s6916b65]: discover_co_workers() [src/app/srs_app_http_hooks.cpp:436][errno=11](Resource temporarily unavailable)
[2021-09-01 15:07:34.894][Trace][8736][282f7jrt] TCP: clear zombies=1 resources, conns=2, removing=0, unsubs=0
[2021-09-01 15:07:34.894][Trace][8736][s6916b65] TCP: disposing #0 resource(RtmpConn)(0x292a4b0), conns=2, disposing=1, zombies=0
[2021-09-01 15:07:34.894][Trace][8736][81608412] TCP: before dispose resource(HttpConn)(0x2949830), conns=1, zombies=0, ign=0, inz=0, ind=0
[2021-09-01 15:07:34.894][Warn][8736][81608412][104] client disconnect peer. ret=1007
[2021-09-01 15:07:34.894][Trace][8736][282f7jrt] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2021-09-01 15:07:34.894][Trace][8736][81608412] TCP: disposing #0 resource(HttpConn)(0x2949830), conns=1, disposing=1, zombies=0
[2021-09-01 15:07:34.960][Trace][8736][962m0yoe] Hybrid cpu=1.00%,10MB, cid=2,1, timer=63,0,0, clock=0,49,0,0,0,0,0,0,0, free=1, objs=(pkt:0,raw:0,fua:0,msg:1,oth:0,buf:0)
[2021-09-01 15:07:37.940][Trace][8736][7n9ro4pr] RTMP client ip=122.192.73.142:63068, fd=12
[2021-09-01 15:07:38.348][Trace][8736][7n9ro4pr] complex handshake success
[2021-09-01 15:07:38.348][Trace][8736][7n9ro4pr] connect app, tcUrl=rtmp://47.103.61.38/live, pageUrl=, swfUrl=, schema=rtmp, vhost=47.103.61.38, port=1935, app=live, args=(obj)
[2021-09-01 15:07:38.348][Trace][8736][7n9ro4pr] edge-srs ip=30.86.211.78, version=5.0.11, pid=75445, id=0
[2021-09-01 15:07:38.348][Trace][8736][7n9ro4pr] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128
[2021-09-01 15:07:38.392][Trace][8736][7n9ro4pr] client identified, type=Play, vhost=47.103.61.38, app=live, stream=06010628, param=, duration=-1ms
[2021-09-01 15:07:38.392][Trace][8736][7n9ro4pr] connected stream, tcUrl=rtmp://47.103.61.38/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, stream=06010628, param=, args=(obj)
[2021-09-01 15:07:38.392][Trace][8736][7n9ro4pr] source url=/live/06010628, ip=122.192.73.142, cache=1, is_edge=0, source_id=/
[2021-09-01 15:07:38.392][Trace][8736][fpf422q9] HTTP #0 127.0.0.1:53816 POST http://127.0.0.1:9090/api/v1/clusters?vhost=__defaultVhost__&ip=47.103.61.38&app=live&stream=06010628&coworker=127.0.0.1:9090, content-length=0
[2021-09-01 15:07:38.392][Trace][8736][7n9ro4pr] TCP: before dispose resource(RtmpConn)(0x29496b0), conns=2, zombies=0, ign=0, inz=0, ind=0
[2021-09-01 15:07:38.392][Error][8736][7n9ro4pr][11] serve error code=3091 : service cycle : rtmp: stream service : discover coworkers, url=http://127.0.0.1:9090/api/v1/clusters?vhost=__defaultVhost__&ip=47.103.61.38&app=live&stream=06010628&coworker=127.0.0.1:9090 : parse data {"code":0,"data":{"query":{"ip":"47.103.61.38","vhost":"__defaultVhost__","app":"live","stream":"06010628"},"origin":null}}
thread [8736][7n9ro4pr]: do_cycle() [src/app/srs_app_rtmp_conn.cpp:217][errno=11]
thread [8736][7n9ro4pr]: service_cycle() [src/app/srs_app_rtmp_conn.cpp:414][errno=11]
thread [8736][7n9ro4pr]: playing() [src/app/srs_app_rtmp_conn.cpp:636][errno=11]
thread [8736][7n9ro4pr]: discover_co_workers() [src/app/srs_app_http_hooks.cpp:436][errno=11](Resource temporarily unavailable)
  1. SRS的配置如下(Config):

3.1 edge端配置

listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_api {
    enabled on;
    listen 1985;
}
http_server {
    enabled on;
    listen 8080;
    dir ./objs/nginx/html;
}
stream_caster {
    enabled on;
    caster gb28181;
    output rtmp://127.0.0.1:1935/live/[stream];
    listen 9000;
    tcp_enable off;
    rtp_port_min 58200;
    rtp_port_max 58300;
    wait_keyframe on;
    rtp_idle_timeout 30;
    audio_enable off;
    jitterbuffer_enable on;
    host $CANDIDATE;
    auto_create_channel on;
    sip {
        # 是否启用srs内部sip信令
        # 为on信令走srs, off 只转发ps流
        enabled off;

        # sip监听udp端口
        listen              5060;

        # SIP server ID(SIP服务器ID).
        # 设备端配置编号需要与该值一致,否则无法注册
        serial              34020000002000000001;

        # SIP server domain(SIP服务器域)
        realm               3402000000;

        # 服务端发送ack后,接收回应的超时时间,单位为秒
        # 如果指定时间没有回应,认为失败
        ack_timeout         30;

        # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
        # 认为设备离线
        keepalive_timeout   120;

        # 注册之后是否自动给设备端发送invite
        # on: 是  off 不是,需要通过api控制
        auto_play           on;
        # 设备将流发送的端口,是否固定
        # on 发送流到多路复用端口 如9000
        # off 自动从rtp_mix_port - rtp_max_port 之间的值中
        # 选一个可以用的端口
        invite_port_fixed     on;

        # 向设备或下级域查询设备列表的间隔,单位(秒)
        # 默认60秒
        query_catalog_interval  60;
    }
}
rtc_server {
    enabled on;
    listen 8000;
    candidate $CANDIDATE;
}

vhost __defaultVhost__ {
    rtc {
        enabled on;
        bframe discard;
    }
    http_remux {
        enabled on;
        mount [vhost]/[app]/[stream].flv;
    }
    cluster {
        mode            remote;
        origin          xx.xx.xx.xx:1935;
    }
}


3.2 origin端配置

listen              1935;
max_connections     1000;
daemon              off;
srs_log_tank        console;
pid                 ./objs/origin.cluster.serverA.pid;
http_api {
    enabled         on;
    listen          9090;
}
http_server {
    enabled on;
    listen 8080;
    dir ./objs/nginx/html;
}
stream_caster {
    enabled on;
    caster gb28181;
    output rtmp://127.0.0.1:1935/live/[stream];
    listen 9000;
    tcp_enable off;
    rtp_port_min 58200;
    rtp_port_max 58300;
    wait_keyframe on;
    rtp_idle_timeout 30;
    audio_enable off;
    jitterbuffer_enable on;
    host 47.103.61.38;
    auto_create_channel on;
    sip {
        # 是否启用srs内部sip信令
        # 为on信令走srs, off 只转发ps流
        enabled off;

        # sip监听udp端口
        listen              5060;

        # SIP server ID(SIP服务器ID).
        # 设备端配置编号需要与该值一致,否则无法注册
        serial              34020000002000000001;

        # SIP server domain(SIP服务器域)
        realm               3402000000;

        # 服务端发送ack后,接收回应的超时时间,单位为秒
        # 如果指定时间没有回应,认为失败
        ack_timeout         30;

        # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
        # 认为设备离线
        keepalive_timeout   120;

        # 注册之后是否自动给设备端发送invite
        # on: 是  off 不是,需要通过api控制
        auto_play           on;
        # 设备将流发送的端口,是否固定
        # on 发送流到多路复用端口 如9000
        # off 自动从rtp_mix_port - rtp_max_port 之间的值中
        # 选一个可以用的端口
        invite_port_fixed     on;

        # 向设备或下级域查询设备列表的间隔,单位(秒)
        # 默认60秒
        query_catalog_interval  60;
    }
}
rtc_server {
    enabled on;
    listen 8000;
    candidate $CANDIDATE;
}
vhost __defaultVhost__ {
    rtc {
        enabled on;
        bframe discard;
    }
    http_remux {
        enabled on;
        mount [vhost]/[app]/[stream].flv;
    }
    cluster {
        mode            local;
        origin_cluster  on;
        coworkers       127.0.0.1:9090;
    }
}

重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. edge和origin 配置成origin-cluster模式
  2. ipc推流到edge
  3. origin控制台中有媒体信息,但是是无流状态

期望行为(Expect)

origin-cluster模式下,edge端接收ipc的ps流可以正常转发到origin

GB28181: 删除通道,程序 crash #2839

注意:提问前,请先看FAQ(Please read FAQ before file an issue) ossrs/srs#2716

描述(Description)

海康摄像机注册到 srs 后,删除通道,程序 crash。

  1. SRS版本(Version): feature/h265 5.0.19(Leo)feature/gb28181 也同样存在该问题

  2. SRS的日志如下(Log):

[2022-01-04 10:45:15.100][Trace][45894][e6v5t39x] Hybrid cpu=0.00%,18MB, cid=2,1, timer=62,0,0, clock=0,47,1,0,0,0,0,0,0, objs=(pkt:0,raw:0,fua:0,msg:65,oth:0,buf:0)
[2022-01-04 10:45:15.186][Trace][45894][059c20s7] RTP: jitbuffer VerifyAndAllocate:newSize:90000, prevBuffer:51214608, _buffer:48740384
[2022-01-04 10:45:15.200][Trace][45894][059c20s7] RTP: jitbuffer VerifyAndAllocate:newSize:210000, prevBuffer:48740384, _buffer:53378544
[2022-01-04 10:45:15.301][Trace][45894][28k68559] HTTP #6 10.100.6.248:59825 OPTIONS http://192.168.235.10:1985/api/v1/gb28181?action=query_channel&id=34020000001320000001@34020000001320000001, content-length=-1
[2022-01-04 10:45:15.306][Trace][45894][28k68559] HTTP #7 10.100.6.248:59825 GET http://192.168.235.10:1985/api/v1/gb28181?action=query_channel&id=34020000001320000001@34020000001320000001, content-length=-1
[2022-01-04 10:45:15.777][Trace][45894][ae1243ag] -> HTS http: got 9 msgs, age=10035805, min=8, mw=350
[2022-01-04 10:45:16.108][Trace][45894][28k68559] HTTP #8 10.100.6.248:59825 OPTIONS http://192.168.235.10:1985/api/v1/gb28181?action=delete_channel&id=34020000001320000001&chid=34020000001320000001, content-length=-1
[2022-01-04 10:45:16.115][Trace][45894][28k68559] HTTP #9 10.100.6.248:59825 GET http://192.168.235.10:1985/api/v1/gb28181?action=delete_channel&id=34020000001320000001&chid=34020000001320000001, content-length=-1
[2022-01-04 10:45:16.115][Trace][45894][8v5id65z] gb28181: client id=34020000001320000001@34020000001320000001 rtmp muxer is remove
[2022-01-04 10:45:16.115][Error][45894][nbwx40sm][4] thread is stopping by (Interrupted system call)
srs: src/app/srs_app_st.cpp:199: void SrsFastCoroutine::stop(): Assertion `!stopping_' failed.
已放弃(吐核)
  1. SRS的配置如下(Config):
使用的 conf/push.gb28181.conf,没有改动。

重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. 使用 conf/push.gb28181.conf 启动 srs
  2. 注册摄像机到 srs
  3. 在 srs 控制台的 GB28181播放器页面中,点击“查询所有会话”,待 invite 状态变为 InviteOk 后,点击“查询所有通道”,然后再点击“删除通道”
  4. srs crash

期望行为(Expect)

正常删除通道

GB28181 国标设备NVR注册成功保活正常,但长时间后srs国标服务sip端口udp收不到数据(这个问题虽然是GB28181使用过程中产生的,但感觉跟GB28181关系不大)。

注意:提问前,请先看FAQ(Please read FAQ before file an issue) ossrs/srs#2716

描述(Description)

描述你遇到了什么问题(Please description your issue here)

  1. SRS版本(Version): (feature/gb28181)5.0.19
  2. SRS运行环境:centos7
  3. SRS配置:conf/push.gb28181.conf修改以下参数:
    daemon on;
    srs_log_tank file;#保存日志文件
    srs_log_file ./objs/srs.log;
    auto_play off;#关闭自动拉流
  4. 问题描述:srs服务正常启动后,使用海康NVR的GB28181接入srs服务,NVR设备注册保活一切正常,运行大概四五天的时间后通过
    httpapi查看发现NVR掉线了,看srs日志没有任何错误,但是发现没有任何sip消息日志,使用netstat查看sip5060端口发现正常监听
    着,然后使用tcpdump抓包sip端口,看到NVR一直在发送注册消息,srs没有应答;后来在SrsUdpListener::cycle()中增加日志重新测试,发现srs_recvfrom接口一直阻塞,不再接收返回数据(问题发生后,rtmp推拉流正常,其它功能没有测试)。下面有代码修改和发生问题时的日志:
  5. SRS代码修改,增加日志:

srs_error_t SrsUdpListener::cycle()
{   
    srs_error_t err = srs_success;
    
    while (true) { 
        if ((err = trd->pull()) != srs_success) {
            return srs_error_wrap(err, "udp listener");
        }
        
        int nread = 0;
        sockaddr_storage from;
        int nb_from = sizeof(from);
        if(port == 5060)
        {        
                 srs_trace("GB28181 sip port %d,srs_recvfrom-------------IN", port);
        }
        if ((nread = srs_recvfrom(lfd, buf, nb_buf, (sockaddr*)&from, &nb_from, SRS_UTIME_NO_TIMEOUT)) <= 0) {
            return srs_error_new(ERROR_SOCKET_READ, "udp read, nread=%d", nread);
        }
        if(port == 5060)
        {        
                 srs_trace("GB28181 sip port %d,srs_recvfrom-------------OUT:%d", port, nread);
        }
        
        // Drop UDP health check packet of Aliyun SLB.
        //      Healthcheck udp check
        // @see https://help.aliyun.com/document_detail/27595.html
        if (nread == 21 && buf[0] == 0x48 && buf[1] == 0x65 && buf[2] == 0x61 && buf[3] == 0x6c
            && buf[19] == 0x63 && buf[20] == 0x6b) {
            continue;
        }
        
        if ((err = handler->on_udp_packet((const sockaddr*)&from, nb_from, buf, nread)) != srs_success) {
            return srs_error_wrap(err, "handle packet %d bytes", nread);
        }
        
        if (SrsUdpPacketRecvCycleInterval > 0) {
            srs_usleep(SrsUdpPacketRecvCycleInterval);
        }
    }
    
    return err;
}

  1. SRS发生问题时的日志:

[2022-01-17 01:51:24.584][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:51:29.584][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:51:32.714][Trace][32117][0s3z8mj7] GB28181 sip port 5060,srs_recvfrom-------------OUT:606
[2022-01-17 01:51:32.714][Trace][32117][0s3z8mj7] GB28181 sip port 5060,srs_recvfrom-------------IN
[2022-01-17 01:51:34.585][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:51:38.656][Trace][32117][h6j613ok] gb28181: sip session=34020000001110000001 peer(192.168.1.204, 5060) status(RegisterOk,AliveOk) duration(1688,5)
[2022-01-17 01:51:38.657][Trace][32117][0s3z8mj7] GB28181 sip port 5060,srs_recvfrom-------------OUT:313
[2022-01-17 01:51:38.657][Trace][32117][0s3z8mj7] GB28181 sip port 5060,srs_recvfrom-------------IN
[2022-01-17 01:51:38.658][Trace][32117][0s3z8mj7] GB28181 sip port 5060,srs_recvfrom-------------OUT:1293
[2022-01-17 01:51:38.659][Trace][32117][0s3z8mj7] GB28181 sip port 5060,srs_recvfrom-------------IN
[2022-01-17 01:51:38.659][Trace][32117][0s3z8mj7] GB28181 sip port 5060,srs_recvfrom-------------OUT:940
[2022-01-17 01:51:38.659][Trace][32117][0s3z8mj7] GB28181 sip port 5060,srs_recvfrom-------------IN
[2022-01-17 01:51:39.585][Trace][32117][69474hs0] Hybrid cpu=1.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:51:44.586][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:51:49.587][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:51:54.587][Trace][32117][69474hs0] Hybrid cpu=1.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:51:59.588][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:52:04.589][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:52:09.590][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:52:14.590][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:52:19.591][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:52:24.591][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:52:29.591][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:52:34.591][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:52:38.692][Trace][32117][h6j613ok] gb28181: sip session=34020000001110000001 peer(192.168.1.204, 5060) status(RegisterOk,AliveOk) duration(1748,60)
[2022-01-17 01:52:39.592][Trace][32117][69474hs0] Hybrid cpu=1.00%,11MB, cid=1,0, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:52:44.593][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:52:49.594][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:52:54.595][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=63,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:52:59.595][Trace][32117][69474hs0] Hybrid cpu=1.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:53:04.596][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:53:09.597][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:53:14.598][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:53:19.598][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=63,0,0, clock=0,49,0,0,0,0,0,0,0
[2022-01-17 01:53:24.598][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=63,0,0, clock=0,49,0,0,0,0,0,0,0
[2022-01-17 01:53:29.598][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:53:34.599][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:53:38.729][Trace][32117][h6j613ok] gb28181: sip session=34020000001110000001 keepalive timeout
[2022-01-17 01:53:38.729][Trace][32117][h6j613ok] gb28181: client id=34020000001110000001 sip session is remove
[2022-01-17 01:53:38.729][Trace][32117][h6j613ok] gb28181: sip client finished.
[2022-01-17 01:53:39.599][Trace][32117][69474hs0] Hybrid cpu=1.00%,11MB, cid=1,1, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0, free=1
[2022-01-17 01:53:44.599][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,1, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0, free=1
[2022-01-17 01:53:49.600][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:53:54.601][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
[2022-01-17 01:53:59.602][Trace][32117][69474hs0] Hybrid cpu=0.00%,11MB, cid=1,0, timer=62,0,0, clock=0,49,1,0,0,0,0,0,0
后面再也没有srs_recvfrom接口返回日志。。。

重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. 使用push.gb28181.conf配置,启动srs服务,使用海康NVR或者ipc注册到srs,长时间后运行后httpapi查询不到设备
  2. 目前测试来看是必现,但是重现时间比较长,四五次测试都是3~5天,暂时没有找到具体规律
  3. 后面还会增加一些测试代码继续测试更新issue,希望有人能帮忙分析,提供一些问题解决思路

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)

GB28181: 支持GB28181 RTP Proxy #2161

我们有个应用场景,就设备推RTP流到流媒体服务器。
用ffmpeg的命令:
ffmpeg -fflags nobuffer -rtsp_transport tcp -re -i rtsp://192.168.1.64/Streaming/Channels/1 -vcodec h264 -acodec aac -f rtp rtp://192.168.20.177:10001

或者
ffmpeg -re -i "e:\peiqi.mp4" -vcodec h264 -acodec aac -f rtp_mpegts rtp://192.168.20.177:10001

希望SRS能支持这个模式。

我看到ZLMediaKit有这个功能。
ZLM有2个HTTP接口,动态创建和关闭RTP服务端口, 也可以使用默认端口,通过SSRC来demux.

/index/api/openRtpServer
功能:创建GB28181 RTP接收端口,如果该端口接收数据超时,则会自动被回收(不用调用closeRtpServer接口)
例子:http://127.0.0.1/index/api/openRtpServer?port=10001&enable_tcp=1&stream_id=test

/index/api/closeRtpServer
功能:关闭GB28181 RTP接收端口
例子:http://127.0.0.1/index/api/closeRtpServer?stream_id=test

GB28181: 连接大华的硬盘录像机 时间长了 会掉几路,重新注册就好了,srs上有没有能自动刷新注册的 #2467

描述(Description)

描述你遇到了什么问题(Please description your issue here)

  1. SRS版本(Version): feature/gb28181
  2. SRS的日志如下(Log):
  3. SRS的配置如下(Config):
# main config for srs.
# @see full.conf for detail config.

listen              1935;
max_connections     1000;
srs_log_tank        file;
srs_log_file        ./objs/srs.log;
daemon              on;

http_api {
    enabled         on;
    listen          1985;
}

http_server {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;
    output              rtmp://127.0.0.1:1935/live/[stream];
    
    listen              9000;
	
    tcp_enable            on;

    rtp_port_min        58200;

    rtp_port_max        58300;

    wait_keyframe       on;
    
    rtp_idle_timeout    30;

    audio_enable        off;

    jitterbuffer_enable  off;

    host       192.168.1.5;

    auto_create_channel   off;

    sip {
        enabled on;

        listen              5060;
        
        serial              34020000002000000001;

        realm               3402000000;

        ack_timeout         30;

        keepalive_timeout   120;

        auto_play           on;
		
        invite_port_fixed     on;

        query_catalog_interval  60;
    }
}

rtc_server {
    enabled         on;
    
    listen          8000;

    candidate       192.168.1.5;
}

vhost __defaultVhost__ {
    
    rtc {
        enabled     on;
        bframe      discard;
    }
    
    hls {
        enabled         on;
        hls_path        ./objs/nginx/html;
        hls_fragment    10;
        hls_window      60;
    }
    
    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
}

重现(Replay)

重现Bug的步骤(How to replay bug?)
运行时间长了 通道就掉线了

期望行为(Expect)

有啥配置可以重新自动注册下,或者怎样能解决不稳定的情况

GB28181: GB28181-2016协议接入大华摄像头失败 #2240

描述(Description)

描述你遇到了什么问题(Please description your issue here)
摄像头使用GB28181-2016协议连接srs服务失败

  1. SRS版本(Version): 4.0.85
  2. SRS的日志如下(Log):
[root@centos7 trunk]# ./objs/srs -c conf/push.gb28181.conf
[2021-03-15 17:36:37.315][Trace][26144][5xfqp5be] XCORE-SRS/4.0.85(Leo)
[2021-03-15 17:36:37.315][Trace][26144][5xfqp5be] config parse complete
[2021-03-15 17:36:37.315][Trace][26144][5xfqp5be] write log to console
[2021-03-15 17:36:37.315][Trace][26144][5xfqp5be][MAIN] SRS/4.0.85(Leo), MIT
[2021-03-15 17:36:37.315][Trace][26144][5xfqp5be] authors: Winlin,Wenjie,Runner365,John,B.P.Y,Lixin
[2021-03-15 17:36:37.315][Trace][26144][5xfqp5be] contributors: winlin<[email protected]> wenjie.zhao<[email protected]> xiangcheng.liu<[email protected]> naijia.liu<[email protected]> alcoholyi<[email protected]> byteman<[email protected]> chad.wang<[email protected]> suhetao<[email protected]> Johnny<[email protected]> karthikeyan<[email protected]> StevenLiu<[email protected]> zhengfl<[email protected]> tufang14<[email protected]> allspace<[email protected]> niesongsong<[email protected]> rudeb0t<[email protected]> CallMeNP<[email protected]> synote<[email protected]> lovecat<[email protected]> panda1986<[email protected]> YueHonghui<[email protected]> ThomasDreibholz<[email protected]> JuntaoLiu<[email protected]> RocFang<[email protected]> MakarovYaroslav<[email protected]> MirkoVelic<[email protected]> HuiZhang(huzhang2)<[email protected]> OtterWa<[email protected]> walkermi<[email protected]> haofz<[email protected]> ME_Kun_Han<[email protected]> ljx0305<[email protected]> cenxinwei<[email protected]> StarBrilliant<[email protected]> xubin<[email protected]> intliang<[email protected]> flowerwrong<[email protected]> YLX<[email protected]> J<[email protected]> Harlan<[email protected]> hankun<[email protected]> JonathanBarratt<[email protected]> KeeganH<[email protected]> StevenLiu<[email protected]> liuxc0116<[email protected]> ChengdongZhang<[email protected]> lovacat<[email protected]> qiang.li<[email protected]> HungMingWu<[email protected]> Himer<[email protected]> xialixin<[email protected]> alphonsetai<[email protected]> Michael.Ma<[email protected]> lam2003<[email protected]> runner365<[email protected]> XiaofengWang<[email protected]> XiaLixin<[email protected]> xiaozhihong<[email protected]> HuyaJohn<[email protected]> yanghuiwen<[email protected]> Bepartofyou<[email protected]> l<22312935+lam2003@github> xfalcon<x-falcon@github> cgh<[email protected]> LiPeng<[email protected]> xiaozhihong<[email protected]> yajun18<[email protected]> liulichuan<[email protected]> yapingcat<[email protected]> chenchengbin<[email protected]> chenhaibo<chenhaibo@RD-CHB-0476-01> jasongwq<[email protected]> xialixin<[email protected]> yinjiaoyuan<[email protected]> PieerePi<[email protected]> JesseXi<[email protected]> PieerePi<40780488+PieerePi@github> ghostsf<[email protected]> xbpeng121<53243357+xbpeng121@github> johzzy<[email protected]> 
[2021-03-15 17:36:37.315][Trace][26144][5xfqp5be] cwd=/root/srs/trunk, work_dir=./, build: 2021-03-15 15:18:56, configure: --x86-x64 --with-gb28181, uname: Linux centos7 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux, osx: 0
[2021-03-15 17:36:37.315][Trace][26144][5xfqp5be] configure detail: --prefix=/usr/local/srs --hls=on --hds=off --dvr=on --ssl=on --https=on --ssl-1-0=off --ssl-local=off --sys-ssl=off --transcode=on --ingest=on --stat=on --http-callback=on --http-server=on --stream-caster=on --http-api=on --utest=off --cherrypy=on --srt=off --rtc=on --simulator=off --gb28181=on --cxx11=off --cxx14=off --ffmpeg-fit=on --nasm=on --srtp-nasm=on --clean=on --gperf=off --gmc=off --gmd=off --gmp=off --gcp=off --gprof=off --static=off --use-shared-st=off --use-shared-srt=off --log-verbose=off --log-info=off --log-trace=on --gcov=off --debug=off --debug-stats=off --cc=gcc --cxx=g++ --ar=ar --ld=ld --randlib=randlib
[2021-03-15 17:36:37.315][Trace][26144][5xfqp5be] srs checking config...
[2021-03-15 17:36:37.316][Trace][26144][5xfqp5be] ips, iface[0] enp0s8 ipv4 0x11043 172.16.1.12, iface[1] enp0s8 ipv6 0x11043 fe80::e2b1:52e0:91fc:ac32.009788e-316np0s8
[2021-03-15 17:36:37.316][Trace][26144][5xfqp5be] devices, intranet enp0s8 172.16.1.12, intranet enp0s8 fe80::e2b1:52e0:91fc:ac32.009788e-316np0s8
[2021-03-15 17:36:37.316][Warn][26144][5xfqp5be][0] stats network use index=0, ip=172.16.1.12, ifname=enp0s8
[2021-03-15 17:36:37.316][Warn][26144][5xfqp5be][0] stats disk not configed, disk iops disabled.
[2021-03-15 17:36:37.316][Trace][26144][5xfqp5be] write log to console
[2021-03-15 17:36:37.316][Trace][26144][5xfqp5be] features, rch:on, dash:on, hls:on, hds:off, srt:off, hc:on, ha:on, hs:on, hp:on, dvr:on, trans:on, inge:on, stat:on, sc:on
[2021-03-15 17:36:37.316][Trace][26144][5xfqp5be] SRS on  amd64 x86_64, conf:conf/push.gb28181.conf, limit:1000, writev:1024, encoding:little-endian, HZ:100
[2021-03-15 17:36:37.316][Trace][26144][5xfqp5be] mw sleep:350ms. mr enabled:on, default:0, sleep:350ms
[2021-03-15 17:36:37.316][Trace][26144][5xfqp5be] gc:on, pq:30000ms, cscc:[0,16), csa:on, tn:on(may hurts performance), ss:auto(guess by merged write)
[2021-03-15 17:36:37.316][Trace][26144][5xfqp5be] system default latency(ms): mw(0-350) + mr(0-350) + play-queue(0-30000)
[2021-03-15 17:36:37.316][Warn][26144][5xfqp5be][0] SRS/4.0.85 is not stable
[2021-03-15 17:36:37.318][Trace][26144][5xfqp5be] st_init success, use epoll
[2021-03-15 17:36:37.323][Trace][26144][5xfqp5be] fingerprint=C5:4C:66:B9:A7:94:E4:1D:26:6A:4E:9B:97:70:AA:71:E2:88:BF:50:E7:BA:26:91:75:E2:86:70:F7:78:4F:BD
[2021-03-15 17:36:37.323][Trace][26144][5xfqp5be] RTC: Object cache init, rtp-cache=(enabled:1,pkt:64m-31w,payload:16m-69w-41w), msg-cache=(enabled:1,obj:16m-41w,buf:512m-34w)
[2021-03-15 17:36:37.323][Trace][26144][5xfqp5be] http flv live stream, vhost=__defaultVhost__, mount=[vhost]/[app]/[stream].flv
[2021-03-15 17:36:37.323][Trace][26144][5xfqp5be] http: root mount to ./objs/nginx/html
[2021-03-15 17:36:37.323][Trace][26144][5xfqp5be] server main cid=5xfqp5be, pid=26144, ppid=1553, asprocess=0
[2021-03-15 17:36:37.323][Trace][26144][5xfqp5be] write pid=26144 to ./objs/srs.pid success!
[2021-03-15 17:36:37.324][Trace][26144][5xfqp5be] RTMP listen at tcp://0.0.0.0:1935, fd=7
[2021-03-15 17:36:37.324][Trace][26144][5xfqp5be] HTTP-API listen at tcp://0.0.0.0:1985, fd=8
[2021-03-15 17:36:37.324][Trace][26144][5xfqp5be] HTTP-Server listen at tcp://0.0.0.0:8080, fd=9
[2021-03-15 17:36:37.325][Trace][26144][5xfqp5be] UDP #10 LISTEN at 0.0.0.0:5060, SO_SNDBUF(default=212992, expect=10485760, actual=425984, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=425984, r0=0)
[2021-03-15 17:36:37.325][Trace][26144][5xfqp5be] GB28181-SIP over UDP listen at udp://0.0.0.0:5060, fd=10
[2021-03-15 17:36:37.325][Trace][26144][5xfqp5be] UDP #11 LISTEN at 0.0.0.0:9000, SO_SNDBUF(default=212992, expect=10485760, actual=425984, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=425984, r0=0)
[2021-03-15 17:36:37.325][Trace][26144][5xfqp5be] GB28181-Stream over RTP listen at udp://0.0.0.0:9000, fd=11
[2021-03-15 17:36:37.325][Trace][26144][5xfqp5be] signal installed, reload=1, reopen=10, fast_quit=15, grace_quit=3
[2021-03-15 17:36:37.326][Trace][26144][5xfqp5be] http: api mount /console to ./objs/nginx/html/console
[2021-03-15 17:36:37.326][Trace][26144][5xfqp5be] rtc listen at udp://0.0.0.0:8000, fd=12
[2021-03-15 17:36:37.326][Trace][26144][5xfqp5be] Hybrid cpu=0.00%,0MB
[2021-03-15 17:36:37.326][Trace][26144][005946v6] GB28181: connection manager run, conns=0
[2021-03-15 17:36:37.326][Trace][26144][04h6j6fl] TCP: connection manager run, conns=0
[2021-03-15 17:36:37.326][Trace][26144][736010r3] UDP #12 LISTEN at 0.0.0.0:8000, SO_SNDBUF(default=212992, expect=10485760, actual=425984, r0=0), SO_RCVBUF(default=212992, expect=10485760, actual=425984, r0=0)
[2021-03-15 17:36:37.326][Trace][26144][20k5657q] RTC: connection manager run, conns=0
[2021-03-15 17:36:41.354][Trace][26144][5xfqp5be] sip: unkonw message head Priv-Version: content=100
[2021-03-15 17:36:41.354][Trace][26144][5xfqp5be] sip: unkonw message head Priv-EventCap: content=2
[2021-03-15 17:36:41.355][Trace][26144][5xfqp5be] gb28181: request client id=34020000001320000008 peer(172.16.1.99, 5160)
[2021-03-15 17:36:41.355][Trace][26144][5xfqp5be] gb28181: request method=REGISTER, uri=sip:[email protected]:5060, version=SIP/2.0 expires=60
[2021-03-15 17:36:41.713][Trace][26144][5xfqp5be] sip: unkonw message head Priv-Version: content=100
[2021-03-15 17:36:41.713][Trace][26144][5xfqp5be] sip: unkonw message head Priv-EventCap: content=2
[2021-03-15 17:36:41.713][Trace][26144][5xfqp5be] gb28181: request client id=34020000001320000008 peer(172.16.1.99, 5160)
[2021-03-15 17:36:41.713][Trace][26144][5xfqp5be] gb28181: request method=REGISTER, uri=sip:[email protected]:5060, version=SIP/2.0 expires=0
[2021-03-15 17:36:42.063][Trace][26144][5xfqp5be] sip: unkonw message head Priv-Version: content=100
[2021-03-15 17:36:42.063][Trace][26144][5xfqp5be] sip: unkonw message head Priv-EventCap: content=2
[2021-03-15 17:36:42.063][Trace][26144][5xfqp5be] gb28181: request client id=34020000001320000008 peer(172.16.1.99, 5160)
[2021-03-15 17:36:42.063][Trace][26144][5xfqp5be] gb28181: request method=REGISTER, uri=sip:[email protected]:5060, version=SIP/2.0 expires=60
[2021-03-15 17:36:42.515][Trace][26144][n4m39904] gb28181: sip session=34020000001320000008 peer(172.16.1.99, 5160) status(RegisterOk,AliveOk) duration(0,0)
[2021-03-15 17:36:42.546][Trace][26144][5xfqp5be] sip: unkonw message head Route: content=<sip:[email protected]:5060>;tag=SrsGbF38745380
[2021-03-15 17:36:59.319][Trace][26144][5xfqp5be] Hybrid cpu=0.00%,10MB, cid=1,1, timer=14,0,0, clock=0,2,1,1,1,1,2,1,2
[2021-03-15 17:37:04.624][Trace][26144][5xfqp5be] Hybrid cpu=0.33%,10MB, cid=1,1, timer=14,0,0, clock=0,2,1,1,1,1,2,1,2
[2021-03-15 17:37:12.479][Trace][26144][n4m39904] gb28181: sip session=34020000001320000008 peer(172.16.1.99, 5160) status(RegisterOk,AliveOk) duration(30,0)
[2021-03-15 17:37:12.509][Trace][26144][5xfqp5be] sip: unkonw message head Route: content=<sip:[email protected]:5060>;tag=SrsGbF37681769
[2021-03-15 17:37:19.753][Trace][26144][5xfqp5be] Hybrid cpu=0.27%,10MB, cid=1,0, timer=27,0,0, clock=0,13,3,1,1,1,2,1,1
[2021-03-15 17:37:22.529][Trace][26144][5xfqp5be] sip: unkonw message head Priv-Version: content=100
[2021-03-15 17:37:22.529][Trace][26144][5xfqp5be] sip: unkonw message head Priv-EventCap: content=2
[2021-03-15 17:37:22.529][Trace][26144][5xfqp5be] gb28181: request client id=34020000001320000008 peer(172.16.1.99, 5160)
[2021-03-15 17:37:22.529][Trace][26144][5xfqp5be] gb28181: request method=REGISTER, uri=sip:[email protected]:5060, version=SIP/2.0 expires=60

  1. SRS的配置如下(Config):
[root@centos7 trunk]# cat conf/push.gb28181.conf
# push gb28181 stream to SRS.

listen                  1935;
max_connections         1000;
daemon              off;
srs_log_tank        console;

http_api {
    enabled         on;
    listen          1985;
}

http_server {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;

    # 转发流到rtmp服务器地址与端口
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
    # [stream] is VideoChannelCodecID(视频通道编码ID) for sip
    # 自动创建的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
    # [ssrc] rtp中的ssrc
    output              rtmp://172.16.1.12:1935/live/[stream];
    
    # 接收设备端rtp流的多路复用端口
    listen              9000;
    # 多路复用端口类型,on为tcp,off为udp
    # 默认:off
    tcp_enable            off;

    # rtp接收监听端口范围,最小值
    rtp_port_min        58200;
    # rtp接收监听端口范围,最大值
    rtp_port_max        58300;

    # 是否等待关键帧之后,再转发,
    # off:不需等待,直接转发
    # on:等第一个关键帧后,再转发
    wait_keyframe       on;
    
    # rtp包空闲等待时间,如果指定时间没有收到任何包
    # rtp监听连接自动停止,发送BYE命令
    rtp_idle_timeout    30;

    # 是否转发音频流
    # 目前只支持aac格式,所以需要设备支持aac格式
    # on:转发音频
    # off:不转发音频,只有视频
    # *注意*!!!:flv 只支持11025  22050  44100 三种
    # 如果设备端没有三种中任何一个,转发时为自动选择一种格式
    # 同时也会将adts的头封装在flv aac raw数据中
    # 这样的话播放器为自动通过adts头自动选择采样频率
    # 像ffplay, vlc都可以,但是flash是没有声音,
    # 因为flash,只支持11025 22050 44100
    audio_enable        off;

    # 是否开启rtp缓冲
    # 开启之后能有效解决rtp乱序等问题
    jitterbuffer_enable  on;

    # 服务器主机号,可以域名或ip地址
    # 也就是设备端将媒体发送的地址,如果是服务器是内外网
    # 需要写外网地址,
    # 调用api创建stream session时返回ip地址也是host
    # $CANDIDATE 是系统环境变量,从环境变量获取地址,如果没有配置,用*
    # *代表指定stats network 的网卡号地址,如果没有配置network,默认则是第0号网卡地址
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
    host       172.16.1.12;

    #根据收到ps rtp包自带创建rtmp媒体通道,不需要api接口创建
    #rtmp地址参数[stream] 就是通道id  格式chid[ssrc]
    auto_create_channel   on;

    sip {
        # 是否启用srs内部sip信令
        # 为on信令走srs, off 只转发ps流
        enabled on;
        
        # sip监听udp端口
        listen              5060;
        
        # SIP server ID(SIP服务器ID).
        # 设备端配置编号需要与该值一致,否则无法注册
        serial              34020000002000000001;

        # SIP server domain(SIP服务器域)
        realm               3402000000;

        # 服务端发送ack后,接收回应的超时时间,单位为秒
        # 如果指定时间没有回应,认为失败
        ack_timeout         30;

        # 设备心跳维持时间,如果指定时间内(秒)没有接收一个心跳
        # 认为设备离线
        keepalive_timeout   120;

        # 注册之后是否自动给设备端发送invite
        # on: 是  off 不是,需要通过api控制
        auto_play           on;
        # 设备将流发送的端口,是否固定
        # on 发送流到多路复用端口 如9000
        # off 自动从rtp_mix_port - rtp_max_port 之间的值中
        # 选一个可以用的端口
        invite_port_fixed     on;

        # 向设备或下级域查询设备列表的间隔,单位(秒)
        # 默认60秒
        query_catalog_interval  30;
    }
}

rtc_server {
    enabled         on;
    # Listen at udp://8000
    listen          8000;
    #
    # The $CANDIDATE means fetch from env, if not configed, use * as default.
    #
    # The * means retrieving server IP automatically, from all network interfaces,
    # @see https://github.com/ossrs/srs/issues/307#issuecomment-599028124
    candidate       $CANDIDATE;
}

vhost __defaultVhost__ {
    rtc {
        enabled     on;
        bframe      discard;
    }

    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
}

重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. 启动srs
  2. 启动摄像头

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)
能够正常接入摄像头,并可观看rtmp流

接收第三方国标设备视频流出现 unkonw ps data 0XXX 无法播放的处理

描述(Description)
接收第三方国标设备视频流出现 unkonw ps data 0XXX 的处理
排查发现是设备RTP包有extension拓展时,解析RTP包没有跳过导致
源码修改解决
srs_app_gb28181.cpp ---75--85行

sequence_number = stream->read_2bytes();
timestamp = stream->read_4bytes();
ssrc = stream->read_4bytes();

 // jump header extension  RFC3550 RTP Header Extension
if(extension){
    int16_t iexid = stream->read_2bytes();
    int16_t iexlen = stream->read_2bytes();

    while(iexlen--){
        stream->read_4bytes();
    }
}

// TODO: FIXME: check sequence number.

期望行为(Expect)
小白就不提交PR了,作者可以考虑更稳妥的做法

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.