Измельчение аудио файлов с помощью ffmpeg дает None duration Python 3 - PullRequest
0 голосов
/ 24 февраля 2019

У меня длинный список аудиофайлов, и некоторые из них длиннее часа.Я использую 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)

1 Ответ

0 голосов
/ 25 февраля 2019

Когда я меняю расширение с .wav на .m4a в командной строке cmd2, оно работает.Пишу здесь на всякий случай, если у кого-то возникла такая же проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...