From 693d41be871cb6c3e4f4524ab211919b2bcbc817 Mon Sep 17 00:00:00 2001 From: Sergey Krashevich Date: Tue, 28 Mar 2023 06:54:01 +0300 Subject: [PATCH] Add buffer size of 8M to RTSP output in ffmpeg and handle EOF error when accepting RTSP connection in rtsp.go --- cmd/ffmpeg/ffmpeg.go | 2 +- cmd/rtsp/rtsp.go | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/cmd/ffmpeg/ffmpeg.go b/cmd/ffmpeg/ffmpeg.go index cbd795ec..1e61122f 100644 --- a/cmd/ffmpeg/ffmpeg.go +++ b/cmd/ffmpeg/ffmpeg.go @@ -51,7 +51,7 @@ var defaults = map[string]string{ "rtsp/udp": "-fflags nobuffer -flags low_delay -timeout 5000000 -user_agent go2rtc/ffmpeg -i {input}", // output - "output": "-user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}", + "output": "-user_agent ffmpeg/go2rtc -rtsp_transport tcp -bufsize 8192k -f rtsp {output}", // `-preset superfast` - we can't use ultrafast because it doesn't support `-profile main -level 4.1` // `-tune zerolatency` - for minimal latency diff --git a/cmd/rtsp/rtsp.go b/cmd/rtsp/rtsp.go index e1c78bd6..4c66587b 100644 --- a/cmd/rtsp/rtsp.go +++ b/cmd/rtsp/rtsp.go @@ -1,6 +1,11 @@ package rtsp import ( + "io" + "net" + "net/url" + "strings" + "github.com/AlexxIT/go2rtc/cmd/app" "github.com/AlexxIT/go2rtc/cmd/streams" "github.com/AlexxIT/go2rtc/pkg/core" @@ -8,9 +13,6 @@ import ( "github.com/AlexxIT/go2rtc/pkg/rtsp" "github.com/AlexxIT/go2rtc/pkg/tcp" "github.com/rs/zerolog" - "net" - "net/url" - "strings" ) func Init() { @@ -211,7 +213,9 @@ func tcpHandler(conn *rtsp.Conn) { }) if err := conn.Accept(); err != nil { - log.Warn().Err(err).Caller().Send() + if err != io.EOF { + log.Warn().Err(err).Caller().Send() + } if closer != nil { closer() }