Ну вот спустя уже НЕ пару дней… лол закончен Архив “Канадского Лося”. На прошлой неделе решил написать вторую версию Архива для моих подкастов. Первая версия была “проще не придумаешь” – просто листинг подкаст файлов. Просто включил листинг в Апаче и направил на папку с файлами… И вот спустя пару лет с начала моего персонального архива появилась вторая версия подкаст архива, но перед тем как рассказать что и как, стоит отправиться в прошлое и рассказать “почему?” архив вообще начал свое существование.
История:
Я начал записывать подкасты когда рпод был ещё молодым и “не обкатанным”. Соответственно иногда сайт падал… Далее на рпод-е не допускалась коммерческая музыка в подкастах – другими словами если в подкаст попала музыка скажем от ДДТ или других больших групп, то подкаст ( файл ) удалялся с рпода ( если я не ошибаюсь то сейчас происходит тоже самое, не знаю почему написал в прошедшем времени). Ну и третье: я – параноик и вбил себе в голову что не хочу, что бы моя работа пропала. В итоге решил держать копию подкастов у себя на сервере и за одно открыть доступ всему миру. И так была сделана первая версия подкаст архива… просто листинг файлов через Апач.
Версия 2.0 – предпосылки:
Почему я решил сделать вторую версию я не знаю. Один день сидел и подумал что было бы на много лучше если бы Архив был более полноценный… типо можно было посмотреть ноуты к подкастам и всё такое… Но потом меня сильно не пёрло делать сайт по типо rpod-a – где надо заполнять поля – типо “название подкаста”, “ноуты” и так далее… Я подумал и решил, нафиг!!! Не буду не чего делать… я же не обезьяна что бы заполнять формы по 2-а раза! ( я очень ленивый! ). Один день сидел и слушал музыку в iTunes ( я люблю музыку гы-гы ) и обратил внимание на ID3 таги… По скольку я был “сделан” старой школой, аля ДОС и всё такое то у меня концепция простая: “всё что моё, ношу с собой”. От сюда я всегда вставляю Cover Art в сами mp3 файлы ( а не как iTunes делает – типо картинки отдельно, музыка отдельно ). Мой подход не эффективен, так как занимает больше места ( из-за того что каждый mp3 файл содержит в себе картинку для песни )… но такой уж я! Но именно эта концепция дала мне идею… “Если iTunes может выдергивать информацию из ID3 тагов в mp3 файле, почему я не могу делать тоже самое?”. Так как я вставляю инфу в свои mp3 подкаст файлы уже как минимум подкастов 25 то я могу вытаскивать инфу из файла динамически и отображать её. Вот так всё и началось… Единственное что жалко так это то что я не вставлял ноуты с самого первого подкаста… но тогда я не знал о ID3 тагах… обидно…
Сверху:
И так вторая версия подкаст архива выглядет просто и интуитивно ( надеюсь ).
Выводиться название подкаста, длинна записи ( в минутах ), тип файла, лого и ноуты. Графики в архиве не какой ( кроме лого ) нету, так как я считаю что архив должен быть: простым, лёгким и функциональным – типо философия такая. Я думаю что я достиг своей цели… Надеюсь что услышу ваши отзывы на эту тему. Теперь если в файле ( mp3 – с записью подкаста ) нету ноутов или лого то информация не отображается… хе-хе так как не чего отображать…
Внутри:
Архив написан на PHP от начала и до конца… к тому же архив 100% динамический то есть страница проверяет файлы в директории и считывает информацию с них на лету. Я использовал открытую PHP ID3 библиотеку ( http://getid3.sourceforge.net/ ) – так как после дня поисков о том как написать твой ID3 парсер я понял, что это убийство… если кому интересно почему то почитайте про ID3 таги… ищите книгу в местных магазинах – “ID3 или Лорд Хауса”. Далее я разбирался в этой библиотекой где-то вечер… и всё оказалось не так уж и сложно… Но дальше были некоторые проблемы с графикой – типо как выводить лого в нормальных размерах, что бы каждое лого не весело по 127KB… пришлось использовать GD библиотеку ( у меня она по любому на сервере стоит для WordPress-а ). Написал что бы картинка из файла меняла размер на лету… Вот как это примерно выглядет:
Пользователь —-> запрос —-> Страница —-> запрос —-> Файл
Файл —-> ответ ~127KB —-> Страница ( меняет размер ) —-> ответ ~14KB —-> Пользователь
Дальше сделал переходник между страницами… типо на странице по 10 подкастов ( что бы не грузились все 147 подкастов за один раз )… ну и всякие маленькие твики и всё такое… Вроде и всё… конечно выглядет это просто… но по скольку я не знал PHP ( я на нём особо не чего не писал ) то пришлось наглотаться всякой гадости… Например я потратил 4 часа только что бы выяснить что у меня на сервере не работают короткие так для PHP… типо обычный таг идёт: <?php …. ?>; а короткий: <? … ?>; . Так вот у меня на моём компьютере короткие таги распознавались, а когда кидал файл на сервак, код не работал… за 4 часа я переписал весь код от начала до конца ( пробовал разные вещи )… А когда увидел что всё дело в этом маленьком незаметном таге, думал что умру от стыда… Думать надо! А не ручками строчить как заяц по клаве.
За/Против:
За: простой, динамический архив – который не надо трогать больше не когда ( я надеюсь ). Просто кидаешь подкаст файл на сервер и страница отображает всё… Не каких заполнений форм или какой либо подобной лабуды!
Против: Из-за высокой динамичности, а некоторые могут сказать лени или тупости при каждой перегрузке страницы файлы читаются и процесс парсинга проходит заного… Другими словами Оптимизации НУЛЬ!!! Если бы архив посещался большим количеством людей то сервак бы сдох быстро ( от нагрузки )… да и это не рациональное использование ресурсов.
Итого:
Архив был сделан как я его задумывал… Так как у моего сервака интернет канал маленький то не думаю что много кто будет посещать мой архив на постоянной основе… Другими словами мой архив – это просто запасной выход… Если будет существенная нагрузка то решение уже есть! Можно генерировать статические страницы каждый раз когда новый подкаст файл добавлен… Таким образом оптимизация = 100%. Ну поскольку это пока что не нужно то поживём так…
P.S. Забыл сказать новый подкаст архив находиться по старому адресу http://los.meirz.net
Архив штука классная и нужная, Но!…
Кроме кеширования (я думаю проблемы будут не при открытии архива, а при скачивании файлов), сильно не хватает даты подкаста и ссылка на файл теряется. Если лень навешивать “кнопки” или иконки, хотябы оставь подчеркивание на ссылке.
И rss неплохо бы туда
2 Semeyon:
Какой даты нехватает? Линк для скачивания подчеркну.
Можно было взять rss от рпода, сохранить на диске и уже от туда парсить всю инфу с пхп. А при добовлении подкаста запустить обновлялку, которая скачивает обновлённый rss на диск. Это 5 минут работы на питоне.
Ну а сам архивчик получился очень симпатичный и приятный на глаз! =)
2 Mullwar:
Согласен, можно было сделать и так. Не додумался… Я начал с идеи ID3 тагов и от сюда так всё и получилось.
Скорость скачки с архива совсем меленькая :(
У тебя какая скорость канала, 5M/800k ?
P.S. Сайт понравился, удобно искать старые подкасты! :-)
Да скорость маленькая. На бумаге она 5М/800k, в реальности это 2.5M/400k. Одна из причин почему не хочу делать rss, НО если сделать torrent – это уже интересно!!! Тогда это может реально сработать!
2MeIr
Не хватает даты публикации и/или записи подкаста.
2MeIr
Идея раздачи подкастов по торетам просто гениальная! Оснобенно когда подкаст большой и популярный!
2Semeyon:
Я посмотрю по поводу даты.
А вот как сделать торрент раздачу не знаю… Тут проблема в том что iTunes не поддерживает torrent скачивания… :(
А делать типо одна прога скачивает, в другую доавляет и треья добавляет в iTunes, выглядет лево… Надо придумать что бы был один шаг. Или два шага, но очень просто, без головоломок…
Я думал как можно добавить дату релиза или записи в Архив и не могу придумать. Походу в ID3 тагах её нету… а читать дату с файла – не катит так как там стоит не правильная дата… Вопрос от куда дату брать?
2Melr
Не ITunes-м единым!