Showing posts with label projects. Show all posts
Showing posts with label projects. Show all posts

Wednesday, March 28, 2007

Определение длины mp3 файла (удаленного)

Под длиной в данном случае подразумевается продожительность.

С самого начала разработки наступил на очень интересные "грабли".
Изначально хотелось в выдаче указывать продолжительность найденых mp3 файлов(в купе с физической длиной и id3 информацией) для того, чтобы пользователи могли определить - соответсвует результат запросу или нет. Естественно - качать каждый файл желания никакого не было и нет.
И тут началось самое интересное.

Немного о формате.
Формат mp3 имеет фреймовую структуру(это от того, что файл кодируется не сразу и целиком, а делится сначала на определенного размера блоки(фреймы) и эти блоки кодируются отдельно). И вот таких фреймов может быть не один и не два.

Первое, что бросилось в глаза в формате заголовка фрейма - отсутсвие информации о длине. Второй неприятный момент - это то, что битрейт может быть разным (т.н. VBR)для различных фреймов.

Что ж, длинну композиции, не имея в своем распоряжении всего файла точно определить неудастся. А жаль.

Конечно, можно было пойти другим путем - если битрейт постоянный и известен размер файла можно _примерно_ определить продолжительность(что не есть хорошо, но лучше, чем ничего). Т.е. этот вариант отпадает также (т.к. все фреймы без файла не получим, битрейты соответсвенно - тоже не знаем).

Но и на этом неприятности не кончились.
Как известно - существует две версии ID3 Tag'ов - первая и вторая. Так вот, первая версия распологается в конце файла(последние 128 байт, если не ошибаюсь), а вторая - в начале. Т.е. для получения ID3v1 опять же необходимо скачивать полностью весь файл.

Не хочется отказываться от таких, достаточно важных, для сервиса функциональностей, но, видимо придется на некоторое время отложить их реализацию.
Время - деньги.

PS: возможно кто-то cможет дать совет, как бороться с вышеописанными проблемами ?

Sunday, March 25, 2007

Поиск mp3 файлов доступных для скачивания

Начинаю работу над новым проектом - сервис, предоставляющий
пользователям возможность поиска mp3 файлов, доступных для скачивания (конечная ссылка - сам mp3 файл).

Сервис будет написан на Perl.
Первоначально бля поиска будет использоваться google search engine.
В дополнитение предполагается предоставление технической информации о mp3 файле (продолжительность, битрейт, возможно что-то еще), возможность прослушать файл.

Это то, что необходимо сделать в первую очередь, в дальнейшем список сервисов будет расти.

Сейчас вплотную занимаюсь составлением списка сервисов, необходимых библиотек, подбором домена - т.е. организаторской работой.

Если у кого-то есть какие-либо пожелания (что бы Вы хотели увидеть на данном сервисе) - welcome to comments.