Под длиной в данном случае подразумевается продожительность.
С самого начала разработки наступил на очень интересные "грабли".
Изначально хотелось в выдаче указывать продолжительность найденых mp3 файлов(в купе с физической длиной и id3 информацией) для того, чтобы пользователи могли определить - соответсвует результат запросу или нет. Естественно - качать каждый файл желания никакого не было и нет.
И тут началось самое интересное.
Немного о формате.
Формат mp3 имеет фреймовую структуру(это от того, что файл кодируется не сразу и целиком, а делится сначала на определенного размера блоки(фреймы) и эти блоки кодируются отдельно). И вот таких фреймов может быть не один и не два.
Первое, что бросилось в глаза в формате заголовка фрейма - отсутсвие информации о длине. Второй неприятный момент - это то, что битрейт может быть разным (т.н. VBR)для различных фреймов.
Что ж, длинну композиции, не имея в своем распоряжении всего файла точно определить неудастся. А жаль.
Конечно, можно было пойти другим путем - если битрейт постоянный и известен размер файла можно _примерно_ определить продолжительность(что не есть хорошо, но лучше, чем ничего). Т.е. этот вариант отпадает также (т.к. все фреймы без файла не получим, битрейты соответсвенно - тоже не знаем).
Но и на этом неприятности не кончились.
Как известно - существует две версии ID3 Tag'ов - первая и вторая. Так вот, первая версия распологается в конце файла(последние 128 байт, если не ошибаюсь), а вторая - в начале. Т.е. для получения ID3v1 опять же необходимо скачивать полностью весь файл.
Не хочется отказываться от таких, достаточно важных, для сервиса функциональностей, но, видимо придется на некоторое время отложить их реализацию.
Время - деньги.
PS: возможно кто-то cможет дать совет, как бороться с вышеописанными проблемами ?
Showing posts with label projects. Show all posts
Showing posts with label projects. Show all posts
Wednesday, March 28, 2007
Sunday, March 25, 2007
Поиск mp3 файлов доступных для скачивания
Начинаю работу над новым проектом - сервис, предоставляющий
пользователям возможность поиска mp3 файлов, доступных для скачивания (конечная ссылка - сам mp3 файл).
Сервис будет написан на Perl.
Первоначально бля поиска будет использоваться google search engine.
В дополнитение предполагается предоставление технической информации о mp3 файле (продолжительность, битрейт, возможно что-то еще), возможность прослушать файл.
Это то, что необходимо сделать в первую очередь, в дальнейшем список сервисов будет расти.
Сейчас вплотную занимаюсь составлением списка сервисов, необходимых библиотек, подбором домена - т.е. организаторской работой.
Если у кого-то есть какие-либо пожелания (что бы Вы хотели увидеть на данном сервисе) - welcome to comments.
пользователям возможность поиска mp3 файлов, доступных для скачивания (конечная ссылка - сам mp3 файл).
Сервис будет написан на Perl.
Первоначально бля поиска будет использоваться google search engine.
В дополнитение предполагается предоставление технической информации о mp3 файле (продолжительность, битрейт, возможно что-то еще), возможность прослушать файл.
Это то, что необходимо сделать в первую очередь, в дальнейшем список сервисов будет расти.
Сейчас вплотную занимаюсь составлением списка сервисов, необходимых библиотек, подбором домена - т.е. организаторской работой.
Если у кого-то есть какие-либо пожелания (что бы Вы хотели увидеть на данном сервисе) - welcome to comments.
Ярлыки:
projects
Subscribe to:
Posts (Atom)