utils

package
v3.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 22, 2021 License: AGPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	UDPTransfer        int = 0
	TCPTransferActive  int = 1
	TCPTransferPassive int = 2
	LocalCache         int = 3

	StreamTypeH264 = 0x1b
	StreamTypeH265 = 0x24
	G711A          = 0x90 //PCMA
	G7221AUDIOTYPE = 0x92
	G7231AUDIOTYPE = 0x93
	G729AUDIOTYPE  = 0x99

	StreamIDVideo = 0xe0
	StreamIDAudio = 0xc0

	StartCodePS        = 0x000001ba
	StartCodeSYS       = 0x000001bb
	StartCodeMAP       = 0x000001bc
	StartCodeVideo     = 0x000001e0
	StartCodeAudio     = 0x000001c0
	HaiKangCode        = 0x000001bd
	MEPGProgramEndCode = 0x000001b9

	RTPHeaderLength    int = 12
	PSHeaderLength     int = 14
	SystemHeaderLength int = 18
	MAPHeaderLength    int = 24
	PESHeaderLength    int = 19
	RtpLoadLength      int = 1460
	PESLoadLength      int = 0xFFFF
	MAXFrameLen        int = 1024 * 1024 * 2
)
View Source
const MaxRtpDiff = 65000 //相邻两个包之间的最大差值

Variables

View Source
var (
	ErrNotFoundStartCode = errors.New("not found the need start code flag")
	ErrMarkerBit         = errors.New("marker bit value error")
	ErrFormatPack        = errors.New("not package standard")
	ErrParsePakcet       = errors.New("parse ps packet error")
)
View Source
var ErrEOF = errors.New("eof")

Functions

func DecodeGbk

func DecodeGbk(v interface{}, body []byte) error

func GbkToUtf8

func GbkToUtf8(s []byte) ([]byte, error)

func PrintStack

func PrintStack()

func RandNum16String

func RandNum16String(n int) string

func RandNumString

func RandNumString(n int) string

func RandString

func RandString(n int) string

func ToJSONString

func ToJSONString(v interface{}) string

func ToPrettyString

func ToPrettyString(v interface{}) string

Types

type DecPSPackage

type DecPSPackage struct {
	VideoStreamType uint32
	AudioStreamType uint32
	IOBuffer
	Payload []byte
	PTS     uint32
	DTS     uint32
	// contains filtered or unexported fields
}

https://github.com/videolan/vlc/blob/master/modules/demux/mpeg

func (*DecPSPackage) Read

func (dec *DecPSPackage) Read(ts uint32, pusher Pusher) error

func (*DecPSPackage) ReadPayload

func (dec *DecPSPackage) ReadPayload() (payload []byte, err error)

type IOBuffer

type IOBuffer struct {
	bytes.Buffer
}

func (*IOBuffer) ReadN

func (r *IOBuffer) ReadN(length int) ([]byte, error)

func (*IOBuffer) Skip

func (r *IOBuffer) Skip(n int) (err error)

func (*IOBuffer) Uint16

func (r *IOBuffer) Uint16() (uint16, error)

func (*IOBuffer) Uint32

func (r *IOBuffer) Uint32() (uint32, error)

type PriorityQueueRtp

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

func NewPqRtp

func NewPqRtp() *PriorityQueueRtp

func (*PriorityQueueRtp) Empty

func (p *PriorityQueueRtp) Empty()

func (*PriorityQueueRtp) Len

func (p *PriorityQueueRtp) Len() int

func (*PriorityQueueRtp) Pop

func (p *PriorityQueueRtp) Pop() (rtp.Packet, error)

func (*PriorityQueueRtp) Push

func (p *PriorityQueueRtp) Push(v rtp.Packet)

type Pusher

type Pusher interface {
	PushVideo(uint32, uint32, []byte)
	PushAudio(uint32, []byte)
}

Jump to

Keyboard shortcuts

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