owncloud / music

:notes: Music app for ownCloud
GNU Affero General Public License v3.0
571 stars 199 forks source link

Ampache client wouldn't connect to ownCloud's music service #30

Closed MorrisJobke closed 11 years ago

MorrisJobke commented 11 years ago

Dear team,

I am totally new to this, apologies if I am not posting this the right way. I've recenly installed ownCloud and have some trouble with the Ampache side of things.

If I connect to my "server/owncloud" portal and click on Music, I can play my songs back just fine. However, if I point any of my iOS ampache clients to my server (server/owncloud/remote.php/ampache/) it will connect and find the music but as soon as I click on a song it'll crash the app.

This isn't only my experience, there's another user who is facing the same. You can read the details here: https://forum.owncloud.org/viewtopic.php?f=23&t=9113

System: Hosted server space (bluehost.com) PHP 4.5.3 MySQL database

If you need any other info or access to my server, please let me know.

Thanks, Ben


Originally reported by @bence8810 at https://github.com/owncloud/apps/issues/999

MorrisJobke commented 11 years ago

Same problem on android, apps crash or don't play the songs, depending of the app. Desktop players won't play the songs neither.


Original comment by @NoZdageek at https://github.com/owncloud/apps/issues/999#issuecomment-16221157

MorrisJobke commented 11 years ago

I now set an Ampache server instance up from scratch outside ownCloud and it works great. It is on the same server / same host even same domain.

OwnCloud definitely has a problem with its built in Ampache function.

Can someone look into this? Thanks Ben


Original comment by @bence8810 at https://github.com/owncloud/apps/issues/999#issuecomment-16372642

MorrisJobke commented 11 years ago

Hello again, I've now updated ownCloud to 5.05 and the AmpacheX developer got access to my server. He is saying there is something wrong with the way ownCloud offers music up to the API, it does not start playing somehow. The error is different, the app does no longer crash but the music would never start playing. When I connect, it runs through all songs one after another without playing them and show the error "You appear to be offline".

See the error message below: Thanks, Ben

ownCloud_Ampache_Error

Original comment by @bence8810 at https://github.com/owncloud/apps/issues/999#issuecomment-16750502

MorrisJobke commented 11 years ago

Tested on Android with all the ampache clients I could find (JUST PLAYER with Ampache Provider, Ampache.Net, Amdroid, domob) and though they will list the music, none of them will play.

Running ownCloud 5.0.5-1 on Arch Linux with SQLite.


Original comment by @unhammer at https://github.com/owncloud/apps/issues/999#issuecomment-17156750

MorrisJobke commented 11 years ago

Yes, it is indeed the case. Pretty sad that noone picks this up from Developement. It has been a bug now for 5 consecutive releases. I even had AmpacheX's developer (iOS App store) have a look at my server and said that the API does not detect any music being available other than their labels....

Hope someone would pick this thread up... Ben


Original comment by @bence8810 at https://github.com/owncloud/apps/issues/999#issuecomment-17156824

MorrisJobke commented 11 years ago

I too am having the same issue. Owncloud 5.05 on Ubuntu. access my url/owncloud/remote.php/ampache via justplayer with ampache plugin on android GNEX. List music fine, but quickly tries to play music with no audio out and then abruptly backs out of the song. I was going crazy until I found this post. Looks like I'm not alone.


Original comment by @neverhappy at https://github.com/owncloud/apps/issues/999#issuecomment-17185442

MorrisJobke commented 11 years ago

Just to chime in, I am the AmpacheX developer. Someone forwarded me a handful of links of discussion about this bug. From what I have found, it is a bug within OwnCloud, not AmpacheX. I may try to look into the Own Cloud source code and fork a fix if I get the time.


Original comment by @RyanCopley at https://github.com/owncloud/apps/issues/999#issuecomment-17608934

MorrisJobke commented 11 years ago

