你还在用MP3格式保存音频文件?你知道MP3已经30多岁了吗?你知道MP3是目前最落后的有损音频压缩格式吗?
所以——现在就放弃使用MP3来存储和压缩你的音频文件,改换其他音质更好的音频压缩格式吧!

为什么选择 OPUS?

目前流行的音频格式中,除了WAV、FLAC这类无损格式,大部分格式都是通过有损压缩的方式来存储音频文件的。
如果你已有一个MP3的音频文件,将它转化为其他格式,并不会提高这个音频文件的质量。
但若是将WAV或FLAC进行压缩存储,使用更现代化的音频格式,在音质损失上会比MP3要小得多。

对于需要极限压缩文件大小,音质低于64kbps的音频文件,目前最好的压缩方式为 HE-AACv2,你可以找一些支持HE-AACv2的软件进行压缩(FFMPEG也支持,不过本文不作演示)。
对于音质有较高要求,比特率高于320kbps,可以选择OGG格式,它对于音质的损失是最小的,但同时压制时间也是最长的。
而综合音质与压制速度,我个人则最推荐OPUS格式!

首先,OPUS是目前最先进的音频格式,并且是开源程序,没有任何专利及授权费用!
不过也因为它太新了,所以部分老旧的物理播放设备可能不支持,但是绝大部分还在更新的音频播放器都是支持OPUS格式的!

接下来介绍一下如何将音频文件压制为OPUS

目前官方的 opus-tools 工具只支持极少数的无损音频文件,所以使用起来并不方便,使用前可能需要将原文件先进行转码。
而第三方工具中,FFMPEG 无疑是支持格式众多、使用最方便的转码软件了!

我个人推荐 Windows 用户使用 gyan 的每日编译版FFMPEG:
https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-essentials.7z

本站分流 https://www.lanzouj.com/iCDRE1d97o5a

解压后得到一个 ffmpeg.exe 文件,这就是我们所需要的编解码转换器的主程序了。
ffmpeg.exe 存放到一个目录中(示例中为 E:\ffmpeg\ffmpeg.exe),然后新建一个文本文件,将其改名为 媒体格式转OPUS.bat,右键此文件,点击编辑。

进入文本编辑后,复制并粘贴下面的代码,修改一下 SET FFMPEG="E:\FFMPEG\ffmpeg.exe" 中FFMPEG的位置,修改 -b:a 320k 为你预期的音频码率,如192k、128k等等。
修改完成后保存文件。

注意:文本的编码必须为ANSI,否则中文部分会出现乱码!
@echo off
echo 将媒体转化为OPUS

rem 请先设置FFMPEG的位置
SET FFMPEG="E:\FFMPEG\ffmpeg.exe"

IF "%~1" == "" GOTO _input
SET P1=%~1
echo %P1%
GOTO _output

:_input
echo 请输入文件
set /p P1=

:_output
%FFMPEG% -i "%P1%" -c:a libopus -b:a 320k -vbr constrained "%P1%.opus"

echo FFMPEG执行完毕,若是发生错误,请尝试修改文件位置
pause
此脚本你可以放到任何地方,并且支持目前所有的主流音频、视频媒体,使用方法有两种:

第一种方法,直接启动脚本,并将一个媒体文件拖拽到控制台内(Win10以上才支持?),回车后即可进行转码。或者你直接 Ctrl+C 复制文件,然后在控制台内右键即可粘贴文件位置。
转码后的文件会以 原文件名.opus 保存在原位置,只不过可能包含双扩展名,比如 音频.flac.opus,请自行更正文件名。

第二种方法更简单,你可以直接拖动一个音频文件,到 媒体格式转OPUS.bat 这个文件上面,脚本会自动读取你拖动的文件位置,并将输出的文件保存到原文件相同位置。

注意:WIN10的安全机制有可能会阻止此行为,如果拖放文件的方法无效,请新建一个文本文件,并命名为 启用WIN10文件拖放打开.reg,写入下面的代码并保存。
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLUA"=dword:00000000
保存完成后双击导入,然后重启一下电脑。

批量处理OPUS转换的小工具

使用脚本虽然很方便,不过只支持每次转换一个文件,并且文件名还需要重新修改。
所以我自己写了一个小程序,方便自己对多文件进行转换。



此程序目前仅支持转化OPUS格式,你可以直接将文件拖放到待处理列表中,也可以直接拖动文件夹进去,不过文件夹目前只支持读取主文件夹内的文件(不支持子文件夹,防止过载)。

设置好待转换的文件后,你可以在下方设置输出文件夹位置,所有转化的文件都会存储到指定的位置。
如果你没有设置输出文件夹,则OPUS文件会存储到原文件的位置,并智能保存为 原文件.opus 的格式名。

程序会首先在程序主目录下搜寻 ffmpeg.exe,如果没有搜寻到,则会在所有磁盘驱动器上搜寻 X:\ffmpeg\ffmpeg.exe 文件是否存在。
一般建议你直接下个 FFMPEG 放到程序的相同目录下即可。

所有参数设置完成后,点击 开始转换 按钮即可。