Browse Source

去掉turn

v4
langhuihui 4 years ago
parent
commit
c93371ff1a
  1. 36
      main.go
  2. 14
      ui/dist/plugin-webrtc.common.js
  3. 2
      ui/dist/plugin-webrtc.common.js.map
  4. 14
      ui/dist/plugin-webrtc.umd.js
  5. 2
      ui/dist/plugin-webrtc.umd.js.map
  6. 2
      ui/dist/plugin-webrtc.umd.min.js
  7. 2
      ui/dist/plugin-webrtc.umd.min.js.map
  8. 2
      ui/src/components/Player.vue

36
main.go

@ -3,10 +3,7 @@ package webrtc
import (
"encoding/json"
"fmt"
"github.com/pion/turn/v2"
"io/ioutil"
"log"
"net"
"net/http"
"sync"
"time"
@ -22,7 +19,6 @@ import (
var config struct {
ICEServers []string
PublicIP string
ListenAddr string
}
// }{[]string{
@ -88,6 +84,7 @@ type WebRTC struct {
RemoteAddr string
videoTrack *Track
m MediaEngine
s SettingEngine
api *API
payloader avformat.H264
// codecs.H264Packet
@ -163,7 +160,8 @@ func (rtc *WebRTC) Publish(streamPath string) bool {
DefaultPayloadTypeH264,
new(avformat.H264)))
//m.RegisterCodec(NewRTPPCMUCodec(DefaultPayloadTypePCMU, 8000))
rtc.api = NewAPI(WithMediaEngine(rtc.m))
rtc.s.SetNAT1To1IPs([]string{config.PublicIP}, ICECandidateTypeHost)
rtc.api = NewAPI(WithMediaEngine(rtc.m), WithSettingEngine(rtc.s))
peerConnection, err := rtc.api.NewPeerConnection(Configuration{
ICEServers: []ICEServer{
{
@ -245,31 +243,6 @@ func (rtc *WebRTC) GetAnswer() ([]byte, error) {
}
func run() {
udpListener, err := net.ListenPacket("udp4", config.ListenAddr)
if err != nil {
log.Panicf("Failed to create TURN server listener: %s", err)
}
if _, err := turn.NewServer(turn.ServerConfig{
Realm: "monibuca",
// Set AuthHandler callback
// This is called everytime a user tries to authenticate with the TURN server
// Return the key for that user, or false when no user is found
AuthHandler: func(username string, realm string, srcAddr net.Addr) ([]byte, bool) {
return []byte("monibuca"), true
},
// PacketConnConfigs is a list of UDP Listeners and the configuration around them
PacketConnConfigs: []turn.PacketConnConfig{
{
PacketConn: udpListener,
RelayAddressGenerator: &turn.RelayAddressGeneratorStatic{
RelayAddress: net.ParseIP(config.PublicIP), // Claim that we are listening on IP passed by user (This should be your Public IP)
Address: "0.0.0.0", // But actually be listening on every interface
},
},
},
}); err != nil {
log.Fatal(err)
}
http.HandleFunc("/webrtc/play", func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Access-Control-Allow-Credentials", "true")
origin := r.Header["Origin"]
@ -310,7 +283,8 @@ func run() {
DefaultPayloadTypeH264,
&rtc.payloader))
//m.RegisterCodec(NewRTPPCMUCodec(DefaultPayloadTypePCMU, 8000))
rtc.api = NewAPI(WithMediaEngine(rtc.m))
rtc.s.SetNAT1To1IPs([]string{config.PublicIP}, ICECandidateTypeHost)
rtc.api = NewAPI(WithMediaEngine(rtc.m), WithSettingEngine(rtc.s))
peerConnection, err := rtc.api.NewPeerConnection(Configuration{
// ICEServers: []ICEServer{
// {

14
ui/dist/plugin-webrtc.common.js

@ -221,12 +221,12 @@ var staticRenderFns = []
// CONCATENATED MODULE: ./src/App.vue?vue&type=template&id=674ea55a&scoped=true&
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0b526416-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Player.vue?vue&type=template&id=7e3b881f&
var Playervue_type_template_id_7e3b881f_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',_vm._g(_vm._b({attrs:{"draggable":"","title":_vm.streamPath},on:{"on-ok":_vm.onClosePreview,"on-cancel":_vm.onClosePreview}},'Modal',_vm.$attrs,false),_vm.$listeners),[_c('video',{ref:"webrtc",attrs:{"width":"488","height":"275","autoplay":"","muted":"","controls":""},domProps:{"srcObject":_vm.stream,"muted":true}}),_c('div',{attrs:{"slot":"footer"},slot:"footer"},[(_vm.remoteSDP)?_c('mu-badge',[_c('a',{attrs:{"slot":"content","href":_vm.remoteSDPURL,"download":"remoteSDP.txt"},slot:"content"},[_vm._v("remoteSDP")])]):_vm._e(),(_vm.localSDP)?_c('mu-badge',[_c('a',{attrs:{"slot":"content","href":_vm.localSDPURL,"download":"localSDP.txt"},slot:"content"},[_vm._v("localSDP")])]):_vm._e()],1)])}
var Playervue_type_template_id_7e3b881f_staticRenderFns = []
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0b526416-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Player.vue?vue&type=template&id=30c7d0b2&
var Playervue_type_template_id_30c7d0b2_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',_vm._g(_vm._b({attrs:{"draggable":"","title":_vm.streamPath},on:{"on-ok":_vm.onClosePreview,"on-cancel":_vm.onClosePreview}},'Modal',_vm.$attrs,false),_vm.$listeners),[_c('video',{ref:"webrtc",attrs:{"width":"488","height":"275","autoplay":"","muted":"","controls":""},domProps:{"srcObject":_vm.stream,"muted":true}}),_c('div',{attrs:{"slot":"footer"},slot:"footer"},[(_vm.remoteSDP)?_c('mu-badge',[_c('a',{attrs:{"slot":"content","href":_vm.remoteSDPURL,"download":"remoteSDP.txt"},slot:"content"},[_vm._v("remoteSDP")])]):_vm._e(),(_vm.localSDP)?_c('mu-badge',[_c('a',{attrs:{"slot":"content","href":_vm.localSDPURL,"download":"localSDP.txt"},slot:"content"},[_vm._v("localSDP")])]):_vm._e()],1)])}
var Playervue_type_template_id_30c7d0b2_staticRenderFns = []
// CONCATENATED MODULE: ./src/components/Player.vue?vue&type=template&id=7e3b881f&
// CONCATENATED MODULE: ./src/components/Player.vue?vue&type=template&id=30c7d0b2&
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Player.vue?vue&type=script&lang=js&
//
@ -268,7 +268,7 @@ props:{
},
methods: {
async play(streamPath) {
pc = new RTCPeerConnection({iceServers:[{urls:"turn:"+this.PublicIP,username:"monibuca",credential:"test"}]});
pc = new RTCPeerConnection();
pc.addTransceiver('video',{
direction:'recvonly'
})
@ -427,8 +427,8 @@ function normalizeComponent (
var component = normalizeComponent(
components_Playervue_type_script_lang_js_,
Playervue_type_template_id_7e3b881f_render,
Playervue_type_template_id_7e3b881f_staticRenderFns,
Playervue_type_template_id_30c7d0b2_render,
Playervue_type_template_id_30c7d0b2_staticRenderFns,
false,
null,
null,

2
ui/dist/plugin-webrtc.common.js.map

File diff suppressed because one or more lines are too long

14
ui/dist/plugin-webrtc.umd.js

@ -230,12 +230,12 @@ var staticRenderFns = []
// CONCATENATED MODULE: ./src/App.vue?vue&type=template&id=674ea55a&scoped=true&
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0b526416-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Player.vue?vue&type=template&id=7e3b881f&
var Playervue_type_template_id_7e3b881f_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',_vm._g(_vm._b({attrs:{"draggable":"","title":_vm.streamPath},on:{"on-ok":_vm.onClosePreview,"on-cancel":_vm.onClosePreview}},'Modal',_vm.$attrs,false),_vm.$listeners),[_c('video',{ref:"webrtc",attrs:{"width":"488","height":"275","autoplay":"","muted":"","controls":""},domProps:{"srcObject":_vm.stream,"muted":true}}),_c('div',{attrs:{"slot":"footer"},slot:"footer"},[(_vm.remoteSDP)?_c('mu-badge',[_c('a',{attrs:{"slot":"content","href":_vm.remoteSDPURL,"download":"remoteSDP.txt"},slot:"content"},[_vm._v("remoteSDP")])]):_vm._e(),(_vm.localSDP)?_c('mu-badge',[_c('a',{attrs:{"slot":"content","href":_vm.localSDPURL,"download":"localSDP.txt"},slot:"content"},[_vm._v("localSDP")])]):_vm._e()],1)])}
var Playervue_type_template_id_7e3b881f_staticRenderFns = []
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0b526416-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Player.vue?vue&type=template&id=30c7d0b2&
var Playervue_type_template_id_30c7d0b2_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',_vm._g(_vm._b({attrs:{"draggable":"","title":_vm.streamPath},on:{"on-ok":_vm.onClosePreview,"on-cancel":_vm.onClosePreview}},'Modal',_vm.$attrs,false),_vm.$listeners),[_c('video',{ref:"webrtc",attrs:{"width":"488","height":"275","autoplay":"","muted":"","controls":""},domProps:{"srcObject":_vm.stream,"muted":true}}),_c('div',{attrs:{"slot":"footer"},slot:"footer"},[(_vm.remoteSDP)?_c('mu-badge',[_c('a',{attrs:{"slot":"content","href":_vm.remoteSDPURL,"download":"remoteSDP.txt"},slot:"content"},[_vm._v("remoteSDP")])]):_vm._e(),(_vm.localSDP)?_c('mu-badge',[_c('a',{attrs:{"slot":"content","href":_vm.localSDPURL,"download":"localSDP.txt"},slot:"content"},[_vm._v("localSDP")])]):_vm._e()],1)])}
var Playervue_type_template_id_30c7d0b2_staticRenderFns = []
// CONCATENATED MODULE: ./src/components/Player.vue?vue&type=template&id=7e3b881f&
// CONCATENATED MODULE: ./src/components/Player.vue?vue&type=template&id=30c7d0b2&
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Player.vue?vue&type=script&lang=js&
//
@ -277,7 +277,7 @@ props:{
},
methods: {
async play(streamPath) {
pc = new RTCPeerConnection({iceServers:[{urls:"turn:"+this.PublicIP,username:"monibuca",credential:"test"}]});
pc = new RTCPeerConnection();
pc.addTransceiver('video',{
direction:'recvonly'
})
@ -436,8 +436,8 @@ function normalizeComponent (
var component = normalizeComponent(
components_Playervue_type_script_lang_js_,
Playervue_type_template_id_7e3b881f_render,
Playervue_type_template_id_7e3b881f_staticRenderFns,
Playervue_type_template_id_30c7d0b2_render,
Playervue_type_template_id_30c7d0b2_staticRenderFns,
false,
null,
null,

2
ui/dist/plugin-webrtc.umd.js.map

File diff suppressed because one or more lines are too long

2
ui/dist/plugin-webrtc.umd.min.js

File diff suppressed because one or more lines are too long

2
ui/dist/plugin-webrtc.umd.min.js.map

File diff suppressed because one or more lines are too long

2
ui/src/components/Player.vue

@ -37,7 +37,7 @@ props:{
},
methods: {
async play(streamPath) {
pc = new RTCPeerConnection({iceServers:[{urls:"turn:"+this.PublicIP,username:"monibuca",credential:"test"}]});
pc = new RTCPeerConnection();
pc.addTransceiver('video',{
direction:'recvonly'
})

Loading…
Cancel
Save