# Functions
BuildMetadata spec-video_file_format_spec_v10.pdf onMetaData - duration DOUBLE, seconds - width DOUBLE - height DOUBLE - videodatarate DOUBLE - framerate DOUBLE - videocodecid DOUBLE - audiosamplerate DOUBLE - audiosamplesize DOUBLE - stereo BOOL - audiocodecid DOUBLE - filesize DOUBLE, bytes
目前包含的字段: - width - height - audiocodecid - videocodecid - version
@param width 如果为-1,则metadata中不写入该字段 @param height 如果为-1,则metadata中不写入该字段 @param audiocodecid 如果为-1,则metadata中不写入该字段
AAC 10
@param videocodecid 如果为-1,则metadata中不写入该字段
H264 7 H265 12
@return 返回的内存块为新申请的独立内存块.
Message2Chunks
@return 返回的内存块由内部申请,不依赖参数<message>内存块.
Message2ChunksV
@param message: 待打包的message支持放在多个字节切片中.
MetadataEnsureWithoutSdf
确保metadata中不包含@setDataFrame
@return 返回的内存块为内部独立申请.
MetadataEnsureWithSdf
确保metadata中包含@setDataFrame
@return 返回的内存块为内部独立申请.
NewClientSession @param t: session的类型,只能是推或者拉.
# Constants
end for both Object and Array.
publish、play、onStatus 以及 音视频数据.
收到客户端的publish或者play信令之前的类型状态.
# Variables
Amf0TypeMarkerObjectEndBytes Amf0TypeMarkerArrayEndBytes: object-end-type(0x00 0x00 0x09) 表示Object和EcmaArray类型的结束标识.
LocalChunkSize
本端(包括Server Session和Client Session)设置的chunk size,本端发送数据时切割chunk包时使用 (对端发送数据时的chunk size由对端决定,和本变量没有关系)
注意,这个值不应该设置的太小,原因有两方面: 1.
# Structs
ChunkComposer
读取chunk,并合并chunk,生成message返回给上层.
ClientSession rtmp 客户端类型连接的底层实现 package rtmp 的使用者应该优先使用基于 ClientSession 实现的 PushSession 和 PullSession.
MessagePacker 打包并发送 rtmp 信令.