mirror of
https://github.com/hkmadao/rtsp2rtmp.git
synced 2026-04-22 23:17:08 +08:00
Merge branch 'develop'
This commit is contained in:
@@ -136,6 +136,7 @@ func (hfw *HttpFlvWriter) httpWrite() {
|
||||
func (hfw *HttpFlvWriter) changeNotBlockStream(pktStream <-chan av.Packet) <-chan av.Packet {
|
||||
notBlockStream := make(chan av.Packet, 1024)
|
||||
go func() {
|
||||
defer close(notBlockStream)
|
||||
for {
|
||||
select {
|
||||
case pkt, ok := <-pktStream:
|
||||
|
||||
@@ -162,10 +162,12 @@ func (rfw *RtmpFlvWriter) writerPacket(pkt av.Packet, templateTime *time.Time) e
|
||||
}
|
||||
var err error
|
||||
err = rfw.conn.WriteHeader(rfw.codecs)
|
||||
logs.Info("KeyFrame WriteHeader to rtmp server : %s, codesc: %v", rfw.code, rfw.codecs)
|
||||
if err != nil {
|
||||
logs.Error("writer header to rtmp server error : %v", err)
|
||||
return err
|
||||
}
|
||||
logs.Info("KeyFrame WriteHeader to rtmp server success : %s", rfw.code)
|
||||
err = rfw.conn.WritePacket(pkt)
|
||||
if err != nil {
|
||||
logs.Error("writer packet to rtmp server error : %v", err)
|
||||
|
||||
@@ -29,9 +29,9 @@ func NewRtspClient(connDone <-chan int, pktStream <-chan av.Packet, code string,
|
||||
pktStream: pktStream,
|
||||
code: code,
|
||||
codecs: codecs,
|
||||
ffmPktStream: make(chan av.Packet),
|
||||
hfmPktStream: make(chan av.Packet),
|
||||
rfmPktStream: make(chan av.Packet),
|
||||
ffmPktStream: make(chan av.Packet, 1024),
|
||||
hfmPktStream: make(chan av.Packet, 1024),
|
||||
rfmPktStream: make(chan av.Packet, 1024),
|
||||
ircm: ircm,
|
||||
}
|
||||
r.pktTransfer()
|
||||
@@ -55,9 +55,9 @@ func (r *RtspClient) pktTransfer() {
|
||||
|
||||
func tee(done <-chan int, in <-chan av.Packet) (<-chan av.Packet, <-chan av.Packet, <-chan av.Packet) {
|
||||
//设置缓冲,调节前后速率
|
||||
out1 := make(chan av.Packet, 50)
|
||||
out2 := make(chan av.Packet, 50)
|
||||
out3 := make(chan av.Packet, 50)
|
||||
out1 := make(chan av.Packet, 1024)
|
||||
out2 := make(chan av.Packet, 1024)
|
||||
out3 := make(chan av.Packet, 1024)
|
||||
go func() {
|
||||
defer close(out1)
|
||||
defer close(out2)
|
||||
|
||||
@@ -96,12 +96,14 @@ func (s *RtspClientManager) serveStreams() {
|
||||
|
||||
func (s *RtspClientManager) connRtsp(code string) {
|
||||
defer func() {
|
||||
s.rcs.Delete(code)
|
||||
s.conns.Delete(code)
|
||||
if r := recover(); r != nil {
|
||||
logs.Error("system painc : %v \nstack : %v", r, string(debug.Stack()))
|
||||
}
|
||||
}()
|
||||
defer func() {
|
||||
s.rcs.Delete(code)
|
||||
s.conns.Delete(code)
|
||||
}()
|
||||
//放置信息表示已经开始
|
||||
s.rcs.Store(code, struct{}{})
|
||||
q := models.Camera{Code: code}
|
||||
|
||||
Reference in New Issue
Block a user