mirror of
https://github.com/Monibuca/plugin-webrtc.git
synced 2025-10-05 14:56:56 +08:00
转码需求
This commit is contained in:
17
main.go
17
main.go
@@ -3,9 +3,6 @@ package webrtc
|
|||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/pion/interceptor"
|
|
||||||
"github.com/pion/rtp"
|
|
||||||
"github.com/pion/rtp/codecs"
|
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net/http"
|
"net/http"
|
||||||
"regexp"
|
"regexp"
|
||||||
@@ -14,6 +11,10 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
|
|
||||||
|
"github.com/pion/interceptor"
|
||||||
|
"github.com/pion/rtp"
|
||||||
|
"github.com/pion/rtp/codecs"
|
||||||
|
|
||||||
"github.com/Monibuca/engine/v3"
|
"github.com/Monibuca/engine/v3"
|
||||||
"github.com/Monibuca/plugin-webrtc/v3/webrtc"
|
"github.com/Monibuca/plugin-webrtc/v3/webrtc"
|
||||||
|
|
||||||
@@ -83,7 +84,7 @@ func (wl *WaitList) Get(k string) *WebRTC {
|
|||||||
return wl.m[k]
|
return wl.m[k]
|
||||||
}
|
}
|
||||||
func init() {
|
func init() {
|
||||||
pc:= engine.PluginConfig{
|
pc := engine.PluginConfig{
|
||||||
Config: &config,
|
Config: &config,
|
||||||
Name: "WebRTC",
|
Name: "WebRTC",
|
||||||
}
|
}
|
||||||
@@ -329,6 +330,13 @@ func run() {
|
|||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
if at == nil {
|
||||||
|
engine.TriggerHook(engine.HOOK_REQUEST_TRANSAUDIO, &engine.TransCodeReq{
|
||||||
|
Subscriber: &sub,
|
||||||
|
RequestCodec: "pcma",
|
||||||
|
})
|
||||||
|
at = sub.WaitAudioTrack("pcma")
|
||||||
|
}
|
||||||
if at != nil {
|
if at != nil {
|
||||||
var audioTrack *TrackLocalStaticSample
|
var audioTrack *TrackLocalStaticSample
|
||||||
audioMimeType := MimeTypePCMA
|
audioMimeType := MimeTypePCMA
|
||||||
@@ -353,7 +361,6 @@ func run() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if bytes, err := rtc.GetAnswer(); err == nil {
|
if bytes, err := rtc.GetAnswer(); err == nil {
|
||||||
w.Write(bytes)
|
w.Write(bytes)
|
||||||
rtc.OnConnectionStateChange(func(pcs PeerConnectionState) {
|
rtc.OnConnectionStateChange(func(pcs PeerConnectionState) {
|
||||||
|
Reference in New Issue
Block a user