Ryan, nice to see you here! Yes, please help if you can, it's been a month now since I opened this ticket and no one seems to pay attention.


Original comment by @bence8810 at https://github.com/owncloud/apps/issues/999#issuecomment-17652406

MorrisJobke commented 11 years ago

@RyanCopley that would be great. The media app currently has no maintainer, so any help is much appreciated.


Original comment by @tanghus at https://github.com/owncloud/apps/issues/999#issuecomment-17661840

MorrisJobke commented 11 years ago

here is (possibly) some new light for the devs:

The above thread seemed to suggest that the ampache client-server connection to owncloud just doesnt work and that the problem is purely located in owncloud itself. Well thats not entirely true. Today I discovered that on a windows 7 desktop with a Tomahawk player, I can connect to my owncloud server (5.05) using an ampache connection! Music playback works perfectly. Thats weird, I thought. So I installed Tomahawk on an Ubuntu desktop (12.10) and tried to connect to the same server. But in this situation, Tomahawk isn't able to fetch any data from the server.

So what we know: Owncloud/Ampache connection fail on any known client on: Android, iOS, Ubuntu.

But it works on Windows

I'm not sure what this means exactly, but I feel it has to be significant. So I filed a corresponding bug with the Ampache guys. Maybe they can shed some light on how to pin this down.

If the devs need some more testing done, please let me know

cheers,

Mat


Original comment by @matv1 at https://github.com/owncloud/apps/issues/999#issuecomment-17750146

MorrisJobke commented 11 years ago

On owncloud 5.0.0, I wasn't able to use the ampache connection, but now, with owncloud 5.0.5, media app from git master, on Debian 7, I'm able to use ampache with amarok 2.6 on Debian Sid. The fact is that I change all my music filenames by removing ',()[]?! Maybe there is a problem in accessing the files (are the filenames urlencoded or something like that) ?


Original comment by @ldidry at https://github.com/owncloud/apps/issues/999#issuecomment-17755325

MorrisJobke commented 11 years ago

@ldidry Thanks for that info! I hadn't tested with amarok before. But I have just now. I ran it on my Ubuntu 12.10 desktop and what happenend was that I was able to make a valid Ampache server connection and Amarok was able to retrieve and show the playlists. But it won't play any of the songs. I did a file rename like you suggested on all my music but it didnt help. Why did you test it on Debian Sid? Did you try it on Official Wheezy first and that didn't work? If you have not tested on Wheezy, I will be happy to give that a try.

So, to update what we know now: Ampache client-connections to Owncloud works on Windows (with Tomahawk) and on Debian Linux (with Amarok). On iOS and Android, there are no known apps that work.

This seems to mean that it is less certain that the Owncloud implementation of Ampache is wrong: First of all, If Owncloud isn't interfacing with the API correctly, you would expect it to fail on any platform with any client-app. Secondly: the owncloud web-interface does play music. No one has any problems with that. And as far as I can figure out, that too is just an interface to the Ampache installation within owncloud.

My conclusion at this point: Either: Owncloud does not completely adhere to the Ampache API. However, some clients do work because they are programmed to be more fault tolerant and/or handle exceptions better. Or: the client-apps that don't work are the ones that are not properly catching the Owncloud/Ampache stream. I am starting to lean towards this idea now, although I don't have enough experience with programming interfaces to streaming servers.

Hope this helps someone to figure this out!


Original comment by @matv1 at https://github.com/owncloud/apps/issues/999#issuecomment-17768259

MorrisJobke commented 11 years ago

@matv1 It's neither of those. It is when you fetch the stream it just gives and end stream message.


Original comment by @RyanCopley at https://github.com/owncloud/apps/issues/999#issuecomment-17768283

MorrisJobke commented 11 years ago

Ok. Stil it seems strange that in some instances it does work. Anyway, I will leave it up to you dev's then. If you need any help testing, just let me know. I'd be happy to help if I can.


