批量/批量通过命令行将mp3文件转换为ogg?

是否可以通过命令行将mp3转换为ogg?

我想只是在大量猛扑将我的mp3文件转换为ogg所以我可以在Firefox中播放它们没有任何问题。

搜索匹配ogg的软件包,我发现dir2ogg似乎正是你想要的。 只是

sudo apt-get install dir2ogg dir2ogg -r /path/to/mp3s/ 

它递归地查找并将/path/to/mp3s/下的所有mp3文件转换为ogg(假设我正确阅读了手册)。

使用FFMPEG和String Manipulation的组合。

切换到您的mp3所在的文件夹:

 cd mp3folder 

一个例子是使用一个简单的“for”循环:

 for file in *.mp3 do ffmpeg -i "${file}" "${file/%mp3/ogg}" done 

双引号可防止文件名中的空格被视为“换行符”。

ffmpeg有几个选项可以包含在转换中,如编解码器,比特率,样本大小,立体声/单声道等……以上是使用默认设置的最通用的转换。

小心从MP3,M4A等到OGG的转换,因为结果可能听起来很差!

警告 :MP3和OGG都是有损格式,与WAV或FLAC不同。 这意味着他们通过丢弃人耳难以察觉的一些音频信息来实现压缩(称为心理声学 [维基百科] )

当您从一种有损格式编码(转码)到另一种时,大多数心理声学冗余位已经消失,因此转码质量将受到影响,甚至可能在结果中“可以接受”。 因此,除非绝对必要,否则不建议进行此类转换。


如果通过选择比比特率更高的目标比特率来最小化效果

如果你进行MP3-to-OGG转换,你可以通过使用比比特率更高的目标比特率来最小化伪像(质量差)的机会,例如,如果你的MP3是128 kbps,尝试在-q7使用Ogg(变量)比特率级别7),通常约为200 kbps。

您可以将-q选项传递给dir2ogg(在repos中提供为@geirha提到),它应该可以执行您想要的操作。

你可以使用avconv一个gpl程序,我做了一个用于exemplify的shell(在带有.mp3文件的文件夹上运行它):

 #!/bin/bash if hash avconv > /dev/null; then for file in *.mp3 do avconv -i "${file}" "`echo ${file%.mp3}.ogg`"; done else echo "avconv not found" fi 

或更简单的版本,没有validationavconv安装:

 #!/bin/bash for file in *.mp3 do avconv -i "${file}" "`echo ${file%.mp3}.ogg`"; done 

这是使用mplayer的一个我认为这比avconv更快。 虽然,firefox应该本地播放mp3文件。

 #!/bin/bash for f in *.mp3; do newname=`echo $f | tr ' ' '_' ` mv "$f" $newname f=$newname mplayer $f -novideo -ao pcm:file=tmp.wav lame -V 0 -q 0 tmp.wav ${f/.mp3/.ogg} rm -f tmp.wav done 

如果你只做音频使用下面的代码[否则FF不播放.ogg]

 for file in *.mp3; do ffmpeg -i "${file}" -acodec libvorbis "${file/%mp3/ogg}"; done 

ogg解析/替换mp3是不正确的。 正确的forms应该是:

 for file in *.mp3; do ffmpeg -i "${file}" -acodec libvorbis "${file%mp3}ogg"; done 

还有声音转换器 。 它支持GUI和CLI,并且可以在两种模式下执行批量转换。

这似乎可以解决您的问题http://www.perturb.org/display/entry/687/