直播技术原理讲解

现如今App中接入直播功能越来越普遍,接入直播可通过各大厂的云直播平台接入SDK来实现,但是,需要接入直播功能的朋友,做之前还是需要了解直播的过程及原理。

直播App架构图:
推流端过程:

1.音视频采集
2.美颜滤镜处理
3.编码压缩
4.推流

服务器端过程:

1.实时转码
2.录制回放
3.自动鉴黄

拉流端过程:

1.拉流
2.解码
3.播放

功能所需技术:
1. 音视频采集

音频的采集过程主要通过麦克风等设备将环境中的模拟信号采集成 PCM 编码的原始数据,经过降噪、混音等处理后编码压缩成 MP3 等格式的数据分发出去。常见的音频压缩格式有:MP3,AAC,OGG,WMA,FLAC,APE,m4a 和 AMR 等。

视频的采集过程主要由摄像头等设备拍摄成 YUV 编码的原始数据,然后经过编码压缩成 H.264 等格式的数据分发出去。常见的视频封装格式有:MP4、3GP、AVI、MKV、WMV、MPG、VOB、FLV、SWF、MOV、RMVB 和 WebM 等。

2. 美颜滤镜

美颜滤镜依靠开源库GPUImage实现。
GPUImage:基于OpenGL图像和视频处理的跨平台框架。GPUImageFilter提供了各种各样的滤镜。
滤镜处理的原理:把静态图像或者视频的每一帧进行图片处理,通过像素点坐标和RGB颜色值变化实现。

3.编码

通常采用H264编码。
特点:高压缩、高质量,支持多种网络流媒体传输。
编码依据:
在相邻几帧图像中,有差别的像素只有10%以内的点,亮度差变化不超过2%,色度差的变化只有1%以内。
过程:
先编码一个完整图像帧I,P帧不编码全部图像,只编入与I帧的差别,这样P帧既能保存自己的信息,又只要原大小的1/10以内,同理以后的编码,就将一段图像压缩了。这段图像称为一个序列,表示有相同特点的一段数据。

H264协议定义了三种帧:完整编码的帧为I帧;参考前面的帧只包含差异部分编码的帧为P帧;参考前后帧编码的帧叫B帧。H264核心算法是帧内压缩和帧间压缩。生成I帧的算法用的帧内压缩,生成B、P帧算法用的帧间压缩。

4. 推流、拉流

推流就是将编码后的数据通过直播协议发送给流媒体服务器的过程。主流的推拉流协议有httpflv、rtmp、hls。
httpflv:
这种直播传输实际上就是利用的flv文件的特点,只需要一个matedata和音视频各自header,后面的音视频数据就可以随意按照时间戳传输,这种直播数据实际上就是一个无限大的http传输的flv文件,客户端利用flv特性,可以一边接受数据边解码播放。

rtmp:Real Time Messaging Protocol(实时消息传输协议):
rtmp是adobe研发的开放协议,rtmp其实实质上也是传输的flv格式的数据,同样是flv tag,只不过rtmp在传输上封装了一层,比如rtmp不仅可以直播,也可以推流。rtmp的直播原理同样也是利用了flv文件的特性,只需要一些头信息,后面就可以随意传输音视频数据,达到边传输边播放。

hls:
hls是苹果公司开发的协议,http轮询传输,该协议主要的数据格式是ts视频文件,大致就是将裸流h264和音频直播数据,切片封装成ts段,形成无数的ts小文件,客户端先请求一个m3u8文件,该文件内部会有一列ts文件的地址,客户端按照顺序依次播放ts。

5. 解码

硬解码:用GPU来解码,减少CPU运算
优点:播放流畅、低功耗,解码速度快。
缺点:兼容不好
软解码:用CPU来解码
优点:兼容好
缺点:加大CPU负担,耗电增加、没有硬解码流畅,解码速度相对慢。

6.鉴黄、恐、暴力

