mirror of
https://github.com/Monibuca/plugin-rtsp.git
synced 2025-09-26 19:51:14 +08:00
feat: remove pull protocol config
This commit is contained in:
@@ -52,7 +52,6 @@ rtsp:
|
||||
rtcpaddr: :8001
|
||||
readbuffercount: 2048
|
||||
writebuffercount: 2048
|
||||
pullprotocol: tcp # auto, tcp, udp
|
||||
```
|
||||
:::tip Configuration override
|
||||
publish and subscribe, any section not configured will use global configuration.
|
||||
|
@@ -49,7 +49,6 @@ rtsp:
|
||||
rtcpaddr: :8001
|
||||
readbuffercount: 2048 # 读取缓存队列大小
|
||||
writebuffercount: 2048 # 写出缓存队列大小
|
||||
pullprotocol: tcp # auto, tcp, udp
|
||||
```
|
||||
:::tip 配置覆盖
|
||||
publish
|
||||
|
26
client.go
26
client.go
@@ -5,6 +5,7 @@ import (
|
||||
"net"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v3"
|
||||
"github.com/bluenviron/gortsplib/v3/pkg/base"
|
||||
"github.com/bluenviron/gortsplib/v3/pkg/url"
|
||||
"go.uber.org/zap"
|
||||
"m7s.live/engine/v4"
|
||||
@@ -33,15 +34,8 @@ func (p *RTSPPuller) Connect() error {
|
||||
ReadBufferCount: rtspConfig.ReadBufferCount,
|
||||
AnyPortEnable: true,
|
||||
}
|
||||
|
||||
switch rtspConfig.PullProtocol {
|
||||
case "tcp", "TCP":
|
||||
p.Transport = gortsplib.TransportTCP
|
||||
client.Transport = &p.Transport
|
||||
case "udp", "UDP":
|
||||
p.Transport = gortsplib.TransportUDP
|
||||
client.Transport = &p.Transport
|
||||
}
|
||||
// parse URL
|
||||
u, err := url.Parse(p.RemoteURL)
|
||||
if err != nil {
|
||||
@@ -58,31 +52,35 @@ func (p *RTSPPuller) Connect() error {
|
||||
|
||||
func (p *RTSPPuller) Pull() (err error) {
|
||||
u, _ := url.Parse(p.RemoteURL)
|
||||
if _, err = p.Options(u); err != nil {
|
||||
var res *base.Response
|
||||
if res, err = p.Options(u); err != nil {
|
||||
p.Error("Options", zap.Error(err))
|
||||
return
|
||||
}
|
||||
p.Debug("Options", zap.Any("res", res))
|
||||
// find published tracks
|
||||
tracks, baseURL, _, err := p.Describe(u)
|
||||
tracks, baseURL, res, err := p.Describe(u)
|
||||
if err != nil {
|
||||
p.Error("Describe", zap.Error(err))
|
||||
return
|
||||
return err
|
||||
}
|
||||
p.Debug("Describe", zap.Any("res", res))
|
||||
p.tracks = tracks
|
||||
err = p.SetTracks()
|
||||
if err != nil {
|
||||
p.Error("SetTracks", zap.Error(err))
|
||||
return
|
||||
return err
|
||||
}
|
||||
if err = p.SetupAll(tracks, baseURL); err != nil {
|
||||
p.Error("SetupAndPlay", zap.Error(err))
|
||||
return
|
||||
return err
|
||||
}
|
||||
p.OnPacketRTPAny(p.OnPacket)
|
||||
_, err = p.Play(nil)
|
||||
res, err = p.Play(nil)
|
||||
p.Debug("Play", zap.Any("res", res))
|
||||
if err != nil {
|
||||
p.Error("Play", zap.Error(err))
|
||||
return
|
||||
return err
|
||||
}
|
||||
return p.Wait()
|
||||
}
|
||||
|
Reference in New Issue
Block a user