Android音视频——基础介绍

简介: Android音视频——基础介绍

视频编码

视频编码所谓的视频编码就是指通过特定的压缩技术,将某个视频格式文件转换成另一种视频格式文件的方式。视频流传输中最重要的编解码标准有国际电联的 H.261、H.263、H.264,运动静止图像专家组的 M-JPEG 和国际标准化组织运动图像专家组的 MPEG 系列标准,此外在互联网上被广泛应用的还有 Real-Networks 的 RealVideo、微软公司的 WMV 以及 Apple 公司的QuickTime 等。

视频编码分为两个系列,分别介绍如下。


MPEG :(由 ISO[国际标准化组织]下属的 MPEG[运动图像专家组]开发)视频编码方面主要是 MPEG1(VCD

用的就是它)、MPEG2(DVD 使用)、MPEG4(DVDRIP 使用的都是它的变种,如 DivX、XviD 等)、MPEG4

AVC(正热门)。其还有音频编码方面,主要是 MPEG Audio Layer 1/2、MPEG Audio Layer 3 (大名鼎鼎的

MP3)、MPEG-2 AAC、MPEG-4 AAC等。注意,DVD 音频没有采用 MPEG 的。


H.26X :(由 ITU[国际电传视讯联盟]主导,侧重网络传输,注意,只有视频编码)包括

H.261、H.262、H.263、H.263+、H.263++、H.264(就是与 MPEG4 AVC 合作的结晶)。


音频编码

常见的音频编码格式有AAC、MP3、AC3,下面分别进行介绍。


AAC:一种专为声音数据设计的文件压缩格式,与MP3 不同,它采用了全新的算法进行编码,更加高效,具有更高的“性价比”。利用 AAC

格式,在感觉声音质量没有明显降低的前提下,可使文件更加小巧。苹果iPod、诺基亚手机也支持 AAC 格式的音粉文件。AAC

的优点是,相对于MP3,AAC 格式的音质更佳,文件更小。AAC 的缺点是,AAC 属于有损压缩格式,与时下流行的 APE、FLAC

等无损压缩格式相比音质存在“本质上”的差距:加之,传输速度更快的 USB 3.0 和 16GB 以上大容量 MP3

正在加速普及,这也使得AAC头上“小巧”的光环逐渐暗淡。


MP3:MP3是一种音频压缩技术,其全称是动态影像专家压缩标准音频层面3(Moving Picturc Experts Group

Audio Layer II),简称为 MP3。它被设计用来大幅度地降低音频数据量。利用 MP3 技术,将音乐以 1:10 甚至1:12

的压缩率,压缩成容量较小的文件,而对于大多数用户来说,重放的音质与最初的不压缩音频相比没有明显下降。MP3的特点是,其利用人耳对高频声音信号不敏感的特性,将时域波形信号转换成频域信号,并划分成多个频段,对不同的频段使用不同的压缩率,对高频信号使用大压缩率(甚至忽略信号),对低频信号使用小压缩率,保证信号不失真。这样一来就相当于抛弃人耳基本听不到的高频声音,只保留能听到的低频部分,从而将声音用1:10

甚至1:12的压缩率压缩。


AC3:全称为 Audio Coding Version 3,是 Dolby 实验室所发展的有损音频编码格式。

AC3被广泛应用于51声道,是 Dolby Pro Logic 的继承者,不同的地方在于 AC3 提供了6个独立的声道而Pro Logic

混合其环绕声道。AC3 普及程度很高,以384-448kb/的码率应用于激光唱片和 DVD,也经常以 640kb/s

的码率广泛应用于电影院,Dolby AC3 提供的环绕声系统由5 个全频域声道和 1个超低音声道组成,被称为

5.1声道。个全频域声道包括左前、中央、右前、左后、右后,超低音声道主要提供一些额外的低音信息,使一些场景(如爆炸、撞击等)的声音效果更好。


