首页IT技术系统 › 互联网直播的一些技术概要(一)——分类及流媒体基础知识

互联网直播的一些技术概要(一)——分类及流媒体基础知识

最近一段时间,互联网直播是越来越火了,博主之前也做过一些直播相关的技术工作。略谈一二。

一、直播种类

目前比较火的有电视直播、秀场直播、游戏直播等。

从原理上讲似乎区别不大,但从技术细节要求上来看,还是有所不同的。比如:

码率大小(可以认为是需要的带宽不同)

对延时的敏感程度(比如是否需要语音互动、文字互动)

对截图、水印、转码、转点播的要求 (有的需要提供不同的清晰度供用户选)

二、流媒体

1.帧、帧率、分辨率、码率

我们看到的视频,是由一张又一张的静态图片连续播放形成的。这每一张图片就是一个“帧”。帧可以是经过压缩的。

可分为I、P、B。

I帧又叫关键帧,是拥有独立画面全部信息、无需参考其它帧的帧,视频的起始帧必须是I帧。(I帧间的间隔叫GOP Cache)

P帧则是当画面和前一I帧(或P帧)的区别信息,也即是增量信息而已。

B帧则是双向差别,即当前画面和前一I帧(或P帧)、后一I帧(或P帧)的差别。

B帧的压缩率最高,但最耗CPU。一般平均来说,I的压缩率是7(跟JPG差不多),P是20,B可以达到50。

帧率,也就是每秒播放的帧数,一般电影的帧率为24fps。

分辨率,就是屏幕上图像的精密度,即显示的像素是多少。

目前视频网站分辨率一般分为:标清(240-360p)、高清(480p)、超清(576-720p)、原画面(576-1080p)

码率,指每秒传输的位(bit)数。

固定码率是指文件从头到尾都是一种码率,这是固定文件大小为前提的压缩方式。

动态码率是压缩时根据音视数据频即时确定使用什么码率,非固定的。

直播一般是动态码率。


2.编码

常用的音频编码格式有AC3(有损压缩)、AAC(用于取代mp3,压缩比通常为18)、MP3(压缩比10-12)、OGG(高质量)

常用的视频编码格式有MPEG-4、H.263、H.264(AVC)、H.265

3.封装格式(容器)

将编码压缩后的音频轨和视频轨按一定格式封装到文件中,也即其仅为一个外壳容器。常见的有MP4、FLV、AVI、RMVB、WMV、MKV、TS、ASF、3GP等

封装格式

支持的音频编码方式

支持的视频编码方式

MP4

aac

Mpeg-4,  avc(H.264)

FLV

mp3, aac

Avc(H.264), H263, on2vp6

AVI

mp3 

Mpeg-4

TS

aac, 默认是mp3

Mpeg-2, avc

4.传输协议

http:视频会缓存到客户端本地,无需专门的流媒体服务器,成本低。

rtmp:adobe为flash播放器和FMS服务器(flash media server)之间传输开发的私有协议,播放的是FLV文件。需要专门搭设FMS服务器,不产生本地缓存文件,保密性好。可以任意选择播放起点。

HLS(http live streaming):苹果公司提出的并在其iOS和QuickTime系统中实现,基于http。一般只用于苹果系统,并且文件需要切片,产生一定延迟。动态码率,可实现不同码率间的平滑过渡。

原文出自: http://blog.too2.net/?p=291
转载请注明转自:辛碌力成【http://blog.too2.net】

3 Comments.[ Leave a comment ]

  1. messikiller

    干货文章,没有打赏功能是不是亏了?

  2. 感谢分享!

发表评论