Windows下安装ffmpeg
打开终端(管理员):
winget settings --enable ProxyCommandLineOptions
winget install ffmpeg --proxy http://127.0.0.1:7890
ffprobe
ffprobe能够检测输出所给文件的信息:
ffprobe D:\Downloads\xxx.mp3
格式转换
基本命令格式如下,它会将xxx.flac
转为码率为320kbps的xxx.mp3
文件:
ffmpeg -i xxx.flac -b:a 320k xxx.mp3
默认情况下新版ffmepg也会自动将元数据复制到新文件中(等同于命令行参数-map_metadata 0:g
)。但是,有些时候根据源音乐格式的不同,我们可能需要手动指定参数-map_metadata 0:s:0
才能转移元数据。
那么如何确定用0:g还是0:s:0呢?这就要看源音乐文件的格式了:
比如上图所示的音乐,可以看到Metadata字段是直接跟在Input后的,所以使用默认参数0:g。
再比如这个音乐,Metadata字段是跟在Stream后的,这时就要指定0:s:0,将第0个输入文件的第0条Stream的Metadata复制到输出文件的全局Metadata中。
此外,对于Windows资源管理器,还需要添加一些兼容选项-id3v2_version 3 -write_id3v1 1
才能让它读取到标签。
所以,最终的命令就是(需要根据情况选用-map_metadata
的值):
ffmpeg -i "xxx.flac" -b:a 320k -map_metadata 0:g -id3v2_version 3 -write_id3v1 1 xxx.mp3
专辑封面默认也应该是会复制过去的。如果没有或遇到报错,可以尝试指定参数-map 0 -map 1 -c:v copy
。
ffmpeg的官方命令行帮助文档,可自行搜索查阅:https://ffmpeg.org/ffmpeg.html