如何将 webm 转换为适用于 MacOSX 的 mp4?

如何将 webm 转换为适用于 MacOSX 的 mp4?

我在使用 MacOSX Lion,想要一种将 webm 转换为 mp4(或其他 iTunes 兼容格式)的方法。这ffmpeg似乎是一种可能性,但是文档对我来说有点难懂;如果能提供分步说明就更好了。

答案1

获取 FFmpeg

如果你想使用ffmpeg,请转到

如果你手动下载了它(不是用 Homebrew),我建议将ffmpeg可执行文件复制到你的 PATH,以便你可以从终端使用它。假设你将其下载到~/Downloads/ffmpeg/ffmpeg,然后执行以下操作:

sudo mkdir -p /usr/local/bin
sudo cp ~/Downloads/ffmpeg/ffmpeg /usr/local/bin/
sudo chmod +x !$ /usr/local/bin/ffmpeg

转换为 MP4

现在,通过“转换为 MP4”,我假设您的意思是分别使用 H.264 和 AAC 作为视频和音频编解码器。为此,基本命令是:

ffmpeg -i input.webm -c:v libx264 -c:a aac -strict experimental -b:a 192k output.mp4

如果你想控制质量,看看x264 编码指南。它使用选项进行设置-crf,其中默认值为 23,值越低表示质量越好(典型值为 18 到 28)。在上面的示例中,它使用默认视频质量 23,使用 192 kBit/s 恒定音频比特率。

至于音频,静态构建不支持libfdk-aac,但如果您支持它,则应该使用它:

ffmpeg -i input.webm -c:v libx264 -c:a libfdk_aac output.mp4

FDK-AAC 提供比内部 AAC 编码器更好的质量。如需控制音频质量,请参阅AAC 编码指南

答案2

这就是我在 FreeBSD 上成功使用的方法,创建了 MacOS 可以识别的 MP4 文件:

ffmpeg -i input_filename -acodec aac -b:a 128k -vcodec mpeg4 -b:v 1200k -flags +aic+mv4 output_filename.mp4

我从命令行开始使用本教程,但由于未找到后者而不得不libfaac改为...aac

肯定存在某种影响多媒体编解码器领域程序员的特殊疯狂,导致他们巧妙地将命令行选项从一个版本更改为另一个版本。

相关内容