У меня длинный список аудиофайлов, и некоторые из них длиннее часа.Я использую Python 3.6, ноутбук Jupyter, подключившись к удаленному компьютеру и используя библиотеку TinyTag, чтобы получить продолжительность аудио.Версия Ffmpeg - 2.8.14-0ubuntu0.16.04.1.
Мой код, приведенный ниже, распространяется на файлы, и если файл длиннее часа, он разбивает файл на части длиной в один час и оставшиеся части меньше часа и копирует части как fname_0,fname_1, fname_2 и т. д. Перед нарезкой каждый файл имеет формат .m4a, но во время нарезки он преобразуется в файл .wav.Однако после этого процесса измельчения при чтении продолжительности пьес я понял, что все кусочки имеют длительность «Нет».Что-то должно быть не так в командной строке, но я не вижу, что это такое.Заранее спасибо.
# fpaths is the list of filepaths
for i in range(0,len(fpaths)):
fpath=fpaths[i]
fname=os.path.basename(fpath)
fname0=os.path.splitext(fname)[0] #name without extension
tag = TinyTag.get(fname)
if tag.duration > 3600:
cmd2 = "ffmpeg -i %s -f segment -segment_time 3600 -c copy %s" %(fpath, fname0) + "_%d.wav"
os.system(cmd2)
os.remove(fpath)