我正在使用 FFmpeg 在视频上叠加文本,但我发现这个过程相当慢。当我添加复杂的 drawtext 过滤器时,操作会变得特别慢。我在配备 M1 Pro 和 32GB RAM 的 MacBook Pro 上运行这个程序,但 FFmpeg 最多只使用了 20% 的 CPU。我想在不影响质量的情况下加快这个过程。
这是我正在使用的 FFmpeg 命令:
ffmpeg -i input.mp4 \
-vf "drawtext=fontfile='/path/to/font.ttf':textfile='text1.txt':\
x=(w-text_w)/2:y=(h-text_h)/2:fontsize=65:[email protected]:\
bordercolor=black:borderw=9:shadowcolor=black:shadowx=5:shadowy=5:\
box=1:[email protected]:boxborderw=20:fix_bounds=1:line_spacing=10:\
enable='between(t,0,5)',\
drawtext=fontfile='/path/to/font.ttf':textfile='text2.txt':\
x=(w-text_w)/2:y=(h-text_h)/2:fontsize=65:[email protected]:\
bordercolor=black:borderw=9:shadowcolor=black:shadowx=5:shadowy=5:\
box=1:[email protected]:boxborderw=20:fix_bounds=1:line_spacing=10:\
enable='between(t,5,10)'" \
-b:v 5000k -c:v h264_videotoolbox -threads 0 -y output.mp4
关于如何优化此命令以更好地利用 CPU 并提高使用 FFmpeg 的文本叠加速度,有什么建议吗?