Original comment by @matv1 at https://github.com/owncloud/apps/issues/999#issuecomment-17768369

MorrisJobke commented 11 years ago

@matv1 I use Debian Sid as my usual OS (in fact, it's sid / experimental). Note there was an issue (can't tell the number) that point xmlencode function (or a function with a similar name) which prevents stream to be played, due to a bad URL. I encountered this bug at the beginning (owncloud 5.0.0), applied the same solution, it made it working. The solution is not in the master branch but applying this solution doesn't solve the bug here. Did you rescan your collection before retrying after renaming the files?


Original comment by @ldidry at https://github.com/owncloud/apps/issues/999#issuecomment-17769203

MorrisJobke commented 11 years ago

Could someone forward me a known working OwnCloud server login, including file system access? I'm attempting to get this to work but my VPS is far too underpowered to handle Own Cloud. email: ryanwebdev@gmail.com


Original comment by @RyanCopley at https://github.com/owncloud/apps/issues/999#issuecomment-17769978

MorrisJobke commented 11 years ago

What do you mean by working? You have access to mine already but I don't have my songs renamed like its above mentioned and thus nothing plays.

If you're ok with that ill grant you file access via FTP? Ben


Original comment by @bence8810 at https://github.com/owncloud/apps/issues/999#issuecomment-17770129

MorrisJobke commented 11 years ago

Yeah FTP would be great. I actually just solved the issues (there were two), but there may be a catch. I can only figure out how to hotfix it to work with a streamer, and if you use the mobile webpage version, this may break that functionality. I don't know if there is a way to tell if it is a stream or a mobile webpage version? If so I could submit a patch and fix it.

bence8810: Once you send me your FTP details, i'm going to apply the patches I just discovered to your version just to be safe to say it works. Is this OK? I can restore them if there are issues, but I think it should allow you to stream to your phone with AmpacheX at least.


Original comment by @RyanCopley at https://github.com/owncloud/apps/issues/999#issuecomment-17770166

MorrisJobke commented 11 years ago

Much appreciated mate, I'll set this up for you. I do have some important files in the cloud but as long as you don't delete stuff you can do whatever you need, don't mind even if its down for a few days.

I am wkung to the train now, once settled ill set the access.

Thanks Ben


Original comment by @bence8810 at https://github.com/owncloud/apps/issues/999#issuecomment-17770207

MorrisJobke commented 11 years ago

Here is a fork of my repo which offers the patch: https://github.com/RyanCopley/apps/

it is not confirmed working but it is on good suspicion.


Original comment by @RyanCopley at https://github.com/owncloud/apps/issues/999#issuecomment-17770292

MorrisJobke commented 11 years ago

Ryan, just gave you access. Fire away and let us know.

Much appreciated Ben


Original comment by @bence8810 at https://github.com/owncloud/apps/issues/999#issuecomment-17770328

MorrisJobke commented 11 years ago

I just confirmed that my fork corrects the issue. I submitted a pull request for the OwnCloud developers to accept.


Original comment by @RyanCopley at https://github.com/owncloud/apps/issues/999#issuecomment-17770375

MorrisJobke commented 11 years ago

@RyanCopley Ryan, thanks a million for helping out on this! I just tested your pull request on my Owncloud 5.0.5 implementation. Unfortunately, no results for me. I updated the ampache.php file, restarted apache but stil, none of the client-apps will play the songs. I can see changes: -On android (with just player and ampache provider) I can now see the content. I couldn't before. But it won't play. -On Ubuntu no change: Neither Tomahawk nor Amarok will play songs -On Windows: Tomahawk used to work before but now it doesn't anymore. My Owncloud webclient still works.

Can you tell me the specs of the setup you got it working on? what Owncloud version? and what kind of client? Was it an http or https connection?

Hopefully other ppl can test this as well. Maybe its something to do with my installation, although I didn't do any changes before this.

Again: the effort is much appreciated, Ryan thnx

