Audio

使用 FFMPEG 將文件轉換為 OGG 會產生一個非常大的文件

  • June 21, 2016

當嘗試將 mp3 或 flac 文件轉換為 ogg 時,輸出的 ogg 文件實際上是一個文件大小很大的 flac 文件。

例如:執行for file in *.mp3; do ffmpeg -i "${file}" "${file/%mp3/ogg}"; done然後檢查文件mediainfo output.ogg給出:

General
Complete name                            : 06 - Magma.ogg
Format                                   : Ogg
Format/Info                              : Free Lossless Audio Codec
File size                                : 47.0 MiB
Duration                                 : 6mn 42s
Overall bit rate mode                    : Variable
Overall bit rate                         : 980 Kbps

Audio
ID                                       : 1238237382 (0x49CE00C6)
Format                                   : FLAC
Format/Info                              : Free Lossless Audio Codec
Duration                                 : 6mn 42s
Bit rate mode                            : Variable
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 44.1 KHz
Bit depth                                : 16 bits
Writing library                          : Lavf57.37.100

在我的例子中,輸入的 mp3 是 6 兆字節,但 ogg 文件由於某種原因是 47 兆字節。為什麼會發生這種情況,為什麼要在不發生這種情況的情況下將文件轉換為 ogg?

正如您在輸出中看到的,您將音頻編碼為Format : FLAC. 這是一種無損壓縮格式。ogg只是一個容器,可以容納不同的格式。為了保持與您的 mp3 相似的大小和質量,您可以明確選擇更常用的vorbis格式:

ffmpeg -i in.mp3 -c libvorbis out.ogg

預設情況下它沒有這樣做的事實可能意味著您需要安裝 libvorbis 軟體包,具體取決於您的系統。

引用自:https://unix.stackexchange.com/questions/291032