把VFR视频转为CFR的高效率方法(用ffmpeg)

2025-11-13 16:44:49

1、到https://ffmpeg.zeranoe.com/builds/下载需要的ffmpeg版本

下载static或者shared版本都是可以的,dev是给开发者用的,在这里我们忽略它。

把VFR视频转为CFR的高效率方法(用ffmpeg)

2、打开下载好的文件,进入bin文件夹

把里面的ffmpeg.exe解压到X:/Windows(X指的是系统盘),然后就相当于“安装”好了。当然,如果你会的话,也可以设置环境变量,在这里就不细说这个了。

把VFR视频转为CFR的高效率方法(用ffmpeg)

把VFR视频转为CFR的高效率方法(用ffmpeg)

3、打开CMD

输入ffmpeg并回车

如显示下列第三张图的信息就说明ffmpeg已成功被“安装”

把VFR视频转为CFR的高效率方法(用ffmpeg)

把VFR视频转为CFR的高效率方法(用ffmpeg)

把VFR视频转为CFR的高效率方法(用ffmpeg)

1、在官方文档(可以在上面文件中的doc文件夹查看)中,我们可以看到这段介绍,可以看出cfr是符合我们需求的,如果视频中多帧或者少帧了,它会自动对这些帧进行丢弃或者复制的操作,进而达成固定帧率的目标。

把VFR视频转为CFR的高效率方法(用ffmpeg)

2、那到底怎么把VFR转成CFR?让我们先看一个例子:

假设原视频文件在C盘,名称为input.mp4

于是我们就可以再在步骤一中的CMD中打上

ffmpeg -i "C:/input.mp4" -vsync cfr -c:v libx264 -crf 20 -c:a copy -f matroska  "C:/output.mkv"

按回车键运行,

然后你就会发现在C盘多了一个叫output.mkv的文件,这个就是VFR转为CFR后的视频,

对,这样就完了,是不是很高效率?连什么timecode都不用管....真够方便的

至于上面各命令的意思,应该是显而易见的,在这里就不再赘述,不过还是稍微提一下,上面的-crf 20中的数值越低,出来的画质就会越好。

把VFR视频转为CFR的高效率方法(用ffmpeg)

把VFR视频转为CFR的高效率方法(用ffmpeg)

1、不过还是建议再加上一些东西,如果你用的是用上面命令转出的CFR,会发现怎么视频帧率有点奇怪?明明是30帧的给我个30.11帧什么的,虽然说这样的CFR视频好像也够用了,但对于我这个强迫症来说,30.11帧是不可接受的(被B站二压过的视频全是这个样子),于是我会加上句-x264opts force-cfr=1来解决这个问题

ffmpeg -i "C:/input.mp4" -vsync cfr -c:v libx264 -x264opts force-cfr=1 -crf 20 -c:a copy -f matroska  "C:/output.mkv"

这样帧率就完美了

2、有时候一些视频会因为音频有问题而导致压制后音画不同步,经我研究过很久发现,ffmpeg中aresample滤镜能解决这个问题:

现在我们的命令变成了这样:ffmpeg -i "C:/input.mp4" -vsync cfr -c:v libx264 -x264opts force-cfr=1 -crf 20 -c:a aac -b:a 320k -af aresample=async=1000 -f matroska  "C:/output.mkv"

至于-c:a aac -b:a 320k是什么意思,-af又是什么意思,网上资源应该很多,我就不说了,反正无脑用就行了。

至此,这个CFR视频已“趋于完美”。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