音视频开发基础知识整理

本文介绍了音视频开发的基础知识,包括容器格式、流、帧类型(I帧、P帧、B帧)、编解码器、复用与解复用的概念。重点讲解了H.264和H.265编码协议的差异,并提到了开源实现如ffmpeg和x264。此外,还讨论了帧率、码率、GOP等相关概念,以及RGB和YUV图像存储格式。
摘要由CSDN通过智能技术生成

术语:

容器(Container):容器就是一种文件格式,比如flv,mkv等。包含下面5种流以及文件头信息。

流(Stream):是一种视频数据信息的传输方式,5种流:音频,视频,字幕,附件,数据。

帧(Frame):帧代表一幅静止的图像,分为I帧,P帧,B帧。(下文介绍)

编解码器(Codec):是对视频进行压缩或者解压缩的工具。

复用(mux):把不同的流按照某种容器的规则放入容器。

解复用(demux):把不同的流从某种容器中解析出来。

 

视频编码方式

硬编码:使用非CPU进行编码,如显卡GPU、专用的DSP、FPGA、ASIC芯片等

软编码:使用CPU进行编码,软编码通常使用:ffmpeg+x264

 

编码的流程:

采集--> 获取到视频帧--> 对视频帧进行编码 --> 获取到视频帧信息 --> 将编码后的数据以NALU方式写入到文件

 

视频编码协议:

H. 264:低码率,高质量,高容错 。(编码单位固定16*16)开源实现:ffmpeg、openh264、x264。

H. 265:能达到H.264两倍之压缩率,可支持4k分辨率,最高到8k。(编码单位8*8-64*64)开源实现:ffmpeg、libde265、x265。

二者比较:H.265更为先进,同样画质的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值