基础数据
通过上图 可以了解播放器的原理,其实就是将一个压缩数据还原成一个基础数据的过程。那么什么时基础数据,基础数据就是硬件所能识别的数据,音频硬件所能识别的是pcm。下面分开将。
视频 yuv rgb yuv420 rgb
视频的基本数据,就是显示器能识别的数据,最早以前的是rgb 通过串口,显示到显示器上比如最简单的 用前三位表示红色 中间三位表示绿色 后面表示蓝色,这样就组成了基本的图案。后来又发明了 yuv,YUV通过优化rgb数据的分量来表示颜色。这里的内容请自行补脑。
音频 pcm adpcm
直接通过硬件的ad 采集的数据较pcm数据。做过音频采集的同学应该很明白。有8位的ad 有16位的ad。采集后直接保存的数据就是pcm数据。如一直是静音 难么就 0000 0000。一直是8个零,如果一直是很高的尖叫 有可能 一直是 1111 1111。持续8个一。如果交替出现,难么就形成了滴滴滴的喇叭声音的效果。难么音乐也无非是这些pcm数字组成。
编码数据和格式
常见的音频编码格式有AAC MP3 AC-3 WAV 等,视频的有H264 H265.那么什么是编码格式。它经常和后面讲的封装格式混在一块。编码格式:是将上面讲到的基础数据,进行通过算法一般是各种压缩算法,后输出的数据。比如,上面讲到的pcm数据中的 1111 1111.通过压缩后可能就变成了 1101。(做个假设)。把这些编码数据组织在一块就形成了编码格式。
音频编码格式(AAC,MP3,AC-3)
主要的音频编码数据 aac MP3 wav arm。
视频编码格式(H.264,MPEG2,VC-1)
主要的视频编码数据H.264,MPEG2,VC-1。
封装格式(MP3 MP4 RMVB WAV)
将一种或者多种编码格式 组合在一块。就是封装格式。在组合的过程中通常会丰富一些其他信息。如MP3封装格式中除了包含MP3编码格式格式外通常还有一个头和一个尾巴。如图
添加了 id3v2 和v1来丰富一些信息。
Android 音视频学习基础--1.2 需要认识的一些工具
Android 音视频学习基础--1.4 ffmpeg pcm输出
Android 音视频学习基础--1.5 ffmpeg yuv输出
Android 音视频学习基础--1.6 ffmpeg 简单视频播放器
Android 音视频学习基础--1.7 Android最简单的音频播放器
Android 音视频学习基础--1.8 Android最简单的音频播放器
网友评论