读取MPEG-TS流,生成索引文件
目录
- 功能描述
- 相关api说明
- 流程描述
- 相关源码
- 结束
功能描述
- 读取mpeg-ts流,并将该传输流切分成为小的ts文件, 并对这些ts文件生成m3u8索引文件, 有了这些索引文件, 我们的传输流就可以支持hls协议, 在apple的各种平台上使用直播、点播服务了。
相关api说明
- void av_register_all(void);
注册所有的编码器、解码器、复用器、解复用器、协议处理器。
我们一半情况下在程序开始处调用该函数。 - AVInputFormat* av_find_input_format(const char* short_name);
根据输入名字(short_name)来查找最合适的输入流的格式。 - int avformat_open_input(AVFormatContext** ps, const char* filename, AVInputFormat* fmt, AVDictionary** options);
打开流, 并且读取流的header。
流必须使用avformat_close_input来关闭。
参数:
1) ps: 指向一个AVFormatContext的指针
2) filename: 打开流的名字
3) fmt: 输入流的格式,如果是NULL,自动发现。 - int avformat_find_stream_info(AVFormat* ic, AVDictionary** option