音视频入门知识(一):基本概念篇
一、基本概念篇
编码(encode)
通过特定的压缩技术,将某个视频的视频流格式转换成另一种视频格式的视频流方式。
输入:一串连续的图片帧;输出:连续的二进制字节流
编码的本质:压缩 -> 减少占用空间
YUV420/422可通过ffmpeg/opencv库直接编码成H264编码格式
PCM可编码成AAC编码格式
解码(decode)
通过特定的解压缩技术,将某个视频格式的视频流转换成另一种视频格式的视频流方式。
输入:连续二进制流、网络流、文件流 ;输出:一张张图片
H264解码成YUV、AAC解码成PCM
转码(transcode)
视频转码技术将视频信号从一种格式转换成另一种格式
很多时候由需求决定 (如:rtsp -> rtmp)
改变视频/音频的格式(如分辨率、帧率等参数)
封装(mux)
复用,按一定格式组织原音视频流
为什么要进行封装?
编码(codec),比如视频编码h264,h265,音频编码aac,mp3,它存在的目的主要是压缩原始数据的体积。封装格式(container),比如mp4,mkv,用来存储/传输编码数据,并按一定规则把音视频、字幕等数据组织起来,里面都会有一些信息,比如当前流中包含哪些编码类型,时间戳等,播放器可以按照这些信息来匹配解码器、同步音视频。
解封装(demux)
解复用,按一定格式解析出原始音视频流