Od dziś podcasty dystrybuowane w ramach sekcji random:stream zmieniają siedzibę. Ta krótka historia z technicznymi wątkami i niespodziewanym zakończeniem wyjaśnia dlaczego i w jaki sposób.
Przez niemal 7 lat korzystałem z popularnego serwisu SoundCloud, aby dystrybuować pliki audio podcastów znajdujących się na stronach serwisu, ale po wczorajszej rozmowie ze sztuczną inteligencją dałem namówić się na zmianę modelu.
Zanim przejdę do konkretów chciałbym podzielić się wiedzą techniczną na temat tego, jak działa cały ten podcastowy biznes.
Z czym się je podcasty?
Kiedy chcemy publikować materiały audio w sieci, potrzebujemy platformy, do której będziemy przesyłali kolejne odcinki, a ona zajmie się ich składowaniem, prezentowaniem i dystrybuowaniem. Platforma z technicznego punktu widzenia to wesoła kompania komputerów podłączonych cały czas do sieci Internet. Na dyskach tych komputerów znajdziemy aplikację serwerową, która tworzy odwiedzaną zawartość, a także materiały multimedialne prezentowane odwiedzającym.
-
Składowanie to po prostu umieszczanie plików dźwiękowych na dyskach komputerów podłączonych cały czas do globalnej pajęczyny. To stamtąd będą pobierane kolejne edycje naszej twórczości. Dodatkowo serwisy te często transkodują przesyłane przez użytkowników pliki, np. zmieniając ich format na bardziej standardowy. Kiedy umieszczamy „ważący” 500 MB wysokiej jakości plik WAV z cyfrowego dyktafonu, serwis może zmienić go w wersję MP3 o rozmiarze 25 MB przeznaczoną do pobierania przez słuchaczy (i ich odtwarzacze multimediów).
-
Prezentowanie polega na tym, że umieszczane przez nas odcinki pojawiają się w serwisie webowym wybranej platformy, razem z opisami, grafikami i odtwarzaczem, żeby można było ich słuchać. Jest to tworzona ad-hoc strona WWW, na której pokazywane są publikowane podcasty. Wspomniany odtwarzacz będzie pośrednio (przez usługę serwowania plików) odwoływał się do wzmiankowanego wcześniej składowiska treści multimedialnych.
-
Dystrybuowanie polega na rozgłaszaniu w Internecie aktualnej listy odcinków z odnośnikami do plików (najczęściej w formacie MP3) i odnośnikami do wspomnianych wyżej stron odpowiedzialnych za prezentację. Odbywa się to z użyciem tzw. kanałów RSS, czyli zasobów webowych, które zgodne są ze standardem naprawdę prostej dystrybucji (ang. Really Simple Syndication, skr. RSS). Taki kanał ma swój URL, który wygląda jak „adres strony WWW”, ale zamiast prowadzić do zawartości przeznaczonej do czytania przez człowieka, wiedzie do pliku w formacie XML przeznaczonego do czytania przez aplikacje zainstalowane na komputerach czy w smartfonach.
Gdyby nie ostatni etap, nasze podcasty byłyby związane z tylko jednym „nadawcą”, a gdybyśmy chcieli skorzystać z kilku dystrybutorów, musielibyśmy ręcznie umieszczać każdy odcinek na ich platformach. Dzięki standardowi RSS platforma źródłowa udostępnia wykaz materiałów, które dodaliśmy, a systemy innych serwisów mogą na jego podstawie w locie tworzyć strony prezentujące audycję i umożliwiające jej słuchanie.
Redystrybucja
Plik kanału RSS-u zawiera tytuły, opisy i grafiki okładek kolejnych odcinków, ale przede wszystkim odwołania URL do widocznych w sieci plików dźwiękowych, które „leżakują” na naszej źródłowej platformie.
To żadna magia, tak wygląda zawarty w pliku fragment opisu odcinka wraz z odnośnikiem do pliku MP3:
<item>
<title>random:self – #002 – Agile, Lean, Organic startup</title>
<pubDate>Sun, 16 Jul 2023 17:00:00 +0200</pubDate>
<enclosure type="audio/mpeg"
url="https://randomseed.pl/pod/randomself-002.mp3" length="0" />
[…]
</item>
<item>
<title>random:self – #002 – Agile, Lean, Organic startup</title>
<pubDate>Sun, 16 Jul 2023 17:00:00 +0200</pubDate>
<enclosure type="audio/mpeg"
url="https://randomseed.pl/pod/randomself-002.mp3" length="0" />
[…]
</item>
Zazwyczaj platforma odpowiedzialna za prezentację naszych podcastów tworzy nam opisujący wszystkie odcinki RSS i umieszcza go pod jakimś URL-em. Jest to wygodne i nie musimy się przejmować szczegółami technicznymi. Robi to YouTube, Spotify, wspomniany SoundCloud i wiele innych serwisów umożliwiających publikowanie nagrań audio i wideo.
Mając adres tzw. feeda, czyli kanału, możemy zarejestrować go u innych. Na przykład publikując w SoundCloudzie jesteśmy w stanie bardzo szybko tworzyć kanały dystrybucji w serwisach Apple Podcasts, Spotify czy YouTube. Wklejamy URL kanału, a wspomniane platformy stworzą własne warianty stron audycji i cyklicznie sprawdzają nasz źródłowy RSS, czy czasem nie pojawiły się nowe odcinki. Jeżeli nowy odcinek się ukazał, pośrednicząca platforma może poinformować korzystających z niej subskrybentów, umieścić wzmiankę w jakimś systemie powiadamiania itd.
Zazwyczaj duże platformy są zarówno źródłowymi dostawcami, jak i dystrybutorami. To od nas zależy, którą wybierzemy jako bazę dla prezentowania podcastu, a jakie serwisy będą z użyciem RSS-u pobierały hostowane tam treści i prezentowały u siebie.
Większe platformy pośredniczące w dystrybuowaniu podcastów będą najczęściej pobierały pliki wskazane w naszym RSS-ie i wykonywały ich kopie, aby nie uzależniać satysfakcji słuchacza od zewnętrznego źródła danych. Mniejsze będą prezentowały nam odtwarzacz multimedialny, który zechce bezpośrednio odwoływać się do wskazanych RSS-em zbiorów.
Ciekawym przypadkiem są też aplikacje do słuchania podcastów, dostępne zarówno dla komputerów, jak i urządzeń mobilnych. Pomijają one serwisy zajmujące się prezentowaniem zawartości i bezpośrednio pobierają odcinki podcastów spod adresów znalezionych we wskazanych im przez użytkownika kanałach RSS.
Magazyn kosztów
Wracając do przypadku random:stream, czyli podcastów tego serwisu. Lata temu wybrałem serwis SoundCloud jako platformę dystrybucji, ponieważ daje on dużą kontrolę nad jakością przesyłanych plików, ma dobry odtwarzacz i pomaga w tworzeniu RSS. Każdy kolejny odcinek, np. audycji random:press, umieszczałem tam jako wysokiej jakości plik dźwiękowy, opisywałem go, a serwis sprawiał, że wersja MP3 wraz z metadanymi pojawiała się w kanale RSS, którego URL był umieszczony na stronie. Dodatkowo na stronach odcinków w moim serwisie wstawiałem odtwarzacz SoundClouda.
Po jakimś czasie zapragnąłem mieć większą kontrolę nad kształtem pliku XML, który zawiera dane RSS, więc zbudowałem sobie odpowiedni szablon i zacząłem dystrybuować RSS samodzielnie, a SoundClouda traktowałem jak magazyn plików dźwiękowych. Zdarzało się sporadycznie, że dostawałem tzw. suby w samym SoundCloud, ale moją główną publicznością byli odwiedzający witrynę i słuchacze z innych serwisów (np. Spotify).
Wyglądało to tak, że publikowałem w SoundCloud, a potem ręcznie umieszczałem na stronie WWW odwołania do składowanych w tym serwisie wersji MP3 odcinków podcastu. Z kolei generator RSS-u (działający w obrębie mojej witryny) gromadził te informacje i umieszczał je w pliku kanału. Stamtąd mogły z nich korzystać inne serwisy i robić miłe dla oka listy odtwarzania.
Wszystko działało sprawnie, aż pewnego razu przekroczyłem sumaryczną liczbę minut audycji w SoundCloudzie i musiałem wybrać plan płatny. Okazuje się, że najbardziej odpowiadał mi „wypasiony” plan, a rok czy dwa później, jeszcze bardziej „wypasiony”, którego cena wydawała mi się nieco zawyżona.
Problem nie polegał na tym, że za tę cenę powinienem otrzymać więcej, lecz na tym, że dostawałem funkcje, które nie były mi potrzebne. SoundCloud to społeczność artystów i platforma dystrybucji utworów muzycznych. W moim przypadku ta dystrybucyjna rola została przeze mnie przejęta już lata temu, zaś SoundCloud służył mi jako magazyn plików MP3 oraz odtwarzacz multimedialny wstawiany na strony odcinków. Nie korzystałem też z dodanej później opcji masteringu nagrań dźwiękowych, bo moje produkcje są głównie głosowe. Okazałem się klientem różnym od idealnego, czyli takiego, który chciałby płacić za mechanizmy dystrybucji treści i budowania społeczności wokół publikowanych utworów muzycznych.
Alternatywy
Zapytałem agenta AI o możliwe alternatywy i uzmysłowiłem sobie, że faktycznie
większość wysiłku włożyłem w samodzielną dystrybucję już kilka lat temu. W kwestii
prezentacji, czyli odtwarzacza multimedialnego, sprawa rozwiązała się sama, bo kilka
miesięcy temu skonfigurowałem należący do mnie kanał YouTube’a tak, aby pobierał
zawartość RSS-u publikowanego na randomseed.pl/pod/
i na tej podstawie
tworzył listę odtwarzania z kopiami wszystkich publikowanych odcinków. Miałem więc
playera! (Wystarczyło go powstawiać na strony z odcinkami).
Pozostało tylko miejsce do przechowywania plików. I tu z pomocą przyszli…
…amerykańscy bibliotekarze!
Czy – Szanowny Czytelniku – kojarzysz taki serwis Internet Archive? To internetowa skarbnica treści, stworzona w roku 1996 z inicjatywy Brewstera Kahle’a. Od wielu lat usługą opiekuje się organizacja non-profit, której celem jest archiwizowanie zasobów Internetu. Co więcej, poza skrupulatnym wykonywaniem migawek stron WWW, prowadzona jest też akcja archiwizowania treści książek, nagrań dźwiękowych i materiałów wideo.
Okazuje się, że rejestrując konto w serwisie Internet Archive, uzyskujemy dostęp do panelu, który umożliwia cyfrowe archiwizowanie treści, do których mamy prawa. Na przykład do własnych podcastów!
Warto nadmienić, że korzystanie z tej internetowej biblioteki może u starszych użytkowników globalnej pajęczyny wywołać nostalgię, ponieważ zdarzają się fragmenty interfejsu użytkownika cofające nas do doświadczeń w obsłudze stron z przełomu wieków. Poza tym internetowe archiwum nie jest zoptymalizowane dla prędkości wysyłania czy pobierania plików. W związku z tym musimy czasem liczyć się z niskim transferami bądź przerwami w dostępie do usługi.
Po konwersji podcastów do formatu MP3 umieściłem je w zasobach archiwum i podmieniłem odwołania do nich we wszystkich stronach podcastów. Wcześniej były to URL-e prowadzące do usługi SoundCloud, a teraz do Internet Archive. Dodatkowo usunąłem (a właściwie wyłączyłem) istniejący, osadzony odtwarzacz SoundClouda, zastępując go playerem z serwisu YouTube. Było to możliwe, ponieważ YouTube jest jedną z platform, które pośredniczą w dystrybucji moich podcastów z użyciem kanału RSS.
W najbliższym czasie zacznę przywracać chwilowo wyłączoną możliwość odtwarzania podcastów na stronach ich odcinków. Będą się one pojawiały sukcesywnie, gdy tylko YouTube ponownie przetworzy nowego feeda.
Podsumowanie
Ta mała zmiana uświadomiła mi jak zmieniła się moja percepcja usług internetowych na przestrzeni lat. Z technicznego użytkownika i pasjonata Internetu zmieniłem się w konsumenta cyfrowych dobrodziejstw, ze wszystkimi związanymi z tym plusami i minusami. Przejście na inny model było w tym przypadku proste, ale wygoda płynąca z tego, że ktoś zajmuje się obsługą miejsca na moje pliki dźwiękowe, wygrywała z koniecznością.
Zapomniałem wspomnieć o motywacji stojącej za wymianą odtwarzacza na popularny. Można zauważyć, że skoro mam zupełny wpływ na zawartość strony, to powinienem raczej skorzystać z gotowego, np. napisanego w JavaScripcie playera i cieszyć się pełną kontrolą.
Problem z powyższym jest taki, że musiałbym wtedy zadbać o prędkość transferów i gwarantować komfort użytkowania. Hosting plików w serwisie przeznaczonym do archiwizacji zasobów nie będzie nigdy gwarantował ich ciągłej dostępności i dużej prędkości pobierania. Z kolei YouTube, jako bardzo duży serwis, po pierwsze nie zakończy szybko działalności (co mogłoby spotkać na przykład jakiś „darmowy hosting”), po drugie cały czas utrzymuje odtwarzacz, a po trzecie wykonuje kopie wszystkich odcinków podcastów, które pojawiają się w moim kanale.
Na uwagę zasługuje tu kwestia identyfikacji cyfrowych treści, które do nas należą. Dzięki technologii RSS mamy narzędzie do wskazywania miejsca w sieci, w którym znajduje się nasza twórczość, a więc nie musimy delegować tego prawa operatorowi usługi dostępu do plików czy dostawcy odtwarzacza. Treść nie zależy już od umiejscowienia, ale wciąż (w sensie jej dostępności) zależy od właścicieli usług sieciowych. Chyba tylko upowszechnienie web3 i prawdziwie zdecentralizowanych serwisów może kiedyś zmienić ten stan rzeczy, jednak mamy przynajmniej sposobność reagowania i zmiany platformy.
Jest to pewnego rodzaju zaskakujące zrządzenie losu, ponieważ technologia RSS zdążyła upowszechnić się zanim podcasty stały się modne i dochodowe. Gdyby wcześni zwolennicy podcastingu nie byli przyzwyczajeni do otwartego charakteru „internetowych rozgłośni”, pewnie mielibyśmy sytuację, gdzie twórcy są skazani na jedną platformę, a treść jest w sposób techniczny pod kontrolą wybranego operatora usługi.
Ta niewielka zmiana – jak w opisanym przypadku: kilka nowych URL-i, inny odtwarzacz, inny magazyn — nie wymaga rewolucji, a jedynie świadomości, że technicznie można to zrobić. W ten sposób odzyskujemy kontrolę nad formą i dostępnością treści. W tym momencie nie jesteśmy już tylko użytkownikiem platformy, lecz jej alternatywą.
Zobacz także
- „Cyfrowe tożsamości”, wideo o kontroli nad cyfrowymi tożsamościami
- „Referencje są dobre”, krótki esej o roli referencji