Jump to content

liquidcool

Active Members
  • Posts

    8
  • Joined

  • Last visited

Everything posted by liquidcool

  1. Well I think at least we know why the encoding failed... length is the number of bytes in the file and I doubt those 205 bytes it saved were anything of substance.
  2. this command from the log: C:\Program Files\Fiddler2\Scripts\faad.exe "D:\Shared\Music\dnld\Pandora\Rihanna - Break It Off.mp4" -o "D:\Shared\Music\dnld\Pandora\Rihanna - Break It Off.wav" converts the mp4 from pandora into a WAV that we can convert to an mp3. I'm guessing if you can't play that file, then it's either not a valid mp4 or you don't have the right codecs installed. Hmm, seems very odd that the first 2 songs work and subsequent ones don't. I'm sorry, I don't have an answer for you. Perhaps some of the other developers will run across this and identify the problem.
  3. You're right, they don't exactly match - that's why I'm comparing only the first 350 characters. Those match exactly and the extra chars are some kind of salt code. But if the first 350 are the same, it doesn't matter what's on the end.
  4. Well the nice thing is that building a proxy for all http traffic would be a huge pain in the ass. Fiddler makes this easy as its plug in architecture allows you define a function that is called whenever an http response finishes. So now you have the url and all the response data and you can do whatever you want with this and you don't have to worry about the details. Fiddler exposes methods like SaveResponse(filename) and uirContains(string), etc. If you look at the code, it simply says, is this a pandora xml file? if yes, remember the audio urls and data. Is this an audio url that we saw earlier? If yes, save it and tag it. So it will work with any pandora client running over http including firefox, ie and the pandora widget and task tray app. Incidentally I went to deezer.com with fiddler running and it's basically the same thing. They don't use xml, but before the music plays, there's a file transmitted with all the artist/album/song details and a songID.. then later your browser issues a request for that songID. The song itself is an FLV format file, but it would be easy to add another exe that converts FLV to wav and then does the lame.exe step and tagging as well. If someone went all out, you could build this plugin to work against any radio site out there.
  5. I would also add, it wouldn't be hard to add support for deezer.com and other online radio sites.
  6. Answers: * album art comes from pandora, but since pandora includes the amazon isbn, it wouldn't be hard to fetch the larger image from amazon * The bitrate could be specified in the lame encoder step - to be honest i'm not sure what the optimum setting would be - you could encode the wavs at 300kbs, but at some point you're encoding far higher than pandora serves them. i guess it would be ideal to give you a setting to specify command line switches for lame.exe * of course - you could do anything with this. The source is included so someone else could pick this up and run with it. I've only invested a couple hours in this and don't have the time to maintain it. I was just interested in a proof of concept to demonstrate a different method that doesn't rely on specific browser version or plugins since it operates at the network level.
  7. source and binaries: http://wikisend.com/download/511348/PandoraSaver.zip let me know how it goes and I am not responsible for misuse.
  8. Fiddler is an http proxy for debugging http traffic - even SSL traffic. It supports plugins written in .net. You can download it from www.fiddler2.com I have written a plugin for fiddler2 that does the following: * watches traffic to pandora for xml documents describing a playlist and remembers audio url and id3 info * watches for requests to a known audio url and saves the recorded response as .mp4 * runs faad to convert the mp4 to wav * runs lame to convert the wav to mp3 * inserts an id3 tag in the mp3 with artist, album, title, and covert art image * deletes the 2 temp files (mp4 and wav) Also it: * watches for requests to pandora.com/ and injects a meta-refresh right into the source of the page to force it to reload periodically so it won't stop playing. To run, copy the dll and 2 audio conversion exe's into the fiddler scripts directory and start fiddler, then start ANY browser (IE is automatically hooked by fiddler) and my fiddler plugin will start capturing music to the folder of your choice. This method for timeshifting doesn't rely of flash or browser or caching or any other miscellaneous technology. It watches everything going by and saves the music. Apparently I can't upload zip files here and I'm not going to host it myself, but if you want the source code, drop me a pm.
×
×
  • Create New...