ossrs / srs-gb28181

GB28181 server based on SRS
https://ossrs.net
MIT License
83 stars 41 forks source link

平台上传,报段错误,程序崩溃 #56

Open goodcat111 opened 2 years ago

goodcat111 commented 2 years ago

描述你遇到了什么问题(Please description your issue here) SRS版本:5.0.26 仓库里面srs-gb28181下载编译的

  1. SRS的日志如下(Log): 常规运行无有效提示
  2. 用GDB运行有如下log [2022-06-20 12:53:51.804][Trace][105707][1yxl51e1] gb28181: respone method=INVITE, uri=34021000002000000001@3402100000, version=SIP/2.0 [2022-06-20 12:53:51.804][Trace][105707][1yxl51e1] gb28181: INVITE response 61058200002160000005 client status=400 [2022-06-20 12:53:51.823][Trace][105707][1yxl51e1] gb28181: request client id=61058200002160000007, peer(192.168.9.244, 5060) [2022-06-20 12:53:51.823][Trace][105707][1yxl51e1] gb28181: respone method=INVITE, uri=34021000002000000001@3402100000, version=SIP/2.0 [2022-06-20 12:53:51.823][Trace][105707][1yxl51e1] gb28181: INVITE response 61058200002160000007 client status=400 [2022-06-20 12:53:51.823][Trace][105707][1yxl51e1] gb28181: request client id=61058200001310000004, peer(192.168.9.244, 5060) [2022-06-20 12:53:51.823][Trace][105707][1yxl51e1] gb28181: respone method=INVITE, uri=34021000002000000001@3402100000, version=SIP/2.0 [2022-06-20 12:53:51.823][Trace][105707][1yxl51e1] gb28181: INVITE response 61058200001310000004 client status=400 [2022-06-20 12:53:51.823][Trace][105707][1yxl51e1] gb28181: request client id=61058200001310000003, peer(192.168.9.244, 5060) [2022-06-20 12:53:51.823][Trace][105707][1yxl51e1] gb28181: respone method=INVITE, uri=34021000002000000001@3402100000, version=SIP/2.0 [2022-06-20 12:53:51.824][Trace][105707][1yxl51e1] gb28181: INVITE response 61058200001310000003 client status=400 [2022-06-20 12:53:51.824][Trace][105707][1yxl51e1] gb28181: request client id=61058200002160000001, peer(192.168.9.244, 5060) [2022-06-20 12:53:51.824][Trace][105707][1yxl51e1] gb28181: respone method=INVITE, uri=34021000002000000001@3402100000, version=SIP/2.0 [2022-06-20 12:53:51.824][Trace][105707][1yxl51e1] gb28181: INVITE response 61058200002160000001 client status=400 [2022-06-20 12:53:51.837][Trace][105707][1yxl51e1] gb28181: request client id=61058200002160000003, peer(192.168.9.244, 5060) [2022-06-20 12:53:51.837][Trace][105707][1yxl51e1] gb28181: respone method=INVITE, uri=34021000002000000001@3402100000, version=SIP/2.0 [2022-06-20 12:53:51.837][Trace][105707][1yxl51e1] gb28181: INVITE response 61058200002160000003 client status=400 [2022-06-20 12:53:51.954][Trace][105707][1yxl51e1] gb28181: request client id=34021000002000000002 peer(192.168.9.251, 5060) [2022-06-20 12:53:51.954][Trace][105707][1yxl51e1] gb28181: request method=REGISTER, uri=sip:34021000002000000001@192.168.9.68:5060, version=SIP/2.0 expires=10 [2022-06-20 12:53:51.996][Trace][105707][n87b7233] 44B video sh, codec(7, profile=Main, level=3, 720x576, 0kbps, 0.0fps, 0.0s) [2022-06-20 12:53:52.257][Trace][105707][135461e0] gb28181: 34021000002000000002 clients device=61058200002160000008 send invite code=0 [2022-06-20 12:53:52.257][Trace][105707][135461e0] gb28181: sip session=34021000002000000002 register expire [2022-06-20 12:53:52.257][Trace][105707][135461e0] gb28181: client id=34021000002000000002 sip session is remove [2022-06-20 12:53:52.257][Trace][105707][135461e0] gb28181: sip client finished. [2022-06-20 12:53:52.790][Trace][105707][1yxl51e1] gb28181: request client id=61058200002160000006, peer(192.168.9.244, 5060) [2022-06-20 12:53:52.790][Trace][105707][1yxl51e1] gb28181: respone method=INVITE, uri=34021000002000000001@3402100000, version=SIP/2.0 [2022-06-20 12:53:52.790][Trace][105707][1yxl51e1] gb28181: INVITE response 61058200002160000006 client status=400

Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7ed03ca in std::cxx11::basic_string<char, std::char_traits, std::allocator >::compare(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const () from /lib/x86_64-linux-gnu/libstdc++.so.6

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

push gb28181 stream to SRS.

listen 1935; max_connections 1000; srs_log_tank console;

srs_log_level trace;

srs_log_tank file;

srs_log_file ./objs/srs.log;

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;

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;

host        192.168.9.68;

auto_create_channel   off;

sip {

    enabled on;

    listen              5060;

    serial              34021000002000000001;

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

    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.9.68; #这个换成 $CANDIDATE;也一样崩溃 }

vhost defaultVhost { rtc { enabled on; rtmp_to_rtc on;

bframe discard;

}

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

}

重现(Replay)

重现Bug的步骤(How to replay bug?) 单个海康摄像机,国标注册上来正常 用了一个我们开发的平台,国标级联到SRS,初期能读取列表,控制台显示有流。点开流黑屏。 过大概1分钟左右,平台的设备还没有都上来之前,就突然报 段错误

期望行为(Expect) 如何配置或修改能解决问题?

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