音视频基础知识(一)

数据------>解协议----->封装格式数据---->解封装---(音视频流数据)---->(音视频解码)--->音视频数据--->(硬件加速声卡,显卡)-->呈现出画面与声音

1.协议层:(protocol layer)----http/rtmp/file

2.封装层:(format layer)-----mkv/mp4/flv/avi

3.编码层:(code layer)---h264/h265/mpeg2/mpeg4

4.像素层:(pixel layer)---yuv420p/yuv422p/yuv444p/rgb24

流媒体开发

网络层:socket负责传输

协议层:rtmp/hls负责网络打包

封装层:flv/ts负责编解码数据的封装

帧:每帧代表这一副静止的图像

GOP:GOP就是一组连续的画面,每个画面都是一帧,一个GOP就是很多帧的集合。GOP cache长度越长,画面质量就越好

码率:图片进行压缩后每秒显示的数据量

帧率:每秒显示图片的数,人眼所看到的画面在16帧以上,就会认为是连贯的

分辨率:图片的长度&宽度,图片的尺寸

压缩前每秒数据:帧率 *分辨率

压缩比:压缩前的每秒钟数据/码率,(压缩比越高,画面质量越差)

视频文件格式:wmv,mov,mp4,mp3,avi,

视频封装格式:一种存储视频信息的容器,流式封装:TS\FLV,索引封装:MP4\MOV\AVI,主要作用:一个视频文件往往包含图像和音频,还有一些配置信息,这些内容按照一定的规则拼装起来

注意:封装格式和文件格式一样,因为一般视频文件格式的后缀即采用相应的视频封装格式的名称,所以视频文件格式就是视频封装格式

视频封装格式&视频压缩编码标准:(项目工程,编程语言):

视频编码技术:

MPEG:帧间压缩,存储连续帧直接的有差别的地方,从而达到较大的压缩比

H264:世面广泛使用的,算法比较复杂

H264组成:1.网络提取层(Network Abstraction Layer)NAL 2,视讯编码层(Video Coding Layer)VCL

Slice编码构成:I帧,P帧,B帧

H.264 stream consists of a sequence of NAL Units

SPS:序列参数集,作用于一系列连续的编码图像

PPS:图像参数集,作用于编码视频序列中的一个或多个独立的图像

参数集是一个独立的数据单位,不依赖参数集外的其他语法元素,只有编码器认为需要更新参数集内容时,才会发出新的参数集

H265:基于H264,使用原来的技术,将相关的技术加以改进,例如码流,编码质量,延时,传输时更省带宽

I帧:关键帧 解码关键

P帧(差别帧):保留帧与前帧的区别,解码需要缓存画面叠加本帧定义的差别,生成最终的画面,P帧只存储差别数据,并不是完整帧

B帧:双向帧

合成muxing:  将视频流、⾳音频流、字⺟母流合成封装到⼀一个⽂文件中,作⽂文⼀一个信号进⾏行行传输

猜你喜欢

转载自www.cnblogs.com/tryFighting/p/10906689.html