视频
-
码率(单位为bit)
码率(比特率):单位时间内传输的数据量,单位为kbps,计算公式:平均码率(kbps)=文件大小(kB)*8/时间(s)。动态码率(kbps)=每秒传输数据量(kB)*8;
-
分辨率
分辨率:分辨率越高像素越多,图像越清晰
视频分辨率:又称为图像分辨率,由视频的宽高组成,表示形式宽x高,常见的视频分辨率有480P、720P、1080P、2K(2048x1080/2160x1440)、4K(4096x2160/3840x2160)
屏幕分辨率:又称为显示分辨率,描述屏幕分辨率的单位是ppi(pixel per inch,每英寸的像素数)。
位分辨率:又称为位深(BitDepth),每个像素点存储信息的位数。常见的有:8位、16位、24位、32位色彩。
-
帧率
视频帧率:测量显示帧数的量度,单位为每秒显示帧数(FPS,全称为Frame Per Second);
显示帧率:以帧为单位的位图图像连续出现在显示器的频率,也称为刷新速率。在性能优化方面要保证从测量、布局、绘制、上传指令与GPU交换缓冲区等操作缩小操作时间控制延迟、卡顿等情况。
-
像素格式
像素色彩分量的排列,由每个像素使用的总位数以及各分量的位数决定。图像的像素格式一般是RGBA四个分量通道各占8bits;视频压缩存储的像素格式不是RGBA,而是YUV,其中Y代表亮度(Luma),U代表色度(Chroma),V代表对比度(Contrast)。
-
旋转角度
旋转角度:视频的YUV储存方向。一般的视频旋转角度是0°,对应的是横屏显示。后置摄像头竖屏拍的视频,旋转角度为90°,对应的是竖屏显示。
-
时长
视频所有图像播放所需要的时间称为视频时长。计算公式:时长(s)=帧数x每帧时长=帧数x(1/帧率)。假设一个视频帧数为1000,帧率为25fps,那么时长为40s。
-
封装格式
视频的封装格式,由特定格式头+媒体信息+音视频轨(字幕)数据+视频轨索引组成。常见的封装格式有:mp4、mkv、webm、avi、3gp、mov、wmv、flv、mpeg、asf、rmvb等。
mp4、mov、3gp同属一个协议簇,目前mp4最为流行,mp4全称为MPEG-4;
mkv与webm公用封装格式(高清视频一般使用此格式)
avi(音视频交错),可封装各种编码格式的音视频流;
wmv采用ASF作为容器,基于object对象进行封装
-
编码协议
视频经过解封装得到的视频轨数据,是经过编码的,所以显示视频帧前需要解码。不同编码算法组成不同编码协议,常见的有:H264(AVC,一般使用x264编码)、H265(HEVC,一般使用x265编码)、VP8、VP9、MPEG4、MJPEG、WMV3等。
音频
1、采样率
采样率:对声音信号每秒的采样次数,采样率越高,声音的还原越真实。采样率单位为Hz,常见的采样率有:8000Hz、16000Hz、44100Hz、48000Hz。人类一般能够听到的声音范围:20Hz~20000Hz。根据奈奎斯特采样定理:当采样频率大于信号中最高频率的2倍时,采样后的数字信号能够完整保留原始信号的信息。
2、声道
声道:指声音在录制或播放时,在不同空间位置采集或回放的相互独立音频信号。声道数指在录音时的音源数量,或者在播放时的扬声器数量。
3、声道布局
不同声道数对应不同声道布局。常见的声道布局有单声道(mono)、立体声道(stereo)、四声环绕、5.1声道。
单声道:只有一个声道,优点数据量小,amr_nb和amr_wb默认为单声道,缺点是缺乏对声音位置定位。
立体声道:一般为两个声道,由左声道、右声道组成,改善对声音位置定位的状况。
四声环绕:由前左、前右、后左、后右组成,形成立体环绕。4.1声道是在四声环绕基础上,增加一个低音。
5.1声道:在4.1基础上,增加一个中场声道,杜比AC3就是采用5.1声道,也就是影院宣传的杜比音效。
4、音质
音质:声音的质量,经过编码压缩后的音频信号保真度,由音量、音高和音色组成。
音量:音频的强度,数值范围0-100,静音时为0,最大值为100。Android中有提供音量增强LoudnessEnhancer,调节声音分贝值。
音高:声音的音调,即音频频率或每秒变化次数。
音色:音频泛音,又称为音品,不同声音表现在波形方面与众不同的特性。
5、封装格式
音频的封装格式,与视频封装格式类似,由特定格式头+媒体信息+音频轨数据组成。常见的封装格式有:mp3、m4a、ogg、amr、wma、wav、flac、aac、ape等。
6、编码协议
音频经过解封装得到的音频轨数据,也是经过编码的。常见的音频编码协议有:mp3、aac、amr_nb、amr_wb、ac3、vorbis、opus、flac、wmav2等。
7、采样数
采样数,即每帧采样的数量。在FFmpeg的AVFrame中,定义为nb_samples。
8、采样位数
采样位数,即每个采样占用多少位。在RIFF(Resource Interchange File Format)资源交换文件格式有个字段bits_per_sample表示采样位数,在FFmpeg也是用这个字段表示采样位数。
9、存储空间
音频的每秒存储空间由:采样率、声道数、每个采样位数。假设采样率为44.1k,声道数为2,采样位数为16。那么,每秒所占存储空间字节数=44100 * 2 * 16 / 8
10、帧时长
音频的帧时长=采样数 / 采样率。假设采样率为44.1k,采样数为1024。那么每帧时长约等于23ms。
11、采样格式
音频的采样格式分为大端存储和小端存储。按照符号划分有:有符号与无符号。按照类型划分有:整型与浮点型。按照存储位数划分有:8位、16位、32位、64位,都是8的倍数。