Skip to content

Commit 12948df

Browse files
authored
Merge pull request #152 from EssGeeEich/master
Disable hls setting ignored, allow keyless rtmp, cleaner logs.
2 parents a254105 + 481d427 commit 12948df

File tree

6 files changed

+44
-10
lines changed

6 files changed

+44
-10
lines changed

Diff for: configure/liveconfig.go

+8
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ type Application struct {
2828
Appname string `mapstructure:"appname"`
2929
Live bool `mapstructure:"live"`
3030
Hls bool `mapstructure:"hls"`
31+
Flv bool `mapstructure:"flv"`
32+
Api bool `mapstructure:"api"`
3133
StaticPush []string `mapstructure:"static_push"`
3234
}
3335

@@ -40,7 +42,9 @@ type JWT struct {
4042
type ServerCfg struct {
4143
Level string `mapstructure:"level"`
4244
ConfigFile string `mapstructure:"config_file"`
45+
FLVArchive bool `mapstructure:"flv_archive"`
4346
FLVDir string `mapstructure:"flv_dir"`
47+
RTMPNoAuth bool `mapstructure:"rtmp_noauth"`
4448
RTMPAddr string `mapstructure:"rtmp_addr"`
4549
HTTPFLVAddr string `mapstructure:"httpflv_addr"`
4650
HLSAddr string `mapstructure:"hls_addr"`
@@ -58,6 +62,8 @@ type ServerCfg struct {
5862
// default config
5963
var defaultConf = ServerCfg{
6064
ConfigFile: "livego.yaml",
65+
FLVArchive: false,
66+
RTMPNoAuth: false,
6167
RTMPAddr: ":1935",
6268
HTTPFLVAddr: ":7001",
6369
HLSAddr: ":7002",
@@ -70,6 +76,8 @@ var defaultConf = ServerCfg{
7076
Appname: "live",
7177
Live: true,
7278
Hls: true,
79+
Flv: true,
80+
Api: true,
7381
StaticPush: nil,
7482
}},
7583
}

Diff for: livego.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22
# level: info
33

44
# # FLV Options
5+
# flv_archive: false
56
# flv_dir: "./tmp"
67
# httpflv_addr: ":7001"
78

89
# # RTMP Options
10+
# rtmp_noauth: false
911
# rtmp_addr: ":1935"
1012
# read_timeout: 10
1113
# write_timeout: 10
@@ -19,3 +21,5 @@ server:
1921
- appname: live
2022
live: true
2123
hls: true
24+
api: true
25+
flv: true

Diff for: main.go

+16-5
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,21 @@ func main() {
134134
version: %s
135135
`, VERSION)
136136

137-
stream := rtmp.NewRtmpStream()
138-
hlsServer := startHls()
139-
startHTTPFlv(stream)
140-
startAPI(stream)
137+
apps := configure.Applications{}
138+
configure.Config.UnmarshalKey("server", &apps)
139+
for _, app := range apps {
140+
stream := rtmp.NewRtmpStream()
141+
var hlsServer *hls.Server
142+
if app.Hls {
143+
hlsServer = startHls()
144+
}
145+
if app.Flv {
146+
startHTTPFlv(stream)
147+
}
148+
if app.Api {
149+
startAPI(stream)
150+
}
141151

142-
startRtmp(stream, hlsServer)
152+
startRtmp(stream, hlsServer)
153+
}
143154
}

Diff for: protocol/hls/source.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func NewSource(info av.Info) *Source {
5858
go func() {
5959
err := s.SendPacket()
6060
if err != nil {
61-
log.Warning("send packet error: ", err)
61+
log.Debug("send packet error: ", err)
6262
s.closed = true
6363
}
6464
}()

Diff for: protocol/httpflv/writer.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ func NewFLVWriter(app, title, url string, ctx http.ResponseWriter) *FLVWriter {
5454
go func() {
5555
err := ret.SendPacket()
5656
if err != nil {
57-
log.Error("SendPacket error: ", err)
57+
log.Debug("SendPacket error: ", err)
5858
ret.closed = true
5959
}
6060

Diff for: protocol/rtmp/rtmp.go

+14-3
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,16 @@ func (s *Server) handleConn(conn *core.Conn) error {
122122

123123
log.Debugf("handleConn: IsPublisher=%v", connServer.IsPublisher())
124124
if connServer.IsPublisher() {
125+
if configure.Config.GetBool("rtmp_noauth") {
126+
key, err := configure.RoomKeys.GetKey(name)
127+
if err != nil {
128+
err := fmt.Errorf("Cannot create key err=%s", err.Error())
129+
conn.Close()
130+
log.Error("GetKey err: ", err)
131+
return err
132+
}
133+
name = key
134+
}
125135
channel, err := configure.RoomKeys.GetChannel(name)
126136
if err != nil {
127137
err := fmt.Errorf("invalid key err=%s", err.Error())
@@ -143,9 +153,10 @@ func (s *Server) handleConn(conn *core.Conn) error {
143153
writer := s.getter.GetWriter(reader.Info())
144154
s.handler.HandleWriter(writer)
145155
}
146-
//FIXME: should flv should be configurable, not always on -gs
147-
flvWriter := new(flv.FlvDvr)
148-
s.handler.HandleWriter(flvWriter.GetWriter(reader.Info()))
156+
if configure.Config.GetBool("flv_archive") {
157+
flvWriter := new(flv.FlvDvr)
158+
s.handler.HandleWriter(flvWriter.GetWriter(reader.Info()))
159+
}
149160
} else {
150161
writer := NewVirWriter(connServer)
151162
log.Debugf("new player: %+v", writer.Info())

0 commit comments

Comments
 (0)