🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
1 messages
1 total messages Started by Daniel Mróz Mon, 25 May 2009 08:53
Re: Streaming audio w pythonie
#26116
Author: Daniel Mróz
Date: Mon, 25 May 2009 08:53
37 lines
2872 bytes
On 24.05.2009, 95brand@gmail.com <95brand@gmail.com> wrote:
> Witam. Chciałbym napisać serwer audio, coś na wzór serwera shoutcast.
> Problem w tym, że nie wiem jak się za to zabrać. Czy istnieje jakiś
> tutorial czy biblioteka ułatwiająca stworzenie czegoś takiego?
Nie podałeś(-łaś?) szczegółów, więc zgaduję że chcesz stworzyć serwer
strumieni sterowany Pythonem (decydującym co ma być wypychane).
Bawiłem się tym kiedyś i posłuchaj dobrej rady - użyj icecast jako
warstwy sieciowej. Jest moduł Pythona (nie pamiętam nazwy, ale napewno
Google Ci pomoże), służący do wstrzykiwania strumienia do icecast. Ma
swoje ograniczenia, więc wstrzykiwacz musi zająć się rekodowaniem do
MP3/Vorbis (jeśli materiał wejściowy jest w innym formacie) i do jednego,
z góry ustalonego bitrate, ale to nie jest duży problem od strony kodu
(zresztą i tak trzeba było by to robić).
Bardziej istotna jest wydajność maszyny, która musi sobie z tym poradzić
conajmniej w czasie rzeczywistym. O ile z jednym strumieniem poradzi
sobie większość komputerów z ostatnich lat, to przy wzroście liczby
obsługiwanych kanałów może się zrobić problem. Jeśli materiał wejściowy
masz zunfikowany pod względem bitrate i formatów, to wydajność przestaje
mieć znaczenie.
Zrzucenie obsługi połączeń na icecast daje Ci jeszcze jedną, bardzo
istotną zaletę. Całość możesz bardzo ładnie skalować. Serwer icecast
poradzi sobie nawet na słabszym sprzęcie, a rekodujące wstrzykiwacze
możesz sobie porozrzucać na kilka maszyn. Trzeba tylko to wszystko
dobrze rozplanować i zakodować. Albo każda maszyna będzie obsługiwała
ileśtam swoich kanałów, albo wszystkie będą zajmowały się rekodowaniem,
a jedna owoce ich pracy wstrzykiwała do icecast, albo... możliwości
jest wiele.


Pozdrawiam
Beorn

-- 
Daniel 'Beorn' Mróz <beorn@alpha.pl>    http://127.0.0.1/beorn
[GIT d s:- a-@ C++++ UL++++$ P+ L++++ E--- W+ N+++ o? K- w---]
[O- M- V!  PS+ PE++ Y+ PGP++ t- 5  X R !tv b+ DI D++ G++ e h*]
[                          r++  y+                           ]
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads