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 直播技术文档相关推荐

  1. iOS 直播技术及Demo

    要过年了,新年快乐,今天写一些关于iOS直播技术相关知识,及详细Demo介绍,首先请下载Demo Demo下载地址(点击跳转下载) 一.直播介绍 1.1.直播现状 近年来,直播越来越火,但直播技术却对 ...

  2. 从转载阿里开源项目 Egg.js 技术文档引发的“版权纠纷”,看宽松的 MIT 许可该如何用?

    作者 | 苏宓.彭慧中 出品 | CSDN(ID:CSDNnews) 开源迅速发展的这两年,很多内部问题逐渐凸显出来,如安全.版权.协议使用等. 近日,来自V2EX社区中一位开发者 @an168ban ...

  3. 市面售价2W的仿抖音短视频原生双端APP源码,带技术文档管理后台和数据库

    这个短视频系统源码是2w某站购买来的仿抖音视频app,原生双端开发,带技术文档管理后台和数据库.非常适合用来做类似项目的基础开发框架,能节省大量的开发时间和试错成本. 除了直播没有开通,其他功能都是精 ...

  4. 一个非常适合IT团队的在线API文档、技术文档工具

    独乐乐,不如众乐乐. 之前单独写过一篇文章<介绍几款常用的在线 API 管理工具>,今天又发现个不错的工具,推荐给大家. ShowDoc 每当接手一个别人开发好的模块或者项目,看着那些没有 ...

  5. android技术文档怎么写,技术文档编写指南

    技术文档编写指南 首先请阅读文案风格指南 ##学习产品使用方式 最重要的必备的条件就是: 一定要亲自使用这个产品,至少是一遍通顺的流程要走完,不要求每一个接口都一定使用过,但是一个完整的功能片段是使用 ...

  6. 在线API文档,技术文档工具源码ShowDoc

    介绍: ShowDoc是一个非常适合IT团队的在线API文档.技术文档工具. 通过showdoc,你可以方便地使用markdown语法来书写出美观的API文档.数据字典文档.技术文档.在线excel文 ...

  7. 看懂英文技术文档,每天只需要10分钟做这件事……

    程序员这个行业是很特殊的.之所以说特殊,就是因为它所有的技术大多来自欧美,所以最主流,最新鲜,最正确的技术文章都是英文,遗憾的是,大部分还没有译本. 有些译文还比较差.与其等待别人的翻译,不如直接阅读 ...

  8. 看懂英文技术文档,每天只需要10分钟做这件事…

    程序员这个行业是很特殊的.之所以说特殊,就是因为它所有的技术大多来自欧美,所以最主流,最新鲜,最正确的技术文章都是英文,遗憾的是,大部分还没有译本. 有些译文还比较差.与其等待别人的翻译,不如直接阅读 ...

  9. HTML5开发APP技术文档

    HTML5开发APP技术文档   一.环境参数 1.技术语言:HTML.CSS.ES6.Node.js等: 2.框架:Vue.js 2.x.Cordova: 3.开发系统:mac.windows等: ...

最新文章

  1. [c#]_ELVE_Message多功能用法
  2. 上海将打造“泛在化、融合化、智敏化”智慧城市
  3. 用python画四叶草代码-python—字符串拼接三种方法
  4. linux常用命令--diff
  5. Leet Code OJ 231. Power of Two [Difficulty: Easy]
  6. pacemaker+corosync实现集群管理
  7. C++不同数据类型的转换
  8. linux字符界面下安装鼠标,Linux下有趣的命令:安装oneko实现小猫追鼠标
  9. 《基于MFC的OpenGL编程》Part 18 Reading objects from the OBJ File Format
  10. asp.net 母版页使用详解--转
  11. LINUX下载并编译sqlite
  12. informix 如何下载
  13. eviews安装教程
  14. linux 编译cgal,Linux(Ubuntu)安装CGAL
  15. Java Word Tearing(字分裂)
  16. 微信小程序踩坑之wxml中有内容,但是页面上不显示
  17. 简单使用hbuildx把vue-cli项目打包,并使用electron转换成可执行的exe文件
  18. [置顶]R语言 ggplot2包
  19. Java Web应用开发——作业四
  20. 【解决】应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序。

热门文章

  1. 电脑黑客技术新手入门,自学黑客技术入门教程
  2. python电影推荐系统 github_GitHub - dawnsky2333/MovieRecommend: 一个电影推荐系统
  3. 数字人民币,摸着微信支付、支付宝过河
  4. P2051 [AHOI2009]中国象棋
  5. 基于STC89C52的土壤酸碱度采集并在LCD显示
  6. 使用VC2005编译真正的静态Qt程序-Qt中文论坛-夏威夷雪人
  7. 3D物体之间的引导线(LineRender方法)
  8. B.FRIENDit壁虎忍者RF600+MA003无线键盘鼠标套装 超薄静音键盘 无线鼠标键盘 台式笔记本电脑办公巧克力键盘黑色
  9. 阿斯利康英飞凡在华获批用于治疗广泛期小细胞肺癌;​君实生物与嘉晨西海成立合资公司 | 医药健闻...
  10. PHP数组函数基础知识