![将所有标签从一个 FLAC 文件复制到另一个文件?](https://linux22.com/image/43440/%E5%B0%86%E6%89%80%E6%9C%89%E6%A0%87%E7%AD%BE%E4%BB%8E%E4%B8%80%E4%B8%AA%20FLAC%20%E6%96%87%E4%BB%B6%E5%A4%8D%E5%88%B6%E5%88%B0%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%EF%BC%9F.png)
有没有一种方法可以使用命令行工具将所有标签从一个 FLAC 文件无缝复制到另一个文件?
答案1
metaflac --export-tags-to=- input.flac | \
metaflac --remove-all-tags --import-tags-from=- output.flac
可能也需要这个--no-utf8-convert
选项。
答案2
如果您只想要元数据的文本部分,则应该使用--no-utf8-convert
带有导出和导入选项的metaflac,否则不在您的shell字符集中的字符会被破坏(例如,对我来说,日语元数据在没有它的情况下确实会被破坏):
metaflac --no-utf8-convert --export-tags-to=- src.flac | metaflac --remove-all-tags --import-tags-from=- dest.flac
不知道为什么 utf8 不是默认值。
这是不是完全的。如果你也想移动图像,可以使用一个小的 python 脚本诱变剂是最好的复制方式全部元数据。
答案3
我对这些回复有点困惑,因为标签和图像默认使用 ffmpeg 进行本地传输。
我认为这个问题被 OP 术语所困扰,但如果实际目标是从保留所有注释头/元数据的 flac 创建一个 flac,ffmpeg 会自动执行此操作:
ffmpeg -i input.flac output.flac
如果要更改 output.flac 中的压缩级别,请使用“-compression_level [1-8]”选项。 -y 将覆盖 output.flac(如果它已存在)。
我刚刚对此进行了测试,一切都“正常”。所有标签传输,嵌入图像传输。
导出标签可以用于其他目的,但在这种情况下,做一些非常简单的事情有点不必要的步骤。
这是假设 output.flac 尚未标记。否则,基于 metaflac 的解决方案将有助于首先删除标签。请注意,如果 output.flac 已有嵌入图像,则图像嵌入更加复杂,并且需要更多步骤,但这超出了此特定问题的范围。