将FLAC文件转换为OGG Vorbis


9

是否有用于转码和同步音乐目录的Linux工具?

我将音乐编码为FLAC,并将其保存在外部硬盘驱动器上。不久前,我将此集合转码到另一个目录中的OGG Vorbis。从那时起,我已添加到FLAC集合中。我正在寻找一种可以扫描我的主要(FLAC)集合并将任何新添加的内容转码为较小的(Vorbis)集合的工具。

我想到的是像Unison或Rsync一样工作的东西(但能够忽略文件格式不同的事实),而且在复制过程中也进行了转码。

有没有做这种事情的工具?


我使用python程序遍历MP3文件树,以将所有FLAC文件移出(因为Picard放置了FLAC和MP3),然后遍历FLAC树,如果目标MP3不存在(将FLAC转换为临时WAV,则将它们转换) LAME),同时保留FLAC文件中的ID3标签。该脚本相对简单,但是我找不到从命令行自动完成所有操作的任何东西。
Anthon 2014年

Answers:


14

您可以使用诸如soundconverter之类的图形转换器。但是,由于您需要将其添加到ogg集合中,因此我相信您可能正在寻找一些命令行解决方案。您可能可以尝试,

ffmpeg -i musicfile.flac musicfile.ogg

甚至,

find . -name "*flac" -exec oggenc -q 7 {} \;

一旦确定了文件转换的有效方法,下一步将是基于文件的差异执行rsync。

资料来源

Ubuntu论坛


有关如何保留ID3标签的信息,请参见此处
拉斐尔

1

试试这个bash脚本:

EXT=flac
for file in *.${EXT}; do
   if [ ! -e ${file%.flac}.ogg ]; then          
        ffmpeg -i ${file} -qscale:a 6 ${file%.flac}.ogg
   fi
done

这确实会对所有文件进行转码,而不仅仅是对新添加的文件进行转码(这是OP要求的)
Anthon

@Anthon对,但Ramesh的回答也没有。如果您对此投票不满意,则应同时对两者进行投票。
xhienne

@xhienne我不理解您对低票的提及,您指的是什么?这篇文章不被拒绝。我只是从审阅队列中审阅了此答案并发表了评论,这与否决不同。
Anthon

抱歉,Anthon,在我撰写本文时被否决了,我相信那是您的投票。自那以后
人们

1
您需要将所有变量括在引号中,以正确处理名称中带有空格的文件。
grifferz

1

我使用的是acxi,基本上可以完成op想要的操作。将flac目录同步到ogg(或mp3或opus)目录,包括复制我想要的其他任何文件,例如jpg,txt,png等。

https://github.com/smxi/acxi

简单的perl脚本,带有配置,选项等。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.