探索多媒体直播技术 | 青训营笔记

151 阅读3分钟

这是我参与「第四届青训营 」笔记创作活动的第7天

多媒体直播技术

本堂课内容

  1. 视频的基本元素
  2. 视频压缩
  3. 直播推拉流协议
  4. 客户端工作及总结

知识点总结

视频的基本元素

RGB三原色

每种颜色都可以用三个变量来表示红色绿色以及蓝色的强度,记录及显示彩色图像时,RGB是最常见的一种方案。按照计算,256级的RGB色彩总共能组合出越1678万种颜色

分辨率

指的是纵横方向的像素数量,一般表示为宽*高

码率/比特率

表示单位时间内传送bit的数目,单位bps,表示是单位时间播放连续的媒体

帧 & 帧率

每秒传输帧数。帧率越高,显示的动作越流畅

视频数据的封装

目前主要的视频容器:MPG、VOB、MP4、3GP、ASF、RMVB、WMV、MOV、Divx、MKV、FLV、TS/PS

视频压缩

颜色空间

RGB信号不利于压缩,在视频存储中,常用YUV色彩空间来表示色彩。

YUV420可以节省50%的数据量

帧内压缩/空间压缩

帧内压缩又叫做空间压缩,指的是当压缩一帧图像时,仅考虑本帧的数据而不考虑相邻帧之间的冗余信息,这实际上与静态图像压缩类似

帧间压缩/时间压缩

帧间压缩也称为时间压缩,是基于许多视频或动画的连续前后两帧具有很大的相关性。通过比较时间轴上不同帧之间的数据实施压缩,进一步提高压缩比,一般是无损压缩

I帧:帧内帧,解码时仅需用帧的数据即可重构完整图像

P帧:向前预测帧,解码时将I帧的预测值与预测误差求和才能重构完整的P帧图像

B帧:双向编码帧,解码时参考前面或者后面已经编码的I帧和P帧,需要缓存帧,延时大

直播推拉流协议

CDN

分布式网络,通过服务器集群来降低用户的访问延迟

推拉流协议

包括RTMP、HTTP+FLV、HLS

推流协议(RTMP)实时消息协议,也称实时消息运输协议,优势是基于TCP协议,技术成熟,延迟低;劣势是停止更新,规范上没有支持H265,使用1935端口,会被防火墙ban

拉流协议

  1. FLV是一种网络视频格式,用作流媒体格式,优点是协议友好,格式简单,便与分发,延 迟较低,视频封装格式为flv
  2. HLS是苹果公司推出的拉流协议,工作原理是把整个流分为一个个小的基于HTTP的文件,每次只下载一些,视频封装格式为m3u8

客户端工作及总计

开播过程

图像采集->图像处理->编码和封装->推流

看播过程

拉流->解封装和解码->图像处理(可选)->渲染

课后个人总结

通过学习多媒体直播技术,了解到了音视频主要的编码格式以及数据流的传播模式。特别是视频方面,为了节省传输数据量的压缩方法十分巧妙,在尽量保证图像品质的情况下,做到最大的压缩比率。对于推拉流模式来说,要最大程度上降低用户的使用延时感觉,通过特殊的视频封包以及特殊的切片方式来达到目的。