比特率 = 码率 文件大小(b) = 码率(b/s) × 时长(s)
适用未压缩的情况
yuv 原始视频数据
pcm 原始音频数据
音频帧的概念没有视频帧那么清晰,几乎所有视频编码格式都可以简单的认为一帧就是编码后的一副图像, 而音频帧会因编码格式的不同而不同,如 pcm 音频流可以直接进行播放。
pcm 经过 音频encoder编码器 encode编码 得到 音频包,相反 可以用 音频decoder解码器 decode解码
编码格式
蓝牙传输编码
- SBC 最通用的蓝牙传输协议,99%的蓝牙耳机都支持,支持 44 khz / 16 bit 的音频,最高码率 328 kbps,延时约 220 ms,音质相对较普通
- AAC 苹果主推,Android 和 iOS 通用,支持 44 khz / 16 bit 的音频,最高码率 512 kbps,延时约 100 ms,音质略好于 SBC。
- aptX 高通专利,最高码率 352 kbps,延时约 40 ms,音质略好于 SBC。
- LDAC 无损高音质,索尼主推,支持 96 khz / 24 bit 的音频,最高码率 990 kbps
- LHDC 无损高音质,支持 96 kHz / 24 bit 音频,最高码率 900 kbps
yuv 经过 视频encoder编码器 encode编码 得到 视频包,相反 可以用 视频decoder解码器 decode解码
编码格式
编码后的音频和视频muxe混合成的封装格式,相反 可以 demuxe解复用
如
混合格式
Surface 处理被屏幕排序的原生的Buffer
SurfaceView 内嵌了一个专门用于绘制的Surface,可以理解为Surface是管理数据的地方,SurfaceView是展示数据的地方
SufaceTexture 跟SurfaceView很像,可在视频解码里面获取图像流,但可以不需要显示到屏幕上, 可以取得图像帧的副本进行处理再传给SurfaceView用于显示
SurfaceHolder 是一个管理Surface的容器
##
参考