ffmpeg -i input.mov -c:v h264_videotoolbox -b:v {bitrate} -c:a aac
output. mp4
# or
ffmpeg -i input.mov -c:v h264_videotoolbox -b:v 1000k -c:a aac
output. mp4
使用 ffmpeg(命令行工具)
ffmpeg 是一个强大的多媒体处理工具,适合快速转换视频格式和调整分辨率。
1. 安装 ffmpeg
如果你还没有安装 ffmpeg,可以通过 Homebrew 安装:
bash
复制
brew install ffmpeg
2. 转换 .mov 为 .mp4(1080p)
使用以下命令将 .mov 文件转换为 1920x1080 的 .mp4 文件:
bash
复制
ffmpeg -i input.mov -vf "scale=1920:1080" -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4
参数说明:
i input.mov:指定输入文件。vf "scale=1920:1080":将视频分辨率调整为 1920x1080。c:v libx264:使用 H.264 编码器。crf 23:控制视频质量,范围是 0(无损)到 51(最差),23 是默认值,质量较好。preset medium:平衡编码速度和质量(可选:ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow)。c:a aac:使用 AAC 音频编码器。b:a 128k:设置音频比特率为 128kbps。output.mp4:指定输出文件名。
3. 运行命令
将 input.mov 替换为你的文件名,然后运行命令。转换完成后,你会得到一个 output.mp4 文件。
加快转化速度
如果你希望在使用 ffmpeg 转换视频时 加快速度,可以通过调整编码参数来优化性能。以下是一些常用的方法:
1. 使用更快的编码预设(preset)
ffmpeg 的 -preset 参数控制编码速度和质量之间的平衡。默认是 medium,你可以选择更快的预设来加快速度:
ffmpeg -i input.mov -vf "scale=1920:1080" -c:v libx264 -crf 23 -preset fast -c:a aac -b:a 128k output.mp4
可选的 preset 值:
ultrafast:最快,但质量最低。superfastveryfastfasterfast:比medium快,质量稍低。medium(默认)slow:更高质量,但速度较慢。slowerveryslow:最慢,但质量最高。
注意:越快的预设会降低压缩效率,可能导致文件变大或质量稍低。
2. 使用硬件加速(如果支持)
如果你的设备支持硬件加速(如 Intel Quick Sync、NVIDIA NVENC 或 AMD AMF),可以显著加快编码速度。
使用 NVIDIA NVENC(需要 NVIDIA GPU 和驱动支持):
ffmpeg -i input.mov -vf "scale=1920:1080" -c:v h264_nvenc -preset fast -cq 23 -c:a aac -b:a 128k output.mp4
使用 Intel Quick Sync(需要 Intel GPU):
ffmpeg -i input.mov -vf "scale=1920:1080" -c:v h264_qsv -preset fast -global_quality 23 -c:a aac -b:a 128k output.mp4
使用 AMD AMF(需要 AMD GPU):
ffmpeg -i input.mov -vf "scale=1920:1080" -c:v h264_amf -quality speed -c:a aac -b:a 128k output.mp4
注意:硬件加速可能会稍微降低质量,但速度会显著提升。
3. 降低 CRF 值(牺牲一些质量)
crf参数控制视频质量,值越低质量越高,但文件越大。适当提高crf值可以加快编码速度:
ffmpeg -i input.mov -vf "scale=1920:1080" -c:v libx264 -crf 26 -preset fast -c:a aac -b:a 128k output.mp4
- 默认
crf 23,你可以尝试crf 26或更高(范围是 0-51,值越大质量越低)。
4. 禁用音频重新编码
如果不需要重新编码音频,可以复制原始音频流以加快速度:
ffmpeg -i input.mov -vf "scale=1920:1080" -c:v libx264 -crf 23 -preset fast -c:a copy output.mp4
c:a copy:直接复制音频流,不重新编码。
5. 多线程编码
ffmpeg 默认会使用多线程,但你可以手动指定线程数以优化性能:
ffmpeg -i input.mov -vf "scale=1920:1080" -c:v libx264 -crf 23 -preset fast -threads 4 -c:a aac -b:a 128k output.mp4
threads 4:指定使用 4 个线程(根据你的 CPU 核心数调整)。
6. 使用更快的缩放算法
vf "scale=1920:1080"默认使用高质量的双线性缩放算法。你可以使用更快的算法(如neighbor或bilinear):
ffmpeg -i input.mov -vf "scale=1920:1080:flags=neighbor" -c:v libx264 -crf 23 -preset fast -c:a aac -b:a 128k output.mp4
flags=neighbor:使用最近邻算法(最快,但质量较低)。flags=bilinear:使用双线性算法(较快,质量中等)。
7. 示例命令(综合优化)
以下是一个综合优化的命令:
ffmpeg -i input.mov -vf "scale=1920:1080" -c:v libx264 -crf 26 -preset superfast -threads 4 -c:a copy output.mp4
crf 26:稍微降低质量以加快速度。preset superfast:使用更快的编码预设。threads 4:使用 4 个线程。c:a copy:直接复制音频流。
总结
- 使用更快的
preset(如superfast或ultrafast)。 - 启用硬件加速(如 NVIDIA NVENC 或 Intel Quick Sync)。
- 适当提高
crf值以加快速度。 - 直接复制音频流(
c:a copy)。 - 使用多线程(
threads)。
如果你有硬件加速支持,强烈推荐使用硬件加速,速度会显著提升!