浅谈iOS端音视频直播(附demo)

十几年前音视频发展越来越迅速,随着最近几年5G的到来,音视频的应用已经涉及到医疗、教学、娱乐等方面。而本人做为一个iOS开发者,在最近一段时间稍微接触了一下,仅以此文记录所学。

demo

推拉流流程

采集 → 编码 → 封装 → 推流 → 服务器 → 拉流 → 解封装 → 解码 → 渲染

其实推流与拉流为互逆过程

采集

对于音频而言采集到的是PCM数据
对于视频而言采集到的一般都是YUV或RGB的数据

编码

PCM编码后一般变成了AAC格式的数据,当然也可能是MP3或其他格式
视频数据经过编码后,一般变成了H264或H265(11.0系统之后便支持了H265编码)的数据

封装

封装就是把音视频的数据生成一个音视频同步的文件,当然了还可以附带一些信息,比如字幕。
封装之后一般是flv格式的数据

推流

把封装好的数据推送到服务器

拉流、解封装、解码

和上面是逆过程

渲染

把音视频数据播放出来

demo

上述相关知识点某个点都可以展开详细说,所以就不放在本文里了,本文相当于一个目录。
下面是我之前在语雀写的文章,仅供参考,错误之处,请不啬指出

https://www.yuque.com/docs/share/d77df1cb-7d6d-43db-bcb3-4b49d4151f6b?# 《YUV》

https://www.yuque.com/docs/share/0953bbdb-856d-4b4a-9096-8bb830f56bfc?# 《H264》

https://www.yuque.com/docs/share/aa5486f4-153a-42c2-8a81-b70e9fccc0db?# 《初识FLV》

https://www.yuque.com/docs/share/b74fb92b-24d6-4039-8904-33f67badd842?# 《RTMP》

你可能感兴趣的:(浅谈iOS端音视频直播(附demo))