目录
相关文章
|
开发工具 Android开发 开发者
Android如何回调编码后的音视频数据
有开发者提到,在RTMP推送端的基础上,希望能回调编码后的音视频数据,便于开发者对接第三方系统,如GB28181.
|
编解码 监控 网络协议
Android平台音视频推送选RTMP还是GB28181?
早在2015年,我们发布了RTMP直播推送模块,那时候音视频直播这块场景需求,还不像现在这么普遍,我们做这块的初衷,主要是为了实现移动单兵应急指挥系统的低延迟音视频数据传输。好多开发者可能会疑惑,走RTMP怎么可能低延迟?网上看到的RTMP推拉流延迟,总归要2-3秒起,如果是自己实现框架,RTMP推拉流逻辑自己实现的话,延迟确实可以控制在毫秒级,这个已无需赘述。
109 0
|
Web App开发 数据采集 物联网
Android平台基于RTMP或RTSP的一对一音视频互动技术方案探讨
随着智能门禁等物联网产品的普及,越来越多的开发者对音视频互动体验提出了更高的要求。目前市面上大多一对一互动都是基于WebRTC,优点不再赘述,我们这里先说说可能需要面临的问题:WebRTC的服务器部署非常复杂,可以私有部署,但是非常复杂。传输基于UDP,很难保证传输质量,由于UDP是不可靠的传输协议,在复杂的公网网络环境下,各种突发流量、偶尔的传输错误、网络抖动、超时等等都会引起丢包异常,都会在一定程度上影响音视频通信的质量,难以应对复杂的互联网环境,如跨区跨运营商、低带宽、高丢包等场景,行话说的好:从demo到实用,中间还差1万个WebRTC。
155 0
|
监控 前端开发 网络协议
Android前端音视频数据接入GB28181平台意义
在我们研发Android平台GB28181前端音视频接入模块之前,业内听到最多的是,如何用Android或者Windows端,在没有国标IPC设备的前提下,模拟GB28181的信令和媒体流交互流程,实现GB28181整体方案的测试?
138 0
|
7月前
|
监控 Unix 应用服务中间件
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
|
3月前
|
Web App开发 网络协议 Android开发
Android平台一对一音视频通话方案大比拼:WebRTC VS RTMP VS RTSP,谁才是王者?
【9月更文挑战第4天】本文详细对比了在Android平台上实现一对一音视频通话时常用的WebRTC、RTMP及RTSP三种技术方案。从技术原理、性能表现与开发难度等方面进行了深入分析,并提供了示例代码。WebRTC适合追求低延迟和高质量的场景,但开发成本较高;RTMP和RTSP则在简化开发流程的同时仍能保持较好的传输效果,适用于不同需求的应用场景。
174 1
|
7月前
|
Java Android开发 设计模式
flutter音视频开发,Android开发需要学什么
flutter音视频开发,Android开发需要学什么
|
Web App开发 开发工具 Android开发
Android平台不需要单独部署流媒体服务如何实现内网环境下一对一音视频互动
我们在做内网环境的一对一音视频互动的时候,遇到这样的技术诉求:如智能硬件场景下(比如操控智能硬件),纯内网环境,如何不要单独部署RTMP或类似流媒体服务,实现一对一音视频互动。
|
编解码 Android开发 数据安全/隐私保护
Android平台GB28181设备接入端对接编码前后音视频源类型浅析
今天主要对Android平台GB28181设备接入模块支持的接入数据类型,做个简单的汇总: 1. 编码前数据(目前支持的有YV12/NV21/NV12/I420/RGB24/RGBA32/RGB565等数据类型),其中,Android平台前后摄像头数据,或者屏幕数据,或者Unity拿到的数据,均属编码前数据; 2. 编码后数据(如无人机等264/HEVC数据,或者本地解析的MP4音视频数据); 3. 拉取RTSP或RTMP流并接入至GB28181平台(比如其他IPC的RTSP流,可通过Android平台GB28181接入到国标平台)。
|
编解码 Java 开发工具
[技术分享]Android平台实时音视频录像模块设计之道
录像有什么难的?无非就是数据过来,编码保存mp4而已,这可能是好多开发者在做录像模块的时候的思考输出。是的,确实不难,但是做好,或者和其他模块有非常好的逻辑配合,确实不容易。
108 0