xvid编码器是一款开放源代码的视频编解码器,遵循GPL协议发布,在众多codec对比测试中表现稳定,属于功能比较全面的PC端视频编码方案之一。它能把数字视频数据压缩得更小,便于在网络上传输或在磁盘上存储。xvid提供两种编码方式,并涉及Q值、I帧、P帧、B帧等基础概念。下面按原有结构整理它的编码模式、帧类型说明和编码流程。

xvid的编码方式分为single pass和twopass两种。single pass模式操作简单、编码速度快,但最终画面效果不如twopass
twopass需要经过两次编码,分别为twopass-1st pass(简称1pass)和twopass-2nd pass(简称2pass)。1pass时,编码器以最高质量采集可供第二次运算参考的画面信息;2pass时,编码器根据第一次压缩得到的信息和用户指定的文件大小自动分配比特率,让运动画面较多的部分获得更高比特率和更多空间,以保证画面质量,而运动信息较少的静态画面则分配较低比特率。追求画质的人通常会选这种方式,但运算比single pass更费时
Q值——量化值,用来描述1帧的质量,每帧都有一个Q值,取值范围在1-31之间。Q值越小,画质越好,比特率越大
I-frame——关键帧,常被缩写为IF。关键帧是构成一个帧组的第一帧,保留了一个场景的所有信息
P-frame——未来单项预测帧,缩写为PF,只储存与之前一个已解压画面的差值
B-frame——双向预测帧,缩写为BF,除了参考之前解压的画面以外,也会参考后一帧的画面信息
各变量的设置:创建xvid_enc_frame_t和xvid_enc_stats_t,分别用于传入参数和统计编码结果
具体过程:设置传入图像数据和图像色彩空间;设置传出的码流;设置vol的标志;设置帧的编码类型;设置量化因子;设置运动估计算法集合;设置vop的标志;调用编码器提供的函数
(您的评论需要经过审核才能显示)
0条评论