ffmpeg压制视频命令及常用转码参数解析

1.压制视频命令

ffmpeg.exe -i "input.mkv" -r 6 -qmin 30 -qmax 40 -ab 28k -ar 15000 -ac 1 -y "output.mkv"

2.基本参数

-i 文件输入选项

-vcodec 在-i前表示解码解码器,在-i后表示编码编码器,可选值:copy、libx264 、h263、libxvid 、mpeg4、msmpeg4v2等

-s 表示编码输出的分辨率,如1280×720等

-aspect 表示宽高比,可以写16:9、4:3这种,也可以写小数,比如1.3333

-pix_fmt 表示编码像素格式,如yuv420p等

-b 表示视频的码率,与-b:v含义一样,单位为bps,可写成如“-b:v 500k”

-r 表示帧率,如25.0等

-g 表示gop的大小,一般可设为帧率的2倍

-acodec 表示音频编码器,如aac等

-ab 表示音频的码率,与-b:a含义一样,与视频一样单位为bps,如“-b:a 128k”等

-ac 表示音频的通道数,1即单声道,2即双声道等

-ar 表示音频的采样率,如44100、48000等

-profile:v 表示视频编码时用的profile,质量由低到高有base、main、high等选项

-f 表示输出的封装格式,如mp4、flv、mov等

-y目标视频存在直接覆盖

3.进阶参数

-qmin、-qmax 最小和最大量化因子。越大压缩越厉害,质量也就越差

subq 亚像素运动估计复杂度;调高此值,理论上可提升画质和压缩比,但影响编码速率;设置为5,即刚好不是用RDO;

me_method 全像素运动预测模式;调高此值,理论上可提升画质和压缩比,但影响编码速率;设置为hex,可较好的平衡编码速率与质量;

me_range 最大运动搜索范围,单位像素;调高此值,理论上可提升画质和压缩比,但影响编码速率;当me_method值为umh以下时(不含umh),此时,该值有效范围为4至16;当me_method值为umh以上时(含umh),此值可设置更大值,但影响编码速率;

refs 最大参考帧队列长度,即DPB大小;调高此值,理论上可提升画质和压缩比,但影响编码速率; level为3.1时,1280×720的片源DPB最大值为5,level为4.1时,1280×720的片源DPB最大值为9,1920×1080的片源DPB最大值为4;

bf 最大连续B帧数;调高此值,理论上可提升压缩比,但影响编码速率;一般在使用帧级并行编码时,逻辑CPU核数 = bf + 1;

b_strategy B帧生成策略,控制P帧与B帧的决策;调高此值,更精确的判定是否使用B帧,但影响编码速率;设置为1,可较好的平衡编码速率与压缩比;

trellis 网格化量化;调高此值,理论上可提升画质和压缩比,但影响编码速率;设置为1,可较好的平衡编码速率与压缩比;

aq-mode 自适应量化模式,将位元合理分配给图像各个部分的策略;调高此值,理论上可提升画质,但影响编码速率;设置为1,可较好的平衡编码速率与压缩比;

aq-strength 自适应量化强度,即将位元分配给图像低频部分的倾向性;调低此值,理论上可增加图像低频部分的码率,有效范围0至2.0;

qcomp 量化曲线系数;调低此值,码率更平稳,调高此值,量化的变化率更加稳定,有效范围0至1.0;

deblock 启用去方块滤波,可有效降低方块效应,但会使画面较模糊,一般范围为-3至3;

threads 编码线程数;一般设为auto,由系统判定,也可设置为当前逻辑CPU核数的1.5倍;

thread_type 并行编码的类型;一般使用帧级并行处理。

转载于:
零五博客 » ffmpeg压制视频命令及常用转码参数解析

你可能感兴趣的:(ffmpeg)