Как определить скорость .mp3 без загрузки? - PullRequest
3 голосов
/ 28 января 2012

У меня есть список файлов .mp3 через Интернет, и я хотел бы получить файл самого высокого качества.Качество в мультимедийных файлах равно скорости их передачи.

Сама скорость передачи должна быть найдена в заголовках файла.Если нет, то можно использовать длину звуковой дорожки.(Размер файла / длина дорожки = битрейт)

Это было бы легко, если бы я имел эти файлы локально, но я бы хотел получить эту информацию по HTTP и определить, какой файл имеет наивысшее качество.

Можно ли получить длину аудиотрека из заголовков HTTP?Если нет, возможно ли получить только те биты, которые описывают длину / битрейт, а не загружать весь файл?

Я пишу код на python, но вопрос довольно общий, поэтому яне отмечать это как вопрос по питону.

1 Ответ

2 голосов
/ 28 января 2012

Предполагая, что удаленный сервер работает хорошо, вы можете отправить в файл запрос HEAD и проверить содержимое поля заголовка Content-Length . Он не дает вам длину трека или битрейт, но вы можете получить размер файла.

РЕДАКТИРОВАТЬ : MP3 состоят из нескольких кадров, каждый из которых может иметь разную скорость передачи данных (VBR). Длина дорожки рассчитывается из скорости передачи каждого из этих кадров, а не из самой сохраняемой длины. Если вам нужна надежная скорость передачи, вам понадобится два, чтобы получить весь файл и получить скорость передачи каждого из кадров. Может быть возможно получить первые несколько килобайт файла и прочитать битрейт из первого кадра, но это не всегда в одной и той же точке файла (например, из-за позиции тега ID3 и т.

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