用途:在编写视频编码脚本前,先确认当前 FFmpeg 安装中可用的 H.264 编码器,避免因库版本不匹配(尤其是 libopenh264)导致失败。
主要能力与用法:
- 探测编码器:运行 ffmpeg -encoders 2>/dev/null | grep h264,查看编译进当前 FFmpeg 构建的 H.264 编码器。
- 解读结果:常见编码器包括 libx264(软件编码,首选,兼容性好)、libopenh264(软件编码,慎用,常有库版本不匹配)、h264_nvenc(NVIDIA 硬件)、h264_videotoolbox(macOS 硬件)、h264_vaapi(Linux Intel GPU)、h264_qsv(Intel QuickSync)。
- 选择策略:同分辨率源无需重编码时用 ffmpeg -i input.mp4 -c:v copy -c:a copy output.mp4;有 libx264 时用 ffmpeg -i input.mp4 -c:v libx264 -preset medium -crf 23 -c:a aac output.mp4;仅有 libopenh264 时用 ffmpeg -i input.mp4 -c:v libopenh264 -c:a aac output.mp4,但需谨慎。
- 批量处理前先用小样本文件验证命令。
最佳实践:同分辨率优先 -c:v copy;软件编码优先 libx264;在脚本启动时检查编码器而非执行中;同一会话多次编码可缓存检查结果;自动化脚本提供回退(先 copy,再 libx264,最后优雅失败)。
限制与注意:不要假设 libx264 一定可用,FFmpeg 构建因系统而异;不要未检查就使用 libopenh264;不要无必要地重编码;不要跳过编码器检查。资料未提供具体收费、平台或效果信息。