iOS 直播技术总结。

作者: Cocojiang | 来源:发表于2020-10-11 21:52 被阅读0次

本文仅仅盘点iOS端直播技术的搭建

话不多说先上图,让大家对直播技术有一个全局的认识。

手残 简单划了一下,如果有不对的地方请私信我,大概技术用到的就这么多 ,其他的也没有罗列出来,比如说聊天系统,礼物系统,总结一下,一个完整的直播 需要  采集->处理->编码->推流 - >拉流 - > 播放 细分的话 就更多了。接下来就让我为大家慢慢梳理这些知识吧!本篇最后有惊喜。

1采集

iOS上采集音视频主要用到AVFoundation这个框架。 对于这个框架详细的介绍请移步  这里,里面介绍的非常详细。一定要仔细看完。如果观众老爷不想看的话,我在这里简单的阐述下。

AVFoundation 的几个类

1 捕捉会话:AVCaptureSession

2捕捉设备:AVCaptureDevice

3捕捉输入设备:AVCaptureDeviceInput

4捕捉设备输出:AVCaptureOutPut

图片输出:AVCaptureStillImageOutPut 

视频输出:AVCaputureMovieFileOutput

音频数据输出 :AVCaputureAudioDataOutput

视频数据输出 :AVCaputureVideoDataOutput

5捕捉连接􏰄􏰅􏰕􏰖: AVCaptureConnection

􏰄􏰅􏰗􏰘􏰄􏰅􏰗􏰘6捕捉预览: AVCaptureVideoPreviewLayer

说了这么多类其实也很抽象,代码在这里,请自行阅读.

2.采集完的视频的处理

关于GPUImage 的介绍在这个章节里 ,欢迎观看 。 顺便提一句,GPUImage 也可以采集数据,另外GPUImage 只能处理滤镜上面的东西,如果你需要做到 大眼,瘦脸 的话,可能很麻烦,需要用到人脸识别 和算法,这里有一遍大眼的文章,欢迎大家阅读。 

3.音视频的编码与压缩。

这里有一个音视频编码和解码的demo 欢迎观看 顺便说下 这里是编码与解码(图片上,是国内知名女大神写的)

关于为什么要进行编码和解码,和编解码的注意事项在这里

4推流

这里着重介绍下这个RTMP

实时消息传输协议,Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的开  放协议,因为是开放协议所以都可以使用了。RTMP协议用于对象、视频、音频的传输。这个协议建立在TCP协议或者轮询HTTP协议之上。RTMP协议就像一个用来装数据包的容器,这些数据可以是FLV中的视音频数据。一个单一的连接可以通过不同的通道传输多路网络流,这些通道中的包都是按照固定大小的包传输的

对于推流,有一个很好 而且很全面的框架 包含了 采集,滤镜 ,编码 , 这就是大名顶顶的 LFLiveKit。在Github 上,请自行去下载观看,而且及其简单。 看到这里是不是有些观众老爷激动了,有这玩意你怎么不早说,😂。但是要全自定义,就要一步一步来搭建这个直播,这些流程还是要走的。 具体的代码欢迎大家补充,需要服务器做配合不方便写。

5.拉流

这个不想多说 ijkplayer,大厂小厂都在用。有大佬集成过的fameWork,网上有很多,请自行搜索。

直播是一个非常大的功能,说简单简单,说复杂复杂,说简单是因为我们站在巨人的肩膀上编程,说复杂是因为我们对他底部的那一套东西,原理,概念很陌生 。 写的不对的地方,欢迎提出来。还有推流那个地方 ,如果自行搭建的推流代码我没写 ,有大神 的话,帮忙补充下。(message 封装 trunk)

相关文章

  • iOS直播技术总结

    #直播总结 ##1.概述 关于直播的技术文章不少,成体系的不多。我们将用这篇文章,更系统化地介绍当下大热的视频直播...

  • iOS 直播技术总结。

    本文仅仅盘点iOS端直播技术的搭建 话不多说先上图,让大家对直播技术有一个全局的认识。 手残 简单划了一下,如果有...

  • iOS 视频直播资源收集

    iOS RTMP上推直播视频 HTTP Live Streaming直播(iOS直播)技术分析与实现 iOS开发之...

  • 2018-11-14

    iOS直播功能总结 - 简书

  • 直播(iOS直播)

    HTTP Live Streaming直播(iOS直播)技术分析与实现http://www.cocoachina....

  • 直播 (一) : 直播的技术分析与实现

    HTTP Live Streaming直播(iOS直播)技术分析与实现 HLS技术要点分析 1.采集视频源和音频源...

  • 使用Core Audio实现VoIP通用音频模块

    最近一直在做iOS音频技术相关的项目,由于单项直播SDK,互动直播SDK(iOS/Mac),短视频SDK,都会用到...

  • 使用Core Audio实现VoIP通用音频模块

    项目背景 最近一直在做iOS音频技术相关的项目,由于单项直播SDK,互动直播SDK(iOS/Mac),短视频SDK...

  • iOS 开发技术栈与进阶

    iOS开发技术栈及相应资料总结 iOS技术栈 这里按我的理解给 iOS 相关技术分个类,以工程实现的角度,分成了基...

  • iOS音视频数据采集之AVFoundation

    1、iOS直播技术的流程 从上图中我们能够看出直播技术的流程大致可以分为几个步骤:数据采集、图像处理(美颜、滤镜)...

网友评论

    本文标题:iOS 直播技术总结。

    本文链接:https://www.haomeiwen.com/subject/lanepktx.html