的视频编码标准在性能上有了较大的提升。尤其是在低码率端,它可以在保证一定质量的前提下大大的节约码率。
H.264,等同于 MPEG-4 第十部分,也被称为高级视频编码(Advanced Video Coding,简称 AVC),是一种视频压缩标准,一种被广泛使用的高精度视频的录制、压缩和发布格式。该标准引入了一系列新的能够大大提高压缩性能的技术,并能够同时在高码率端和低码率端大大超越以前的诸标准。
H.265,被称为高效率视频编码(High Efficiency Video Coding,简称 HEVC)是一种视频压缩标准,是 H.264 的继任者。HEVC 被认为不仅提升图像质量,同时也能达到 H.264 两倍的压缩率(等同于同样画面质量下比特率减少了 50%),可支持 4K 分辨率甚至到超高画质电视,最高分辨率可达到 8192×4320(8K 分辨率),这是目前发展的趋势。
详解待整理另外文章
2.2.2 MPEG系列概述
MPEG 系列,由国际标准组织机构(ISO)下属的运动图象专家组(MPEG)开发。
- MPEG-1 第二部分,主要使用在 VCD 上,有些在线视频也使用这种格式。该编解码器的质量大致上和原有的 VHS 录像带相当。
- MPEG-2 第二部分,等同于 H.262,使用在 DVD、SVCD 和大多数数字视频广播系统和有线分布系统中。
- MPEG-4 第二部分,可以使用在网络传输、广播和媒体存储上。比起 MPEG-2 第二部分和第一版的 H.263,它的压缩性能有所提高。
- MPEG-4 第十部分,等同于 H.264,是这两个编码组织合作诞生的标准。
- 详解待整理另外文章
2.3 音频编解码方式
除了视频,音频当然也需要编码,而音频常用编码格式:
- AAC,英文全称 Advanced Audio Coding,是由 Fraunhofer IIS、杜比实验室、AT&T、Sony等公司共同开发,在 1997 年推出的基于 MPEG-2 的音频编码技术。2000 年,MPEG-4 标准出现后,AAC 重新集成了其特性,加入了 SBR 技术和 PS 技术,为了区别于传统的 MPEG-2 AAC 又称为 MPEG-4 AAC。(AAC详解待整理另外文章)
- MP3,英文全称 MPEG-1 or MPEG-2 Audio Layer III,是当曾经非常流行的一种数字音频编码和有损压缩格式,它被设计来大幅降低音频数据量。它是在 1991 年,由位于德国埃尔朗根的研究组织 Fraunhofer-Gesellschaft 的一组工程师发明和标准化的。MP3 的普及,曾对音乐产业造成极大的冲击与影响。
- WMA,英文全称 Windows Media Audio,由微软公司开发的一种数字音频压缩格式,本身包括有损和无损压缩格式。
三、处理 - 数据怎么加工?
音视频加工处理,是业务的核心需求,对开发者自由度最大的一个环节,通过音视频处理,可以实现各种各样炫酷的特效。
图像、视频常见处理方式:美化、裁剪、缩放、旋转、叠加、编解码等。
音频常见处理方式:重采样、去噪,回声消除,混音、编解码等
常见框架:
- 图像处理:OpenGL,OpenCV,libyuv,ffmpeg 等;
- 视频编解码:x264,OpenH264,ffmpeg 等;
- 音频处理:speexdsp,ffmpeg 等;
- 音频编解码:libfaac,opus,speex,ffmpeg 等。
(传送门:音视频开发开源码工程汇总)
四、传输 - 数据如何传输?
4.1 流媒体协议
流媒体,指通过互联网以流式传输方式的媒体。流媒体协议,则是服务器与客户端之间通信遵循但规定。说到音视频传输,我们不得不提流媒体协议,常见流媒体协议有:
RTP |
(Real-time Transport Protocol)一种网络传输协议,RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。 |
基于UDP 协议实现 |
RTP协议常用于流媒体系统(配合 RTSP 协议) |
RTCP |
(Real-time Transport Control Protoco)实时传输协议(RTP)的一个姐妹协议。 |
RTCP为RTP媒体流提供信道外(out-of-band)控制。RTCP 本身并不传输数据,但和 RTP 一起协作将多媒体数据打包和发送。RTCP 定期在流多媒体会话参加者之间传输控制数据。 |
为 RTP 所提供的服务质量(Quality of Service)提供反馈。 |
RTSP |
(Real Time Streaming Protocol)定义了一对多应用程序如何有效地通过 IP 网络传送多媒体数据。 |
RTSP 在体系结构上位于 RTP 和 RTCP 之上,使用 TCP 或 UDP 完成数据传输 |
使用 RTSP 时,客户机和服务器都可以发出请求,即 RTSP 可以是双向的。 |
RTMP |
(Real Time Messaging Protocol)Adobe Systems 公司为 Flash 播放器和服务器之间音频、视频和数据传输开发的开放协议。 |
协议基于 TCP,是一个协议族,包括 RTMP 基本协议及 RTMPT/RTMPS/RTMPE 等多种变种。 |
一种设计用来进行实时数据通信的网络协议,主要用来在 Flash/AIR 平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。 |
RTMFP |
(Real Time Media Flow0 Protoco)Adobe 公司开发的一套新的通信协议,全称 Real Time Media Flow Protocol |
协议基于 UDP,支持 C/S 模式和 P2P 模式,即该协议可以让使用 Adobe Flash Player 的终端用户之间进行直接通信 |
Adobe Flash Player 的终端用户之间进行直接通信 |
HTTP |
(HyperText Transfer Protoco)运行在 TCP 之上 |
|
这个协议是大家非常熟悉的,它也可以用到视频业务中来。 |
HLS |
(HTTP Live Streaming)是苹果公司实现的基于 HTTP 的流媒体传输协议,全称 ,可支持流媒体的直播和点播 |
短时长的媒体文件(MPEG-TS 格式),客户端不断的下载并播放这些小文件。由于数据通过 HTTP 协议传输,所以完全不用考虑防火墙或者代理的问题,而且分段文件的时长很短,客户端可以很快的选择和切换码率,以适应不同带宽条件下的播放 HLS 的这种技术特点,决定了它的延迟一般总是会高于普通的流媒体直播协议 |
主要应用在 iOS 系统,为 iOS 设备(如 iPhone、iPad)提供音视频直播和点播方案。 |
4.2 网络视频点播业务
CNTV |
HTTP |
MP4 |
H.264 |
AAC |
Flash |
CNTV(部分) |
RTMP |
FLV |
H.264 |
AAC |
Flash |
华数 TV |
HTTP |
MP4 |
H.264 |
AAC |
Flash |
优酷网 |
HTTP |
FLV |
H.264 |
AAC |
Flash |
土豆网 |
HTTP |
F4V |
H.264 |
AAC |
Flash |
56网 |
HTTP |
FLV |
H.264 |
AAC |
Flash |
音悦台 |
HTTP |
MP4 |
H.264 |
AAC |
Flash |
乐视网 |
HTTP |
FLV |
H.264 |
AAC |
Flash |
新浪视频 |
HTTP |
FLV |
H.264 |
AAC |
Flash |
网络视频点播业务采用 HTTP