rtmp

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2025 License: MIT Imports: 27 Imported by: 0

Documentation

Overview

Package rtmp is a generated GoMock package.

Index

Constants

View Source
const FlvTimestampMax = 0xFFFFFF

Variables

View Source
var (
	AMFMapOnStatusPublishStart = flvio.AMFMap{
		"level":       "status",
		"code":        "NetStream.Publish.Start",
		"description": "Start publishing",
	}
	AMFMapOnStatusPublishBadName = flvio.AMFMap{
		"level":       "status",
		"code":        "NetStream.Publish.BadName",
		"description": "Failed publishing",
	}
	AMFMapOnStatusPublishStreamDuplicated = flvio.AMFMap{
		"level":       "status",
		"code":        "NetStream.Publish.StreamDuplicated",
		"description": "Stream duplicated",
	}
)
View Source
var CodecTypes = flv.CodecTypes
View Source
var Debug bool
View Source
var DefaultOptions = NewOptions()

Functions

func ParseURLDetail

func ParseURLDetail(uri string) (u *url.URL, host, app, streamID string, err error)

func SplitPath

func SplitPath(u *url.URL) (app, stream string)

Types

type Conn

type Conn interface {
	av.MuxCloser
	av.Demuxer

	ReadConnect() error
	RemoteAddr() string
	Info() common.Info

	HandshakeClient() error
	ConnectPublish() error // 执行connect命令和publish命令
	ConnectPlay() error    // 执行connect命令和play命令

	OnStatus(msg flvio.AMFMap) error
	HandshakeServer() error
	VideoResolution() (width uint32, height uint32)
	ProtoType() string
}

Conn 包装了rtmp协议的基础接口

func Dial

func Dial(host string, opt ...Option) (conn Conn, err error)

func NewConn

func NewConn(netconn net.Conn, opt ...Option) Conn

type Debuger

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

Debuger debug对象,记录任务的debug信息

func NewDebuger

func NewDebuger(taskID string) *Debuger

NewDebuger 创建debuger

func (*Debuger) Debug

func (t *Debuger) Debug(format string, args ...interface{})

Debug 写入debug信息

func (*Debuger) Enabled

func (t *Debuger) Enabled() bool

Enabled debug开关是否打开

func (*Debuger) StartDebug

func (t *Debuger) StartDebug(debugFileName string, debugDuration int64) bool

StartDebug 开启debug功能, 需要设定输出文件和debug时长, 如果已经在debug模式则忽略本次调用

func (*Debuger) StopDebug

func (t *Debuger) StopDebug()

StopDebug 停止debug

type Hook

type Hook interface {
	OnPlayOrPublish(info common.Info) error
}

type MockConn

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

MockConn is a mock of Conn interface.

func NewMockConn

func NewMockConn(ctrl *gomock.Controller) *MockConn

NewMockConn creates a new mock instance.

func (*MockConn) Close

func (m *MockConn) Close() error

Close mocks base method.

func (*MockConn) ConnectPlay

func (m *MockConn) ConnectPlay() error

ConnectPlay mocks base method.

func (*MockConn) ConnectPublish

func (m *MockConn) ConnectPublish() error

ConnectPublish mocks base method.

func (*MockConn) EXPECT

func (m *MockConn) EXPECT() *MockConnMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockConn) HandshakeClient

func (m *MockConn) HandshakeClient() error

HandshakeClient mocks base method.

func (*MockConn) HandshakeServer

func (m *MockConn) HandshakeServer() error

HandshakeServer mocks base method.

func (*MockConn) Headers

func (m *MockConn) Headers() ([]av.CodecData, error)

Headers mocks base method.

func (*MockConn) Info

func (m *MockConn) Info() common.Info

Info mocks base method.

func (*MockConn) OnStatus

func (m *MockConn) OnStatus(msg flvio.AMFMap) error

OnStatus mocks base method.

func (*MockConn) ReadConnect

func (m *MockConn) ReadConnect() error

ReadConnect mocks base method.

func (*MockConn) ReadPacket

func (m *MockConn) ReadPacket() (av.Packet, error)

ReadPacket mocks base method.

func (*MockConn) RemoteAddr

func (m *MockConn) RemoteAddr() string

RemoteAddr mocks base method.

func (*MockConn) VideoResolution

func (m *MockConn) VideoResolution() (uint32, uint32)

VideoResolution mocks base method.

func (*MockConn) WriteHeader

func (m *MockConn) WriteHeader(arg0 []av.CodecData) error

WriteHeader mocks base method.

func (*MockConn) WritePacket

func (m *MockConn) WritePacket(arg0 av.Packet) error

WritePacket mocks base method.

func (*MockConn) WriteTrailer

func (m *MockConn) WriteTrailer() error

WriteTrailer mocks base method.

