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
:最快,但质量最低。superfast
veryfast
faster
fast
:比medium
快,质量稍低。medium
(默认)slow
:更高质量,但速度较慢。slower
veryslow
:最慢,但质量最高。
注意:越快的预设会降低压缩效率,可能导致文件变大或质量稍低。
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
)。
如果你有硬件加速支持,强烈推荐使用硬件加速,速度会显著提升!