Documentation
¶
Index ¶
Constants ¶
View Source
const ( ChannelVideo = iota // 视频通道 ChannelVideoControl // 视频控制通道 ChannelAudio // 音频通道 ChannelAudioControl // 音频控制通道 ChannelCount // 支持的 RTP 通道类型数量 ChannelMin = ChannelVideo // 支持的 RTP 通道类型最小值 )
预定义 RTP 通道类型
View Source
const ( // TransferPrefix RTP 包网络传输时的前缀 TransferPrefix = byte(0x24) // $ )
Variables ¶
View Source
var DefaultChannelConfig = []int{ ChannelVideo, ChannelVideoControl, ChannelAudio, ChannelAudioControl, }
DefaultChannelConfig 默认的通道配置
Functions ¶
Types ¶
type Demuxer ¶
type Demuxer struct {
// contains filtered or unexported fields
}
Demuxer 帧转换器
func NewDemuxer ¶
func NewDemuxer(video *codec.VideoMeta, audio *codec.AudioMeta, fw codec.FrameWriter, logger *xlog.Logger) (*Demuxer, error)
NewDemuxer 创建 rtp.Packet 解封装处理器。
func (*Demuxer) WriteRtpPacket ¶
WritePacket .
type Depacketizer ¶
type Depacketizer interface { Control(basePts *int64, p *Packet) error Depacketize(basePts int64, p *Packet) error }
Depacketizer 解包器
func NewAacDepacketizer ¶
func NewAacDepacketizer(meta *codec.AudioMeta, w codec.FrameWriter) Depacketizer
NewAacDepacketizer 实例化 AAC 解包器
func NewH264Depacketizer ¶
func NewH264Depacketizer(meta *codec.VideoMeta, w codec.FrameWriter) Depacketizer
NewH264Depacketizer 实例化 H264 帧提取器
func NewH265Depacketizer ¶ added in v1.1.0
func NewH265Depacketizer(meta *codec.VideoMeta, w codec.FrameWriter) Depacketizer
NewH265Depacketizer 实例化 H265 帧提取器
type Packet ¶
type Packet struct { Channel byte // 通道 Data []byte // 数据 rtp.Header // Video 、Audio Channel'Header }
Packet RTP 数据包
func ReadPacket ¶
ReadPacket 根据规范从 r 中读取 rtp 包. channelConfig 提供通道类型所在通道的配置信息
type PacketWriter ¶
PacketWriter 包装 WritePacket 方法的接口
type SyncClock ¶
type SyncClock struct { // NTP Timestamp(Network time protocol)SR包发送时的绝对时间值。 // NTP的作用是同步不同的RTP媒体流。 // NTP时间戳,它的前32位是从1900 年1 月1 日0 时开始到现在的以秒为单位的整数部, // 后32 位是此时间的小数部,因此,它可以肯定的表示了数据发送出去的绝对时间。 NTPTime int64 // 此处转换成自 January 1, year 1 以来的纳秒数 // RTP Timestamp:与NTP时间戳对应, // 与RTP数据包中的RTP时间戳具有相同的单位和随机初始值。 RTPTime uint32 RTPTimeUnit float64 // RTP时间单位,每个RTP时间的纳秒数 }
SyncClock .
Click to show internal directories.
Click to hide internal directories.