Ionshard / pyxis

A Command Line Player for SIRIUS and XM Sattelite Radio
http://www.ionshard.com/pyxis
GNU General Public License v2.0
19 stars 13 forks source link

Possible Alternate Streaming Method? #9

Closed johnrabotnik closed 13 years ago

johnrabotnik commented 13 years ago

I've noticed Sirius have apps out for Blackberry, Android and iPhone. I'm guessing these apps arn't doing any screen-scraping or asking for captchas to be completed. Perhaps Pyxis can be setup to use the same streaming method that these apps are using?

This could remove the dependency on Beautiful Soup, improve performance and make the program easier to maintain. Plus, Pyxis will no longer be affected by changes to the Sirius website html.

If you guys think this is worth looking in to then let me know and I'll take a closer look at the apps and see if we can use their streaming methods in Pyxis.

Ionshard commented 13 years ago

I'm sure they aren't they are either, the problem is finding what they are using. All their applications are closed source and while I may know what I'm doing in and around code I am no where smart enough to be reverse engineering things. If we can think of a way to handle this I am on board though.

johnrabotnik commented 13 years ago

Cool, I'll download them and take a peek.

Ionshard commented 13 years ago

I would look into it I have a Nexus One I would love to stream SIRIUS on, but I have a lifetime subscription to online that apparently doesn't count as "premium online" so its a no go for me.

johnrabotnik commented 13 years ago

I just loaded up Android in an emulator, installed the Sirius Android App and it let me login and listen. I have no idea if I have premium or not (I just have the online subscription too) but if they do block regular users then this method is no good for Pyxis.

While I was running the Android app I started a packet capture to see what the app was doing. It uses a different domain to the usual one to authenticate, get channel info and stream the audio:

http://sxm.quickplay.ca

Full channel listings are here in JSON format (they're encrypting the values though) http://sxm.quickplay.ca/mobile/content/siriusxm/metadata.json

Specific channel info is found here (notice the 32/64/128 bitrate stream options) http://sxm.quickplay.ca/mobile/content/siriusxm/ch2058/descriptor.txt

Android selected the 64 bitrate stream: http://sxm.quickplay.ca/mobile/content/siriusxm/ch2058/64/203.mp3

I'll keep digging to see what else I can find.

Ionshard commented 13 years ago

Ya, I still get the message "Basic Accounts Restricted", I think it's because I am from the pre-additional fee times of SIRIUS online.

johnrabotnik commented 13 years ago

That's outrageous, I can't believe they're doing that to their customers. I'm going to abandon this idea, there's no point wasting effort on this if it's not available to all Sirius subscribers.

Ionshard commented 13 years ago

That's true. Didn't think of it that way.

Ionshard commented 13 years ago

Closing (at least for now) due to poor SIRIUS business practices. If the screen scraping gets bad I am sure we can work something out.