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)