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)