
我在用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)"
安裝 ffmpeg 並支援 libtheora
$ brew install ffmpeg --with-theora --with-libvorbis
其他選項列於此處
$ brew options ffmpeg
希望它對其他人或未來的我有幫助;)