我正在使用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 版本缺少libtheora
Theora 视频和libvorbis
Vorbis 音频所需的编码器。
您只能通过以下方式添加这些编码器
- 使用 FFmpeg 编译它们,或者
- 安装已捆绑它们的可执行文件。
对于你来说,最简单的选择是从下载静态版本FFmpeg 下载页面。它们都带有libtheora
和libvorbis
,无论它们是为哪种操作系统构建的。
然后你需要做的是提取下载的存档并运行其中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
希望它能帮助其他人或未来的我;)