From 5526f1e44cab2fa82f7e041a59a29c00aad2f5b3 Mon Sep 17 00:00:00 2001 From: dexter <178529795@qq.com> Date: Tue, 21 Feb 2023 08:20:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DpayloadType=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- batcher.go | 4 ++-- main.go | 14 +++++--------- publisher.go | 4 ++-- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/batcher.go b/batcher.go index 8f008aa..880c00a 100644 --- a/batcher.go +++ b/batcher.go @@ -80,7 +80,7 @@ func (suber *WebRTCBatcher) Start() (err error) { } } else { go func() { - ticker := time.NewTicker(time.Millisecond * webrtcConfig.PLI) + ticker := time.NewTicker(webrtcConfig.PLI) for { select { case <-ticker.C: @@ -92,7 +92,7 @@ func (suber *WebRTCBatcher) Start() (err error) { } } }() - puber.VideoTrack = NewH264(puber.Stream) + puber.VideoTrack = NewH264(puber.Stream, byte(codec.PayloadType)) for { b := make([]byte, 1460) if i, _, err := track.Read(b); err == nil { diff --git a/main.go b/main.go index e627d98..e8aeb9e 100644 --- a/main.go +++ b/main.go @@ -55,10 +55,10 @@ type WebRTCConfig struct { PortMin uint16 PortMax uint16 - InvitePortFixed bool - IceUdpMux int + InvitePortFixed bool `default:"true"` // 设备将流发送的端口,是否固定 on 发送流到多路复用端口 如9000 off 自动从 mix_port - max_port 之间的值中 选一个可以用的端口 + IceUdpMux int `default:"9000"` // 接收设备端rtp流的多路复用端口 - PLI time.Duration + PLI time.Duration `default:"2s"` // 视频流丢包后,发送PLI请求 m MediaEngine s SettingEngine api *API @@ -168,13 +168,9 @@ func (conf *WebRTCConfig) Push_(w http.ResponseWriter, r *http.Request) { } } -var webrtcConfig = &WebRTCConfig{ - InvitePortFixed: true, // 设备将流发送的端口,是否固定 on 发送流到多路复用端口 如9000 off 自动从 mix_port - max_port 之间的值中 选一个可以用的端口 - IceUdpMux: 9000, // 接收设备端rtp流的多路复用端口 - PLI: time.Second * 2, -} +var webrtcConfig WebRTCConfig -var WebRTCPlugin = engine.InstallPlugin(webrtcConfig) +var WebRTCPlugin = engine.InstallPlugin(&webrtcConfig) func (conf *WebRTCConfig) Batch(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/sdp") diff --git a/publisher.go b/publisher.go index d8ea90b..1588c41 100644 --- a/publisher.go +++ b/publisher.go @@ -48,7 +48,7 @@ func (puber *WebRTCPublisher) OnEvent(event any) { } } else { go func() { - ticker := time.NewTicker(time.Millisecond * webrtcConfig.PLI) + ticker := time.NewTicker(webrtcConfig.PLI) for { select { case <-ticker.C: @@ -61,7 +61,7 @@ func (puber *WebRTCPublisher) OnEvent(event any) { } }() if puber.Equal(v) { - puber.VideoTrack = NewH264(puber.Stream) + puber.VideoTrack = NewH264(puber.Stream, byte(codec.PayloadType)) } for { b := make([]byte, 1460)