rtmp

package
v0.0.0-...-587173a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 9, 2021 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SAVE_STATICS_INTERVAL = 5000
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

type GetInFo

type GetInFo interface {
	GetURL() string
}

type PackWriterCloser

type PackWriterCloser struct {
	// contains filtered or unexported fields
}

func (*PackWriterCloser) GetWriter

func (p *PackWriterCloser) GetWriter() av.WriteCloser

type Server

type Server struct {
	// contains filtered or unexported fields
}

func NewRtmpServer

func NewRtmpServer(h av.Handler) *Server

func (*Server) Serve

func (s *Server) Serve(ln net.Listener) (err error)

type StaticsBW

type StaticsBW struct {
	StreamId               uint32
	VideoDatainBytes       uint64
	LastVideoDatainBytes   uint64
	VideoSpeedInBytesperMS uint64

	AudioDatainBytes       uint64
	LastAudioDatainBytes   uint64
	AudioSpeedInBytesperMS uint64

	LastTimestamp int64
}

type Stream

type Stream struct {
	// contains filtered or unexported fields
}

func NewStream

func NewStream(info av.Info) *Stream

func (*Stream) AddReader

func (s *Stream) AddReader(r av.ReadCloser)

func (*Stream) AddWriter

func (s *Stream) AddWriter(w av.WriteCloser)

func (*Stream) CheckAlive

func (s *Stream) CheckAlive() (n int)

func (*Stream) Copy

func (s *Stream) Copy(dst *Stream)

func (*Stream) GetReader

func (s *Stream) GetReader() av.ReadCloser

func (*Stream) GetSinks

func (s *Stream) GetSinks() cmap.ConcurrentMap

func (*Stream) TransStart

func (s *Stream) TransStart()

func (*Stream) TransStop

func (s *Stream) TransStop()

type StreamManager

type StreamManager struct {
	// contains filtered or unexported fields
}

func NewStreamManager

func NewStreamManager() *StreamManager

func (*StreamManager) CheckAlive

func (sm *StreamManager) CheckAlive()

func (*StreamManager) GetStreams

func (sm *StreamManager) GetStreams() cmap.ConcurrentMap

func (*StreamManager) HandleReader

func (sm *StreamManager) HandleReader(r av.ReadCloser)

处理推流

func (*StreamManager) HandleWriter

func (sm *StreamManager) HandleWriter(w av.WriteCloser)

处理拉流

func (*StreamManager) MarshalJSON

func (sm *StreamManager) MarshalJSON() ([]byte, error)

type StreamReadWriteCloser

type StreamReadWriteCloser interface {
	GetInFo
	Close(error)
	Write(chunkstream.ChunkStream) error
	Read(c *chunkstream.ChunkStream) error
	Flush() error
}

type VirReader

type VirReader struct {
	av.RWBaser

	ReadBWInfo StaticsBW
	// contains filtered or unexported fields
}

func NewVirReader

func NewVirReader(conn StreamReadWriteCloser) *VirReader

func (*VirReader) Close

func (v *VirReader) Close(err error)

func (*VirReader) Info

func (v *VirReader) Info() (ret av.Info)

func (*VirReader) Read

func (v *VirReader) Read(p *av.Packet) (err error)

func (*VirReader) SaveStatics

func (v *VirReader) SaveStatics(streamid uint32, length uint64, isVideoFlag bool)

type VirWriter

type VirWriter struct {
	av.RWBaser

	WriteBWInfo StaticsBW
	// contains filtered or unexported fields
}

func NewVirWriter

func NewVirWriter(conn StreamReadWriteCloser) *VirWriter

func (*VirWriter) Check

func (v *VirWriter) Check()

func (*VirWriter) Close

func (v *VirWriter) Close(err error)

func (*VirWriter) DropPacket

func (v *VirWriter) DropPacket(pktQue chan *av.Packet, info av.Info)

func (*VirWriter) Info

func (v *VirWriter) Info() (ret av.Info)

func (*VirWriter) SaveStatics

func (v *VirWriter) SaveStatics(streamid uint32, length uint64, isVideoFlag bool)

func (*VirWriter) SendPacket

func (v *VirWriter) SendPacket() error

func (*VirWriter) Write

func (v *VirWriter) Write(p *av.Packet) (err error)

Directories

Path Synopsis
c

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL