文件随ffmpeg递归转换而消失

时间:2014-08-10 10:02:42

标签: bash ffmpeg xubuntu

我开始在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)

所以,因为我没有看到差异,但也许,我正在丢失任何数据来研究?

0 个答案:

没有答案