每间隔时间对视频采集关键帧图像进行鉴定判断。识别图像中是否存在人物体征并统计人数;识别图像中人物的性别、年龄区间;识别人物的肤色、肢体器官暴露程度;识别人物的肢体轮廓,分析动作行为;提取音频信息关键词,判断是否存在敏感信息。

相关名词解释:
  • CDN (Content Delivery Network)

即内容分发网络,它是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要件。确保内容以一种极为高效的方式为用户的请求提供服务,可在推拉流阶段实现加上功能。

  • 帧率(单位 fps)

每秒显示的图片数。

  • 码率(单位 kb/s或者Mb/s)

图片进行压缩后每秒显示的数据量。

  • GOP(Group of Pictures):

画面组,一个GOP就是一组连续的画面,每个画面都是一帧,一个GOP就是很多帧的集合。

附录:

音频格式:

1、 WAV
WAV是微软公司开发的一种声音文件格式,用于保存windows平台的音频信息资源。是目前PC机上广泛使用的声音文件格式,几乎所有的音频编辑软件都识别WAV格式。
2、 FLAC
Free Lossless Audio Codec的缩写,中文可理解为无损音频压缩编码。FLAC是一套著名的音频压缩编码,其特点是无损压缩。
3、 MP3
也就是指的是MPEG标准中的音频部分,也就是MPEG音频层。根据压缩质量和编码处理的不同分为3层,分别对应 .mp1 , mp2, . mp3 这3种声音文件。
其特点是文件小,音质好;知道现在还是主流音频格式。
4、 WMA
Windows Media Audio, 这种格式以减少数据流量但保持音质的方法来达到比MP3压缩率更高的木器,WMA的压缩率一般可以达到1:18左右;
5、 OGG
OGG格式完全开源,完全免费。与MP3类似,OGG也是对音频进行有损压缩编码,但通过使用更加先进的声学模型去减少损失。因此,相同码率的OGG比MP3的音质更好,文件也更小一些。
6、 AC-3
全称“杜比AC-3“,是杜比公司开发的新一代家庭影院多声道数字音频编码方式。杜比数字AC-3是根据感觉来开发的编码系统多声道环绕声。主流的编解码标准的压缩对象都是YUV图像。

视频格式:

1、 AVI
即音频视频交错格式。是将语音和影响同步组合在一起的文件格式。采用一种有损压缩方式,压缩比较高,画面质量不是太好,但由于绝大多数视频编辑及转换软件导入导出avi格式较快。
2、 MP4
MP4大多使用mpeg-4或H.264视频编码器压缩。RMVB使用real media视频编码器压缩。
3、 MKV
MKV严格的来说并不是一个视频格式,它是多媒体封装格式,最大的特点就是能容纳多种不同类型编码的视频、音频及字幕流,主流的编解码标准的压缩对象都是YUV图像。
4、 FLV
FLV是FLASH VIDEO的简称。由于形成的文件极小;加载速度极快,在网络视频中,运用极为广泛。但仅基本用于网络视频。
5、 MOV
QuickTime具有跨平台、存储空间要求小等特点,采用了有损压缩方式的MOV格式文件,画面效果较AVI格式要稍微好一些。
目前基本仅见于IOS、mac上,但大多数播放器仍支持该格式。
6、3GP
3GP是一种3G流媒体的视频编码格式,3GP是MP4格式的一种简化版本,减少了储存空间和较低的频宽需求,让手机上有限的储存空间可以使用。

YUV:

一般的视频采集芯片输出的码流一般都是YUV数据流的形式。YUV是指亮度参量和色度参量分开表示的像素格式,作用是描述影像色彩及饱和度,用于指定像素的颜色。
Y:亮度分量 (Luminance)
UV:2个色度分量 (Chrominance)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 197,737评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,103评论 2 375
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 144,710评论 0 326
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,909评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,794评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,557评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,939评论 3 388
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,572评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,852评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,871评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,692评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,490评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,939评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,114评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,409评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,971评论 2 343
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,176评论 2 339

推荐阅读更多精彩内容