Comments (13)
@shalugin фича выехала в прод, главы работают
@umputun думаю можно это issue закрывать
from radio-t-site.
спасибо за работу
from radio-t-site.
Поддерживаю это предложение, для упрощения жизни ведущих Марко вроде релизил свою тулзу для разметки подкастов на главы https://overcast.fm/forecast выглядит вроде просто
from radio-t-site.
Можно ли вклиниться в формирование итогового mp3?
Что нужно написать для этого? Достаточно cli команды?
from radio-t-site.
вот тут к mp3 добавлются тэги. Где-то в этом районе можно вклинится. Чтоб взать главы есть API GET /podcast/{num}
https://radio-t.com/api-docs/
from radio-t-site.
Набросал proof-of-concept используя библиотеку eyeD3 (ее более старая версия уже скопирована в utils и используется в скрипте upload_mp3.sh
, упомянутом выше) и данные из выпуска №681
Хорошие новости: оно работает, проверил в маковском Podcasts.
Новости похуже: придется обновлять библиотеку eyeD3. Версия лежащая здесь в репе не подойдет, т.к. в ней нет поддержки установки нужных id3 тегов и сбэкпортить этот кусок кода будет очень сложно (автор с тех пор сильно переписал свою либу).
Вопросы к @umputun , после решения которых могу оформить PR:
- сейчас библиотека eyeD3 видимо скопирована в репу для удобства - ее так не надо ставить туда, где скрипт выполняется. Может быть таки можно перейти на установку из PyPI ? В gist есть команда установки. Дело в том, что в нужной версии либы есть 3rd party зависимости, которые тоже придется будет копировать сюда, что кажется лишними усложнениями;
- точно ли на момент выполнения этого скрипта из ответа выше в API уже появился свежий выпуск с информацией по главам? К сожалению не совсем понимаю откуда это API данные берет.
from radio-t-site.
Может быть таки можно перейти на установку из PyPI ?
очень не хотелось бы. Вообще было бы круто как-нибудь перенести все, что запускается из publisher в контейнер, тогда при его сборке можно и pip
точно ли на момент выполнения этого скрипта из ответа выше в API уже появился свежий выпуск с информацией по главам? К сожалению не совсем понимаю откуда это API данные берет.
Совершенно точно, что нет. Этот API берет информацию после того, как подкаст опубликован. Однако news API доступен сразу (даже в реальном времени) и он, кстати, уже используется в процессе построения поста, только в md формате. Вот пример для 1000 последних часов, что конечно перебор, в реальной жизни хватит 8
from radio-t-site.
Да, запихать все из publisher в контейнер не проблема, напишу Dockerfile.
from radio-t-site.
@q210 спасибо!
from radio-t-site.
@q210
В Pocket Casts для подкаста отображается некорректная продолжительность для последней главы «Темы слушателей» — например, в последнем 696 выпуске продолжительность главы «Темы слушателей 696» должна быть 35–36 минут, а отображается как 2 часа (как будто берётся продолжительность всего выпуска). Разработчики Pocket Casts сказали, что эти данные указывают создатели подкаста, поэтому проблема не связана с ними, да и в других подкастах, которые используют главы, такой проблемы нет (например, #BeardyCast).
Ответ поддержки Pocket Casts
All the chapter and show notes information comes from the podcast author. We only show what is in the feed, we make no changes.Но при этом в Overcast всё корректно отображается.
from radio-t-site.
@rakleed Сейчас в данных, из которых скрипт собирает теги, нет продолжительности выпуска, потому я захардкодил что последняя глава всегда заканчивается на отметке 4х часов (предполагая, что ни один выпуск не будет идти дольше), что приводит в описанной проблеме.
По идее инфу о продолжительности выпуска можно взять из самого mp3 файла. Подумаю, мб поправлю на неделе.
from radio-t-site.
@q210 есть какие-нибудь новости по этой проблеме? Также было бы классно, если бы в RSS указывалась продолжительность выпуска.
from radio-t-site.
@rakleed ого, сорри, я совсем забыл про это. Посмотрю в ближайшее время.
from radio-t-site.
Related Issues (20)
- Сломана подгрузка комментариев HOT 4
- Превращать большой логотип на главной в центре экрана в кнопку проигрывателя
- Загружать sentry только если произошла ошибка
- С 739 выпуска сломались главы (chapters) HOT 14
- Временные метки в URL как на Ютубе. HOT 4
- Высокая загрузка CPU после запуска проигрывателя HOT 1
- Часть интерфейса комментариев остается светлой при использовании темной темы HOT 1
- Переход на летнее время сломал счетчик до начала HOT 3
- Блок прямой трансляции ведёт себя неадекватно HOT 1
- Запоминать уровень громкости
- Не открывается меню-бургер на iPhone HOT 1
- Ссылки на темы в Apple Podcast
- Слетели стили кода и подсветка синтаксиса HOT 1
- Продолжительность выпуска в описании в RSS HOT 3
- Christmas Logo
- Оценка радиовыпуска пользователями по указанным критериям HOT 4
- Невозможность добавить временные метки к старым выпускам в виде комментария HOT 1
- Switch of the site theme doesn't work well with the comments system
- Проблема с белой темой. HOT 1
- На YouTube не отображаются главы (эпизоды) у видео HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from radio-t-site.