Mat


Original comment by @matv1 at https://github.com/owncloud/apps/issues/999#issuecomment-17771423

MorrisJobke commented 11 years ago

I tested with AmpacheX (1.4.0, and dev 2.0.0 builds) and iAmpache, both for iOS and it worked for me. The OwnCloud version won't matter


Original comment by @RyanCopley at https://github.com/owncloud/apps/issues/999#issuecomment-17771468

MorrisJobke commented 11 years ago

Okay so it looks like we have a confirmed fix for iOS clients. @bence8810 Ben, could you maybe try connecting from another platform/app to your server now that you have the fix running? If you have an Android lying about, Just player with Ampache Provider should take about 2 minutes to install and set up.

In fact, can anyone please test the fix on any of the other platforms and client apps and let us know?


Original comment by @matv1 at https://github.com/owncloud/apps/issues/999#issuecomment-17786217

MorrisJobke commented 11 years ago

@matv1 I don't have an android device but would grant you access to my installation if you'd like to try it from your end.

Thanks Ben


Original comment by @bence8810 at https://github.com/owncloud/apps/issues/999#issuecomment-17787459

MorrisJobke commented 11 years ago

cool that would be great! Can you email the credentials to me here veen840@zonnet.nl ? I will reply with the credentials to my setup so you can test the iOS client to another owncloud instance if you wish.


Original comment by @matv1 at https://github.com/owncloud/apps/issues/999#issuecomment-17787562

MorrisJobke commented 11 years ago

Thanks, that's be great! I just sent you the access details. Hope it'll work!

Ben


Original comment by @bence8810 at https://github.com/owncloud/apps/issues/999#issuecomment-17787661

MorrisJobke commented 11 years ago

Hi all, I'm the author of the Ampache.NET android client. I have had several people reach out to me with errors using the android client with owncloud installations. Here is what I discovered: The XML returned by owncloud that contains all the music meta information was http encoded The URL to the song was invalid.

the first issue was easy enough to fix by running the xml fragments through a http decoder. The second issue was the killer. When I pulled out a song url to my ampache server (non-ownclould) and navigate to the url in a browser and mp3 file downloads, but when I did the same to a URL from own cloud I would get a blank page

I don't really know anything about owncloud or PHP but I think that Ryan's patch is defiantly heading in the right direction if not already solving the problem. All of these 3rd party ampache clients need the same thing from the server, valid XML to read and a URL that return the music file to be played. If it works from one client it should would for all clients.

John


Original comment by @jcwmoore at https://github.com/owncloud/apps/issues/999#issuecomment-17787914

MorrisJobke commented 11 years ago

This thread is community collaboration at it's best! :+1: :)


Original comment by @tanghus at https://github.com/owncloud/apps/issues/999#issuecomment-17788925

MorrisJobke commented 11 years ago

Migration stopped working: So see further comments here: https://github.com/owncloud/apps/issues/999#issuecomment-17788990

bence8810 commented 11 years ago

Hi all,

@kabum Just wondering what happened to this thread? It used to be at issue999 and all of a sudden I received like 30 emails telling me there's a new post when there wasn't. Some posts are also gone.

Is this the thread we should follow or we shall get back to the old one? The problem is very much outstanding and we are eagerly waiting for a solution. Goes without saying that if anyone needs access to a server to test etc., I am happy to grant it.

All the best, Ben

MorrisJobke commented 11 years ago

@bence8810 Sorry for the confusion. I extract the media app out of the apps repository. Therefore I also migrate all issues to this new repository. The only issue were something went wrong is this thread. BTW: I plan to rewrite the media app during summer, so I hope to improve the quality of the media app (which was recently unmaintained).

Please comment here and use the linked thread as reference. Thanks a lot

bence8810 commented 11 years ago

@kabum thanks for the confirmation, we'll use this thread then. We'll wait for your re-written media app then during the summer, will be great having access to our music once again.

