我开始在askubuntu,要求一种方法来递归转换超过14K的wma到mp3从txt文件中提取wma文件路径。 有一个答案可以满足我的需求,但会出现一个错误。第一次运行有几百个工作正常。第二,一些wma专辑被转换,其他的完全删除。有一些修改。并且最后一次完全删除了所有wma而没有转换。
这是原始剧本
#!/usr/bin/env bash
readarray -t files < wma-files.txt
for file in "${files[@]}"; do
out=`echo $file | sed "s:wma:mp3:"`
probe=`avprobe -show_streams "$file" 2>/dev/null`
rate=`echo "$probe" | grep "bit_rate" | sed "s:.*=\(.*\)[0-9][0-9][0-9][.].*:\1:"`
avconv -i "$file" -ab "$rate"k "$out"
rm "$file"
done
然后用ffmpeg改编
#!/usr/bin/env bash
readarray -t files < wma-files.txt
for file in "${files[@]}"; do
out=`echo $file | sed "s:wma:mp3:"`
probe=`avprobe -show_streams "$file" 2>/dev/null`
rate=`echo "$probe" | grep "bit_rate" | sed "s:.*=\(.*\)[0-9][0-9][0-9][.].*:\1:"`
ffmpeg -i "$file" -ab "$rate"k "$out" && rm "$file"
done
第一个我转换了很多文件。其他只是删除。删除的内容始终是相同的版本(因此,发布中的所有曲目)。我可以听,甚至用Soundkonverter转换它们。
它们都产生“没有这样的目录文件”,当发生这种情况时,一切都会被删除。
存储文件的分区是usb HDD ntfs,但也发生在我的ext4内置HD中。 我在Xubuntu 14.04下
这里使用avconv运行的脚本(我设法转换了一些,但其他人得到了消失)http://pastebin.com/w5weqEws和ffmpeg(没有转换任何)http://pastebin.com/3QkaPzvW
我找不到成功和删除的原始wma之间的差异。但是,例如,虽然其他编程像甜菜读取和写入标签,puddletag和mp3tag(在葡萄酒下)不会,直到我用soundkonverter转换它们。
当那个试图帮助我的人在原始帖子https://askubuntu.com/questions/508278/how-to-use-ffmpeg-to-convert-wma-to-mp3-recursively-importing-from-txt-file/508304#508304上重定向我 我在这里要求任何帮助来运行这样的脚本。或任何使用ffmpeg递归转换音频文件。我的理解能力很短,因为只要能够阅读文档就可以做些工作。
所以我请求帮助来运行它。如果我遗漏任何相关信息,请告诉我。
注意:我想添加使用
进行转换for file in "${files[@]}"; do
out=`echo "$file" | sed s:wma:mp3:`
avconv -i "$file" -ab 192k "$out"
rm "$file"
done
它适用于相同的文件(与另一个文件一起删除的文件)。只有它使一切都达到192k,所以如果我转换低比特率的那么不好。并且得到这个错误“应用程序提供了无效的,非单调增加的dts到流0中的muxer”,这似乎是14.04中avconv的典型特征。使用ffmpeg我不能尝试因为我找不到如何使用它的方法,即使是在脚本之外。我真的不明白文档似乎 。
注意2:这是一个来自:
的mediainfo退出1-一个典型的wma,总是用脚本
消失Audio
ID : 1
Format : WMA
Format version : Version 2
Codec ID : 161
Codec ID/Info : Windows Media Audio
Description of the codec : Windows Media Audio 9 - 128 kbps, 44 kHz, stereo 1-pass CBR
Duration : 2mn 25s
Bit rate mode : Constant
Bit rate : 128 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Bit depth : 16 bits
Stream size : 2.21 MiB (99%)
Language : English (US)
2-一个成功转换的Wma(是的我现在正在使用副本,我特别不敢冒险在路上使用一些rares音频)
Audio
ID : 1
Format : WMA
Format version : Version 2
Codec ID : 161
Codec ID/Info : Windows Media Audio
Description of the codec : Windows Media Audio 9 - 128 kbps, 44 kHz, stereo 1-pass CBR
Duration : 4mn 35s
Bit rate mode : Constant
Bit rate : 128 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Bit depth : 16 bits
Stream size : 4.21 MiB (99%)
Language : English (US)
所以,因为我没有看到差异,但也许,我正在丢失任何数据来研究?