Android直播开发之旅(7):Android视频直播核心技术(架构)详解

本文深入探讨Android直播开发的核心技术,包括流媒体转发与P2P架构的解析,重点介绍YUV、H.264/265视频编码技术以及AAC音频编码。此外,还详细讲解了RTP、RTCP、RTSP和RTMP等流媒体协议,为理解Android视频直播的实现提供了全面的知识框架。
摘要由CSDN通过智能技术生成

(转载请声明出处:http://blog.csdn.net/andrexpert/article/details/76919535)

一、直播架构解析

     目前主流的直播架构中主要有两种方案,即流媒体转发、P2P。流媒体转发,是一种在视频直播中以流的方式将连续的音、视频数据经编码压缩后传输到流媒体服务器,用户实时从服务器获取流媒体资源,而不必要等待整个文件下载文件完毕的C/S架构视频直播方案;P2P直播,是一种建立在P2P技术基础上的视频直播方案,它规定客户端之间使用一定协议来交换和共享直播数据,通过减少对服务器的数据请求,以降低服务端的I/O带宽等方面压力,从而削减服务器带宽成本,降低客户端卡播率。
1. 流媒体转发

(1) YUV/RGB颜色格式
    类似于RGB,YUV也是一种颜色格式,通常我们手机摄像头采集的每一帧图像就是YUV格式的,它分别由Y、U、V分量组成,其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。 因此,YUV是一种亮度信号Y和色度信号U、V是分离的色彩空间,它主要用于优化彩色视频信号的传输,使其向后相容老式黑白电视,且与RGB要求三个独立的视频信号同时传输相比,它最大的优点在于只需占用极少的频宽,非常适用于流媒体传输。
     YUV格式分为两种类型,即Packet(包)和Plannar(平面)。Packet类型是将Y、U、V分量存储在同一个数组中,每个像素点的Y、U、V是连续交错存储的,常见的采样格式有NV21、NV12;Plannar类型是将Y、U、V分量分别存储在三个独立的数组中,且先连续存储所有像素点的Y分量,紧接着存储所有像素点的U分量,最后存储所有像素点的V分量,常见的采样格式有YV12、I420。关于YUV颜色格式深度分析,参见我这篇博文:视频直播YUV颜色格式完全解析

(2) H.264视频编码技术
     H.264是MPEG-4的第十部分,是由VCEG和MPEG联合提出的高度压缩数字视频编码器标准,它的出现就是为了更大程度地对原始YUV图像进行压缩编码,同时能够保证视频传输性能和画面质量。H.264具有低码率、高压缩、高质量的图像、容错能力强、网络适应性强等特点,它最大的优势拥有很高的数据压缩比率,在同等图像质量的条件下,H.264的压缩比是MPEG-2的两倍以上。
     H.264编码框架分为两层:VCL、NAL。VCL(Video Coding Layer,视频编码层),负责高效的视频内容表示;NAL(Network Abstraction Layer,网络抽象层),负责以网络所要求的恰当的方式对数据进行打包和传送。在H.264协议里定义了三种帧,完整编码的帧叫I帧(关键帧),参考之前的I帧生成的只包含差异部分编码的帧叫P帧,还有一种参考前后的帧编码的帧叫B帧。H.264编码采用的核心算法是帧内压缩和帧间压缩。其中,帧内压缩是生成I帧的算法,它的原理是当压缩一帧图像时,仅考虑本帧的数据而不用考虑相邻帧之间的冗余信息,由于帧内压缩是编码一个完整的图像,所以可以独立的解码显示;帧间压缩是生成P、B帧的算法,它的原理是通过对比相邻两帧之间的数据进行压缩,进一步提高压缩量,减少压缩比。关于H.264深度分析,参见我这篇博文:深度解析H.264编码原理

(3) H.265视频编码技术
      H.265,又称HEVC(High Efficiency Video Coding,高效视频编码),是继H.264之后所制定的新的视频编码标准,它是对H.264编码标准的改进,包括提高压缩效率、提高鲁棒性和错误恢复能力、减少实时的时延、降低复杂度等,其目的是旨在在有限带宽下传输更高质量的网络视频,仅需原先的一半带宽即可播放相同质量的视频。比如H.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值