Почему wget работает с некоторыми файлами в sox, но не с другими?
Привет,
Я испытываю ошибку во взаимодействии между библиотекой обработки звука под названием SoX (v14.4.2) и wget в Windows 7:
Ошибка утверждения: stream->md_len + md_len - si.main_data_begin <= MAD_BUFFER_MDLEN, файл layer3.c, строка 2633
layer3.c - это из библиотеки libmad (источник здесь).
Есть некоторые файлы, для которых это работает, а другие-нет. Смотрите тестовые примеры ниже. Это не имеет никакого отношения к размерам файлов, и я могу загрузить оба файла просто отлично, когда я вручную wget любой из них за пределами SoX.
Хороший тестовый случай: http://garchives1.broadcastify.com/2783/20190427/201904271420-550627-2783.mp3 (3,49 МБ)
Неудачный тестовый случай: http://garchives1.broadcastify.com/24808/20190427/201904271447-606881-24808.mp3 (3,47 МБ)
Для обоих URL-адресов я запускаю эту простую команду:
Сокс [URL_HERE] выход.МР3
Я все еще получаю see output.mp3 от плохого wget, но это всего лишь 1,30 КБ и в основном ничего не имеет.
Кто-нибудь еще видел это раньше? Я что-то упустил?
Спасибо за вашу помощь и время!
Майкл
Что я уже пробовал:
Я попробовал опцию буфера (--buffer [NUMBER_HERE]), думая, что она все равно захватит весь файл, но только по более мелким частям за раз. Вместо этого он просто захватывает небольшую часть и останавливается. Я не могу сделать больше 3000 или около того без того, чтобы он не разбился и не дал ту же ошибку, что и выше.
Еще одна вещь, которую я попробовал, - это несколько выходных форматов.
wget прекрасно работает с обоими файлами сам по себе. Это только когда используется с SoX.