type MockConnMockRecorder

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

MockConnMockRecorder is the mock recorder for MockConn.

func (*MockConnMockRecorder) Close

func (mr *MockConnMockRecorder) Close() *gomock.Call

Close indicates an expected call of Close.

func (*MockConnMockRecorder) ConnectPlay

func (mr *MockConnMockRecorder) ConnectPlay() *gomock.Call

ConnectPlay indicates an expected call of ConnectPlay.

func (*MockConnMockRecorder) ConnectPublish

func (mr *MockConnMockRecorder) ConnectPublish() *gomock.Call

ConnectPublish indicates an expected call of ConnectPublish.

func (*MockConnMockRecorder) HandshakeClient

func (mr *MockConnMockRecorder) HandshakeClient() *gomock.Call

HandshakeClient indicates an expected call of HandshakeClient.

func (*MockConnMockRecorder) HandshakeServer

func (mr *MockConnMockRecorder) HandshakeServer() *gomock.Call

HandshakeServer indicates an expected call of HandshakeServer.

func (*MockConnMockRecorder) Headers

func (mr *MockConnMockRecorder) Headers() *gomock.Call

Headers indicates an expected call of Headers.

func (*MockConnMockRecorder) Info

func (mr *MockConnMockRecorder) Info() *gomock.Call

Info indicates an expected call of Info.

func (*MockConnMockRecorder) OnStatus

func (mr *MockConnMockRecorder) OnStatus(msg interface{}) *gomock.Call

OnStatus indicates an expected call of OnStatus.

func (*MockConnMockRecorder) ReadConnect

func (mr *MockConnMockRecorder) ReadConnect() *gomock.Call

ReadConnect indicates an expected call of ReadConnect.

func (*MockConnMockRecorder) ReadPacket

func (mr *MockConnMockRecorder) ReadPacket() *gomock.Call

ReadPacket indicates an expected call of ReadPacket.

func (*MockConnMockRecorder) RemoteAddr

func (mr *MockConnMockRecorder) RemoteAddr() *gomock.Call

RemoteAddr indicates an expected call of RemoteAddr.

func (*MockConnMockRecorder) VideoResolution

func (mr *MockConnMockRecorder) VideoResolution() *gomock.Call

VideoResolution indicates an expected call of VideoResolution.

func (*MockConnMockRecorder) WriteHeader

func (mr *MockConnMockRecorder) WriteHeader(arg0 interface{}) *gomock.Call

WriteHeader indicates an expected call of WriteHeader.

func (*MockConnMockRecorder) WritePacket

func (mr *MockConnMockRecorder) WritePacket(arg0 interface{}) *gomock.Call

WritePacket indicates an expected call of WritePacket.

func (*MockConnMockRecorder) WriteTrailer

func (mr *MockConnMockRecorder) WriteTrailer() *gomock.Call

WriteTrailer indicates an expected call of WriteTrailer.

type Option

type Option func(*Options)

rtmp连接的参数选项设置函数

func WithChunkSize

func WithChunkSize(size int) Option

WithChunkSize 设置rtmp的ChunkSize

func WithDialTimeout

func WithDialTimeout(dialTimeout time.Duration) Option

WithDialTimeout 建立连接的超时时间

func WithEnableDebug

func WithEnableDebug(enable bool) Option

WithEnableDebug 设置debug开关

func WithReadBufferSize

func WithReadBufferSize(size int) Option

WithReadBufferSize 设置rtmp连接读缓存的大小

func WithReadWriteTimeout

func WithReadWriteTimeout(timeout time.Duration) Option

WithReadWriteTimeout 设置rtmp连接的读超时时间

func WithRoleID

func WithRoleID(role string) Option

WithRoleID 设置RoleID

func WithServerHook

func WithServerHook(hook Hook) Option

WithServerHook 设置rtmp服务端的hook

func WithTcURL

func WithTcURL(u string) Option

WithTcURL 设置tcUrl

func WithVideoHeaderCheck

func WithVideoHeaderCheck(check bool) Option

WithVideoHeaderCheck 设置视频头部校验开关

func WithWriteBufferSize

func WithWriteBufferSize(size int) Option

WithWriteBufferSize 设置rtmp连接写缓存的大小

type Options

type Options struct {
	DialTimeout      time.Duration
	ReadWriteTimeout time.Duration
	ReadBufferSize   int // 单位: 字节
	WriteBufferSize  int // 单位: 字节
	ChunkSize        int // 单位:字节
	RoleID           string
	EnableDebug      bool
	IsServer         bool
	VideoHeaderCheck bool
	Hook             Hook
	TcURL            string
}

rtmp连接的参数选项

func NewOptions

func NewOptions() Options

NewOptions 创建rtmp连接选项

Jump to

Keyboard shortcuts

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