[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: obsidianmusic alternative? (music library with streaming or download from webserver)



Le 26.12.2012 20:25, Steven Post a écrit :
On Wed, 2012-12-26 at 03:44 +0100, berenger.morel@neutralite.org wrote:
> Thanks for your suggestion, I'm not sure mpd does what I'm looking
> for
> but it seems great for use in another project (some jukebox thing I'm
> wanting to have a go at). I will look further into it.
Yes, it's great for jukeboxes, but not only :)

And you know what? I'll try to show you that I'm right and you're wrong

I never said you were wrong, I said I wasn't sure ;)

In fact, I was joking :)

(and simply said that to avoid you to say I'm right without argumenting
hehehe)

It would be a little pointless without an argument, at least now I can
learn something.




Amarok is only used to build the database, because it's the same format obsidianmusic uses (by design). I don't use it to actually play music, I
don't even run KDE for that matter.

No, the m3u file is just a convenient way to start listening, as that is what the webinterface creates, the actual link inside the m3u looks like
this:

http://hostname/path-to-obsidianmusic/index.php?action=stream&sid=22558
where the 'sid' number is the database ID of that particular song.

Don't worry, I'm not afraid of the command line, I administer a couple
of headless Linux servers as part of my job.

To create a m3u file, mpc is able to build a playlist, as ncmpcpp. In fact, I guess that's mpd which really creates the file, but I'm unsure. And m3u sounds like to be very standard for playlists, so I think the generated file is a m3u.

Exactly, and the point is that anyone (that I allow) should be able to
access the music library and play songs from it on their own machine
without the need to install anything.
That is why obsidianmusic fits that job very well, only things needed
are:
1) the audio files (which I upload using scp)
2) a webserver (I use Apache)
3) php
4) mysql

Additionally there needs to be a single Amarok instance somewhere to
update the library, but that one runs on a virtual machine on my own
desktop, not the server.

Clients only need a web browser and a media player that supports m3u
playlists and http streaming. I don't even know of any audio player not
capable of those.

So, the actual solution you are using is using a www website which distributes m3u files, and the user just use that m3u which point to a web address, it the user's music software is just playing the stream?

I know that mpd is able to read/create m3u files, and is able to directly stream music data. One problem I can see immediately is that it is only able to play (and so, to stream) one song at a time, you will need to start one instance for each user... that might have a big cost... On the other hand, I remember to have played with www streaming feature, and it was working well. IIRC, it was also possible to use only the webbrowser. On the other hand, it was not possible to control the mpd with that interface (of course, this is the mpd's spirit to not implement interfaces)

The idea I have (but it is 4:00 am here so being tired could make me really dumb and avoid seeing an obvious failure) is that you could create an account on the server for each authorized user, account which start it's own mpd instance. (It means user will have to login to access their server) Next, I think there are mpd clients using web interfaces (but I have not used any of them, I'm interested if you find one fitting your needs. A list is available here http://mpd.wikia.com/wiki/Clients ), so starting one could allow the user to both control and listen music through his web browser.

The two problems I am seeing with that procedure is that so many instances of mpd could take some resources. Also, the user will have to authenticate, and it might not be so easy to do (but you said you manage headless servers at job, so I guess you'll be able to do that quickly. Maybe you already have such system...).

But for points as required softwares, requirements are met, and more than a little: you could remove the music software.

Another option with which I've played was mpd+icedove. But it was heavier and my very old computer (designed for windows ME, and sounds like even for that time it was not overpowered) had more problems than with the single mpd option with web output. But it might be easier to manage, I do not know.


2. mpd is able to build playlists (which usually are using m3u as
extension) but it sounds obvious to me that it generates m3u with
aboslute filenames: you will not have music embedded here. You will need
to have music at same place!

That would mean that only the server could actually play the music, and then possibly stream it to one or more clients. It sounds like that will
not meet my requirements. It's just designed with a different goal in
mind (and that's fine). However I'll set up mpd in a virtual machine and
fool around with it.

The bigger problem I would have seen is that mpd is only able to play one song at a time, so there would be a need to start a different mpd for each client... I have never really used m3u so, I have no idea about what they contains.


[...]

At this point I'm considering a fork of the obsidianmusic project where
I try to fix the shortcomings and bugs that I encounter.

Have fun. If it is a good tool, contributing is never useless. It just take times :)


Reply to: