在我的代码中:
ffmpeg -i "video.m2ts" -vn -sn -acodec flac "audio.flac"
输出.flac
音频文件给我 500kbps 比特率,这导致文件大小很大。我想降低音频比特率,但找不到任何选项来做到这一点。有什么办法可以解决这个问题吗?谢谢。
(顺便说一下,我只需要音频文件)
答案1
FLAC 是一种无损编解码器,因此压缩性有限。
最好的情况下,你可以使用
ffmpeg -i "video.m2ts" -vn -sn -acodec flac -compression_level 12 "audio.flac"
由于您有 MPEG 传输流,您还可以尝试
ffmpeg -i "video.m2ts" -vn -sn -acodec copy "audio.mp4"
这将提取音频而无需重新压缩。
答案2
从技术上来说,这是可能的通过将任何无损音频文件转换为 Ogg 然后再转换为 FLAC 来更改其比特率。
# Converting to Ogg...
ffmpeg -i "Real.flac" -ab 450k -ar "Fake.ogg"
# And to FLAC
ffmpeg -i "Fake.ogg" -max_muxing_queue_size 9999 "Fake.flac"
# Extracting side channels (useful for examining some cases)
ffmpeg -i "Fake.flac" -af "stereotools=mode=ms>rr" "Verify.wav"
比较
mutagen
- Mutagen 是一个处理音频元数据的 Python 模块。
>>> from mutagen import File as mFile
>>>
>>> Files = "Real.flac", "Fake.ogg", "Fake.flac"
>>> for File in Files:
... print('Bitrate of "{0}" is {1}kb/s.'.format(File, mFile(File).info.bitrate // 1024))
...
Bitrate of "Real.flac" is 1239kb/s
Bitrate of "Fake.ogg" is 439kb/s
Bitrate of "Fake.flac" is 1994kb/s
>>>
有趣的是,假的 FLAC 文件的比特率比原始文件更高。