将视频从 .mp4 转换为 .ogg

将视频从 .mp4 转换为 .ogg

我正在使用ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers。我需要将文件 .mp4 转换为 .ogg 格式。我在 Mac OS X 上,到目前为止我已经尝试过:

ffmpeg -i sample_mpeg4.mp4 -acodec vorbis -vcodec libtheora -f ogg output.ogv

我正进入(状态:Unknown encoder 'libtheora'

ffmpeg -i sample_mpeg4.mp4 -acodec libvorbis -vcodec --enable-libtheora output.ogv

我正进入(状态:Unknown encoder '--enable-libtheora'

ffmpeg -i sample_mpeg4.mp4 -acodec libvorbis -vcodec libtheora -f ogv output.ogv

我正进入(状态:

[NULL @ 0x7f81bb00f800] Requested output format 'ogv' is not a suitable output format
output.ogv: Invalid argument

ffmpegtheora不是一个选项,因为它无法安装在服务器上。

答案1

您的 FFmpeg 版本缺少libtheoraTheora 视频和libvorbisVorbis 音频所需的编码器。

您只能通过以下方式添加这些编码器

  • 使用 FFmpeg 编译它们,或者
  • 安装已捆绑它们的可执行文件。

对于你来说,最简单的选择是从下载静态版本FFmpeg 下载页面。它们都带有libtheoralibvorbis,无论它们是为哪种操作系统构建的。

然后你需要做的是提取下载的存档并运行其中ffmpeg包含的二进制文件。正确的语法是:

ffmpeg -i in.mp4 -c:v libtheora -c:a libvorbis out.ogv

如果您想要更改音频或视频的质量,您可以更改比特率,例如使用-b:v 1M-b:a 192k。使用这些值并根据质量或文件大小限制使用更高或更低的比特率。

您还可以使用 VBR(恒定质量)-q:v,其中值的范围是 0 到 10(越高越好),建议使用 7。音频质量可以用 来设置-q:a,同样,其值的范围是 0 到 10,建议使用 4,大约相当于 128 kBit/s。

请注意,这--enable-libtheora是一个配置选项,在调用时不起作用ffmpeg

答案2

使用自制包管理器

在命令行中安装 Homebrew

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

安装支持 libtheora 的 ffmpeg

$ brew install ffmpeg --with-theora --with-libvorbis

其他选项列在此处

$ brew options ffmpeg

希望它能帮助其他人或未来的我;)

答案3

--enable-libtheora 应该在从源代码构建 ffmpeg 时使用,而不是在尝试运行程序时使用。您应该尝试重建 ffmpeg(使用当然是最新的来源) 并在配置期间添加对 libtheora 的支持 (./configure --enable-libtheora 等...)

如果你需要从源代码构建的帮助,谷歌上有很多东西,但它归结为(对你来说)启用你需要的库,你可以看到这里以及_http://jungels.net/articles/ffmpeg-howto.html 作为初学者。

相关内容