想要将 C:\xxx\xxxx 目录下的 mkv 视频都批量转换成 mp4
每个视频大小大约 40GB,
现在做法是一个一个用转换器慢慢转换,40GB能压缩到1GB
请问有高效不损坏太多画质方式,批量转换吗? 谢谢
最后的命令是 chatgpt 提供的,我让他给出一个将 40G mkv 文件转码成 mp4 文件的命令(我已经测试过可用),
并且给出了每个参数的解释,你可以根据这些参数做微调,达到你想要的大小比例。
高效不损坏太多画质方式
是个伪命题,ffmpeg
已经代表了音视频转码的一流水准了,他能给你的效果基本上也已经是一流的了(目前市面上绝大部分的音视频处理工具都绕不开 ffmpeg),不存在既想要压缩比,又想要不损坏太多画质的方式,想要画质高文件一定大。
批量转换
需要你自己写代码去做,多线程调用下面的命令,线程数根据你的核心数选择,比核心数高了对效率没有帮助。
ffmpeg -i input.mkv -c:v libx264 -crf 28 -preset medium -vf scale=-2:720 -max_muxing_queue_size 1024 -c:a aac -b:a 128k -y output.mp4
-c:v libx264
使用H.264视频编码器进行重新编码-crf 28
表示选择28的恒定质量因子(数值越小表示质量越高)-preset medium
表示采用中等速度的编码器预设以控制压缩率和质量。-vf scale=-2:720
表示将视频分辨率缩放到宽度不超过720像素,而高度由原始宽高比自动计算。-c:a aac
表示使用AAC音频编码器进行重新编码-b:a 128k
表示设置音频比特率为128kbps。-max_muxing_queue_size 1024
表示提供队列大小,以确保不会出现内存问题。