You are here: Home » Reply » Reply To: Streaming mp3 files directly from external server

Reply To: Streaming mp3 files directly from external server


I am still trying to enable my soundbridge to play rss directly from server, just as a small step toward a more complete podcast framework. Here are just my wild rants for your amusement. 🙂

It’s been 8 yeas ago since I programmed C last so I am little bit rusty, so I tried to stay away from the mt-daap source. I wrote a simple python script to download a feed and create lots of .url files. But since an url only could point to an external m3u I scrapped that plan.

First I thought it might work to create a local m3u with the link to the podcast (like this in m3u format with EXTINF and whatnot):

But then I found that local m3u files could not have external urls, only link to local files and besides it imported a lot of playlists I did not even knew I had. So I went to the source, which look quite good and even got some comments in it.

I tried some modifications myself like in scan-url.c

// This is a “modification” to get podcast info as url:
char* ext = strstr(pmp3->url, “.mp3”);
if (ext != NULL && ext[4] == 0)
pmp3->codectype = “mpeg”;
pmp3->artist = “Magic Podcast”;

and oh by magic my soundbridge is streaming mp3 podcasts like there is no tomorrow, but I see that this is not an optimal solution. Ok – just ranting here – what I need is support for a magic playlist file which support inserting urls into playlists.

So I was considering some solutions:
1. Add capability to read rss streams directly in scanner (maybe a feed downloaded by wget) – this would need a rss parser built into mt-daap and that seems like overkill.
2. Add an intermediate format – as simple as a m3u, but where mt-daap accepted external urls and imported fields like artis and such without need to lookup external server, but rather used the information in the playlist.
3. Extend the .url file scanner so I am able to import fields like artis, length, etc

So my question is would any of these 3 solutions be interesting to other than me and if the quality was ensured maybe be included in the original fireflymediaserver? Or are there some simpler way to achieve this?