iOS 直播技术文档
iOS 直播
个人项目可以参考+lflivekit+ljkplayer
第三方推荐使用金山云
im推荐使用容云
网络层(socket或st)负责传输,协议层(rtmp或hls)负责网络打包,封装层(flv、ts)负责编解码数据的封装,编码层(h.264和aac)负责图像,音频压缩。
码率:图片进行压缩后每秒显示的数据量。
帧:每帧代表一幅静止的图像
GOP:(Group of Pictures)画面组,一个GOP就是一组连续的画面,每个画面都是一帧,一个GOP就是很多帧的集合
直播的数据,其实是一组图片,包括I帧、P帧、B帧,当用户第一次观看的时候,会寻找I帧,而播放器会到服务器寻找到最近的I帧反馈给用户。因此,GOP Cache增加了端到端延迟,因为它必须要拿到最近的I帧
GOP Cache的长度越长,画面质量越好
帧率:每秒显示的图片数。影响画面流畅度,与画面流畅度成正比:帧率越大,画面越流畅;帧率越小,画面越有跳动感。
由于人类眼睛的特殊生理结构,如果所看画面之帧率高于16的时候,就会认为是连贯的,此现象称之为视觉暂留。并且当帧速达到一定数值后,再增长的话,人眼也不容易察觉到有明显的流畅度提升了。
分辨率:(矩形)图片的长度和宽度,即图片的尺寸
压缩前的每秒数据量:帧率X分辨率(单位应该是若干个字节)
压缩比:压缩前的每秒数据量/码率 (对于同一个视频源并采用同一种视频编码算法,则:压缩比越高,画面质量越差。)
视频文件格式:文件的后缀,比如.wmv,.mov,.mp4,.mp3,.avi,
主要用处,根据文件格式,系统会自动判断用什么软件打开,
注意: 随意修改文件格式,对文件的本身不会造成太大的影响,比如把avi改成mp4,文件还是avi.
视频封装格式:一种储存视频信息的容器,流式封装可以有TS、FLV等,索引式的封装有MP4,MOV,AVI等,
主要作用:一个视频文件往往会包含图像和音频,还有一些配置信息(如图像和音频的关联,如何解码它们等):这些内容需要按照一定的规则组织、封装起来.
注意:会发现封装格式跟文件格式一样,因为一般视频文件格式的后缀名即采用相应的视频封装格式的名称,所以视频文件格式就是视频封装格式。
视频封装格式和视频压缩编码标准:就好像项目工程和编程语言,封装格式就是一个项目的工程,视频编码方式就是编程语言,一个项目工程可以用不同语言开发。
直播协议选择:
即时性要求较高或有互动需求的可以采用RTMP,RTSP
对于有回放或跨平台需求的,推荐使用HLS
直播的流程
一数据采集:摄像头,话筒
1.音视频采集 avfoundation
2.视频处理(美颜)gpuimage
3.音视频编码压缩 ffmpeg框架(音频压缩) x264 视频压缩
4,发送音视频封装flv,ts rtmp库可以把音视频大成包
二:服务器端(常用的流媒体服务器 sns,bms nginx)
1.数据分发
2.浅黄
3.截屏
4.录制视频
5.实时转码
三播放端流程
用到的框架
ljkplayer播放
ffmpeg视频解码
videotoolbox 视频硬解码
Audiotoolbox 音视频硬解码
1从flv,ts分离中音视频数据
2.音视频解码
3,播放
4,聊天互动
iOS 直播技术文档相关推荐
- iOS 直播技术及Demo
要过年了,新年快乐,今天写一些关于iOS直播技术相关知识,及详细Demo介绍,首先请下载Demo Demo下载地址(点击跳转下载) 一.直播介绍 1.1.直播现状 近年来,直播越来越火,但直播技术却对 ...
- 从转载阿里开源项目 Egg.js 技术文档引发的“版权纠纷”,看宽松的 MIT 许可该如何用?
作者 | 苏宓.彭慧中 出品 | CSDN(ID:CSDNnews) 开源迅速发展的这两年,很多内部问题逐渐凸显出来,如安全.版权.协议使用等. 近日,来自V2EX社区中一位开发者 @an168ban ...
- 市面售价2W的仿抖音短视频原生双端APP源码,带技术文档管理后台和数据库
这个短视频系统源码是2w某站购买来的仿抖音视频app,原生双端开发,带技术文档管理后台和数据库.非常适合用来做类似项目的基础开发框架,能节省大量的开发时间和试错成本. 除了直播没有开通,其他功能都是精 ...
- 一个非常适合IT团队的在线API文档、技术文档工具
独乐乐,不如众乐乐. 之前单独写过一篇文章<介绍几款常用的在线 API 管理工具>,今天又发现个不错的工具,推荐给大家. ShowDoc 每当接手一个别人开发好的模块或者项目,看着那些没有 ...
- android技术文档怎么写,技术文档编写指南
技术文档编写指南 首先请阅读文案风格指南 ##学习产品使用方式 最重要的必备的条件就是: 一定要亲自使用这个产品,至少是一遍通顺的流程要走完,不要求每一个接口都一定使用过,但是一个完整的功能片段是使用 ...
- 在线API文档,技术文档工具源码ShowDoc
介绍: ShowDoc是一个非常适合IT团队的在线API文档.技术文档工具. 通过showdoc,你可以方便地使用markdown语法来书写出美观的API文档.数据字典文档.技术文档.在线excel文 ...
- 看懂英文技术文档,每天只需要10分钟做这件事……
程序员这个行业是很特殊的.之所以说特殊,就是因为它所有的技术大多来自欧美,所以最主流,最新鲜,最正确的技术文章都是英文,遗憾的是,大部分还没有译本. 有些译文还比较差.与其等待别人的翻译,不如直接阅读 ...
- 看懂英文技术文档,每天只需要10分钟做这件事…
程序员这个行业是很特殊的.之所以说特殊,就是因为它所有的技术大多来自欧美,所以最主流,最新鲜,最正确的技术文章都是英文,遗憾的是,大部分还没有译本. 有些译文还比较差.与其等待别人的翻译,不如直接阅读 ...
- HTML5开发APP技术文档
HTML5开发APP技术文档 一.环境参数 1.技术语言:HTML.CSS.ES6.Node.js等: 2.框架:Vue.js 2.x.Cordova: 3.开发系统:mac.windows等: ...
最新文章
- CISCO路由器安全配置
- kettle 日志存到mysql_kettle作业(job)调用转换,设置变量,写日志到数据库中【转】...
- JSP指令与动作——include forward param
- PHP——访问网站根目录解决方案
- leedcode04:转换字符串的最少操作次数
- 不使用JavaScript实现菜单的打开和关闭
- c语言检查字符数组不为空,【C语言】检查输入是否为空,如为空,程序退出
- button执行onclick函数_【JavaScript】函数
- 前端宽度一至显示宽度不一致_便利店装修注意事项,你确定不看看?
- Mac OS 搭建phonegap开发环境
- nginx+php配置
- linux安装telnet工具下载,Linux下安装telnet的方法
- 扫描网络计算机mac地址,局域网MAC地址查询扫描器
- matplotlib常用图形
- 苹果怎样添加无线网络连接服务器,教你iphone8 icloud连接服务器时出错怎么办及苹果手机如何设置成指定名称的WiFi热点...
- 刷入Magisk/SuperSU实现ROOT
- IMDG中的陷阱和问题
- 2015.8.23——张佳莉
- 深入理解 padding
- 经验总结|一个移动端数据产品的设计思路