2个稳定版本
1.1.0 | 2022年7月5日 |
---|---|
1.0.0 | 2022年5月15日 |
#543 在 音频
42KB
911 行
ffmusicsync
一个简单的实用工具,可以将您的音乐库转换为编码的音乐文件夹,并尽可能减少ffmpeg运行次数以保持其更新。
要求
功能
- 编码整个文件夹,复制已编码的歌曲
- 通过后续运行保持文件夹更新 - 您可以删除和添加到原始文件夹中的歌曲
- 从文件名中移除括号 - 不再需要在每个名称中包含
(原始混音)
,可自定义 - 支持大量文件格式 - 作为ffmpeg包装器,支持ffmpeg执行的所有操作
- 保存编码文件的列表,即使您更改重命名设置,也不需要重新编码它们
- 编码后复制封面到文件*
- 支持文件在rclone远程上 - 自动下载它们,本地编码并上传
*有关支持的复制格式列表,请参阅 lofty crate
配置示例
config.json
可以包含注释,因此您可以直接复制示例。
{
// Input and output directory
// Can be either a string or an object:
// If it's a string and contains a ':', it will be treated as an rclone remote
"inputDirectory": "MyStorage:FLAC",
"outputDirectory": {
// Both fields are optional
// If remote is not present or blank it will be treated as a local location
"remote": "MyStorage",
"path": "Encoded"
},
// Optional, used only when either the input or output directory is remote
"tempDirectory": "temp",
// An array of all extensions that will be encoded
// All that are not present here (such as mp3 in this case) will be just copied to the output directory
"extensionsToEncode": [
"flac"
],
// A string containing the extension for encoded files
"encodedExtension": "ogg",
// Add covers to files after encoding them
// ffmpeg can't do that by itself for OGG files
// The option doesn't need to be present, defaults to false
"copyCovers": true,
// A string containing the ffmpeg params
// ffmpeg command looks like:
// ffmpeg -i <INPUT> <PARAMS> <OUTPUT>
"ffmpegParams": "-c:a libopus -b:a 128K -vn",
// Whether to remove brackets, the options don't need to be present,
// in which case it will behave the same way as if they were set to false
// When set to true it will remove everything in between the brackets as well as one leading/trailing space
// Example with the below config:
// [LABEL] Author - Title (Original Mix) [YEAR].mp3
// Would be renamed to:
// Author - Title (Original Mix).mp3
"removeRoundBrackets": false, // ()
"removeSquareBrackets": true, // []
"removeCurlyBrackets": false, // {}
"removeAngleBrackets": false, // <>
}
命令行参数
-c
,--config
- 指定配置文件(默认:config.json)--color
- 强制启用颜色--dry-run
- 进行试验运行而不进行实际更改-e
,--encoded
- 指定存储有关哪些歌曲已编码的信息的文件(默认:encoded.json)-h
,--help
- 打印帮助信息-q
,--quiet
- 抑制ffmpeg输出-V
,--version
- 打印版本信息-y
,--yes
- 总是假设“是”作为所有提示的答案,并交互式运行
计划中的功能
- ViSQOL 支持自动比特率模式
许可证
根据以下任一许可证授权
- Apache许可证,版本2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 https://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确说明,否则根据Apache-2.0许可证定义,您有意提交以包含在作品中的任何贡献,将按照上述方式双许可,不附加任何额外条款或条件。
依赖关系
~6–16MB
~197K SLoC