From cc9f737b92ad81283184d7b9bfa0eb0957084c99 Mon Sep 17 00:00:00 2001 From: hkmadao Date: Tue, 6 Jul 2021 12:10:26 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=81=E7=94=A8=E6=91=84=E5=83=8F=E5=A4=B4?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E5=BC=82=E5=B8=B8=E9=80=80=E5=87=BA=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + build.sh | 2 +- src/rtsp2rtmp/rtspclientmanager/rtspclientmanager.go | 8 ++++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 1f94965..7a0b706 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,6 @@ lastupdate.tmp resources/output/live/*.flv resources/output/log/*.log resources/output/releases +resources/output/demo .idea .vscode diff --git a/build.sh b/build.sh index e9602a7..05800a2 100644 --- a/build.sh +++ b/build.sh @@ -1,5 +1,6 @@ #!/bin/bash #./build.sh 0.0.1 +#vscode每次保存会将linux换行符替换为window换行符,如果此文件不能执行,请自行替换换行符 ver=$1 if [ -n "${ver}" ]; then echo package version "${ver}" @@ -21,7 +22,6 @@ for platform in $platforms; do else go build -o ./resources/output/releases/rtsp2rtmp_"${ver}"_"${GOOS}"_"${GOARCH}"/rtsp2rtmp main.go fi - go build -o ./resources/output/releases/rtsp2rtmp_"${ver}"_"${GOOS}"_"${GOARCH}"/rtsp2rtmp main.go mkdir -p ./resources/output/releases/rtsp2rtmp_"${ver}"_"${GOOS}"_"${GOARCH}"/resources/output/live mkdir -p ./resources/output/releases/rtsp2rtmp_"${ver}"_"${GOOS}"_"${GOARCH}"/resources/output/log diff --git a/src/rtsp2rtmp/rtspclientmanager/rtspclientmanager.go b/src/rtsp2rtmp/rtspclientmanager/rtspclientmanager.go index a0c7d04..26c44eb 100644 --- a/src/rtsp2rtmp/rtspclientmanager/rtspclientmanager.go +++ b/src/rtsp2rtmp/rtspclientmanager/rtspclientmanager.go @@ -7,7 +7,6 @@ import ( "github.com/beego/beego/v2/core/logs" "github.com/deepch/vdk/av" - "github.com/deepch/vdk/format/rtmp" "github.com/deepch/vdk/format/rtsp" "github.com/hkmadao/rtsp2rtmp/src/rtsp2rtmp/controllers" "github.com/hkmadao/rtsp2rtmp/src/rtsp2rtmp/models" @@ -50,10 +49,15 @@ func (rc *RtspClientManager) ExistsPublisher(code string) bool { } func (rs *RtspClientManager) stopConn(done <-chan interface{}, codeStream <-chan string) { + defer func() { + if r := recover(); r != nil { + logs.Error("system painc : %v \nstack : %v", r, string(debug.Stack())) + } + }() for code := range codeStream { v, b := rs.conns.Load(code) if b { - r := v.(*rtmp.Conn) + r := v.(*rtsp.Client) err := r.Close() if err != nil { logs.Error("camera [%s] close error : %v", code, err)