支持GB28181三种推流

This commit is contained in:
yangjiechina
2024-05-03 22:50:45 +08:00
parent 43fd14b219
commit b4487b95cb
38 changed files with 2634 additions and 362 deletions

28
gb28181/tcp_client.go Normal file
View File

@@ -0,0 +1,28 @@
package gb28181
import (
"fmt"
"github.com/yangjiechina/avformat/transport"
"github.com/yangjiechina/live-server/stream"
"net"
)
type TCPClient struct {
TCPServer
}
func NewTCPClient(listenPort uint16, remoteAddr *net.TCPAddr, source GBSource) (*TCPClient, error) {
client := &TCPClient{
TCPServer{filter: NewSingleFilter(source)},
}
tcp := transport.TCPClient{}
tcp.SetHandler(client)
addr, err := net.ResolveTCPAddr("tcp", fmt.Sprintf("%s:%d", stream.AppConfig.GB28181.Addr, listenPort))
if err != nil {
return client, err
}
err = tcp.Connect(addr, remoteAddr)
return client, err
}