All the best, Ben

matv1 commented 11 years ago

@kabum Yes thats is good to hear indeed. Just to be clear though. In terms of a rewrite: I take it we are not planning to move away from Ampache as stream server are we?

(And like Ben said, If you need anything tested or need a live OCserver to test, I too am available. Just let us know).

Cheers, Mat

RyanCopley commented 11 years ago

I say that we should stay with Ampache. It's a good software and is fairly easy to implement.

matv1 commented 11 years ago

Absolutely agreed. I don't think there is even any real alternative out there, unless other coding platforms are being considered. (which I don't see as viable within OC). Still, just wanted to check and make sure.

MorrisJobke commented 11 years ago

I plan to stay at Ampache, but I want to introduce an internal abstraction layer to easily add other APIs. As I'm accepted for the GSoC this will be the roadmap: http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/kabum/9001

RyanCopley commented 11 years ago

That's an extremely bad idea unless your maintain 100% spec of /all/ media player subsystems. No clients will work if you rewrite the API.

Edit: unless you mean the internal API to owncloud, not their individual APIs to the outside world for media players

matv1 commented 11 years ago

I think I see Ryans worry,

I hadn't heard of Shiva, but having read up on it a bit, it seems well suited as a metadata server for a AngularJS/HTML5 Player. The best thing being that the new client app could be very simple and lightweight (Though maybe the heavier need for serverside python/flask is a tradeoff here)

On the other hand, As far as I can understand, Ampache will come to rely on the Shiva server for its metadata. Is that correct? If so, is the benefit of having one metadata API for any kind of client app, big enough to justify this 'forced' dependency?

Possibly I am getting your strategy all wrong. Can you please elaborate on what you mean by: "Adaptation of Ampache API to the new media app"

Thanks, hope to hear

Mat

MorrisJobke commented 11 years ago

@Matv1: It isn't really the whole shiva thing. I just adapt the sepcification, to use provide it to our media player client (written in AngularJS). Due to several scenarios it's good to have the widespread ampache specification also build in. So the metadata scanner, etc is self written and not a 3rd party library.

matv1 commented 11 years ago

@kabum: I see. Still, whether or not we do the whole shiva or an adapted implementation of it, isn't relevant within this context. It's about a choice between designing one API for all clients, or keeping Apache metadata as separate as possible from the Owncloud 'internal' media app, right?

Again, if I am missing the point here, I'll be happy to be set straight :) Also, I am not even taking a point of view here. Just trying to be clear on what the implications are of the new roadmap for the media app as well as for the Ampache connection.

Thanks again,

Mat

RyanCopley commented 11 years ago

I'm going to look into this again and attempt to solve it. I'll report back in a bit to see if I figure anything out.

matv1 commented 11 years ago

That would be great, thanks!

bence8810 commented 11 years ago

Ryan, this is much appreciated mate...

Ben

foxbow commented 11 years ago

Not sure if it's any help, I spent some time looking into this (as well as enabling shuffle play in the web player) and noticed that the XML title information claims that all titles would have zero length in bytes and time. However this misinformation comes from the scanner itself as it seems, as they are stored as zero length in the database too. Maybe this plays into the issue as well.

RyanCopley commented 11 years ago

@foxbow Very interesting! I'm currently having a lot more issues myself. I'm personally not an OwnCloud user, just a software dev who somehow manages to profit from OwnClouds user base. I can't even get the software to install properly from GIT nor the deb packages. I really want to get this issue resolved, though. I'm going to keep trying I guess.

bence8810 commented 11 years ago

@RyanCopley if you need better access to my server let me know. I have no problem with you fiddling with my setup.

Ben

RyanCopley commented 11 years ago

That would be great, can you grant SSH access by chance?

bence8810 commented 11 years ago

Checked with the host and its not allowed :( only FTP which you already have. I know this cripples things.

Anything else that might help?