Page 1 of 2
Playing iTunes Protected AAC files is VLC
Posted: 06 Jan 2004 04:49
by potuncle
Ok, so now that code has been released to be able to play iTunes Music Store Protected AAC files in VLC, how do I do so? If you haven't heard about this code see
this article.
The link at the bottom of the article goes to the CVS directory where the code is. I am not a developer and am not sure how to compile that code and use it. From what the article says, I need to run VLC in Windows to create a user key and then copy that to my linux box.
If anyone could please clarify this process it would be much appreciated. Basically I need to know how do I compile this code on Windows? On Linux, do I just do a make and then make install? Where is this user key created on my Windows disk, and where should I put it on my Linux disk?
Any help is appreciated.
Thanks,
Jason
Posted: 06 Jan 2004 09:57
by Murray
Windows nightly builds are available at
http://vthr.via.ecp.fr/~videolan/build/win32/
The rest of the procedure is quite well explained in the article, IMHO.
--
Carlo
Still cannot play protected AAC files in VLC
Posted: 08 Jan 2004 01:21
by potuncle
OK, I downloaded and am running vlc-0.7.1-cvs-20040107 on WinXP and trying to get a user key created so I can play an iTunes Music Store file I purchased on a Linux computer.
Does iTunes for Windows need to be installed on the computer I am running VLC on to create my user key? If so, does this computer need to be activated in iTunes?
BTW, the protected AAC files I am trying to play were purchased by me on my Mac, but I would really like to be able to play them on my Linux box withount reencoding the files.
Below is the last part of the VLC messages after trying to play a protected aac file in Windows:
main debug: using demux module "mp4"
mp4 warning: DEMUX_GET_FPS unimplemented !!
mp4 warning: no track selected, exiting...
main: EOF reached
main debug: thread 2980 (input) created at priority 15 (src/input/input.c:270)
main debug: cmd=state old=1 new=1
main debug: playing at normal rate
main debug: 1 loops
main debug: dumping stream ID 0x0 [OK:0/D:0]
main debug: seekable stream, position: 143483/2119249 (0:00:08/0:02:02)
mp4 debug: freeing all memory
main debug: unlocking module "mp4"
access_file: closing `/://C:\Documents and Settings\celbjaw\Pink Moon.m4p'
main debug: unlocking module "access_file"
main debug: pes: 0 packets
main debug: data: 1 packets
main debug: buffers: 1 packets
main debug: freeing info structures...
main debug: thread 2980 joined (src/input/input.c:304)
main warning: refcount is 1, delaying before deletion
Any help is appreciated.
Thanks,
Jason
Posted: 08 Jan 2004 07:11
by Murray
As far as I know, Jon's plugin is supposed to work on files encrypted with a Windows system key. The Mac key must be based on other criteria, so it can't be guessed by VLC.
Re: Still cannot play protected AAC files in VLC
Posted: 08 Jan 2004 14:31
by Guest
Does iTunes for Windows need to be installed on the computer I am running VLC on to create my user key? If so, does this computer need to be activated in iTunes?
Yes and yes.
The user key will be written to "C:\Documents and Settings\$USERNAME\Application Data\vlc\drms"
If the vlc directory does not exist, you will have to create it in advance or else the file will not be written (this issue will be fixed soon).
The drms file should be copied to ~/.vlc/ on your GNU/Linux system.
--
jlj
Posted: 08 Jan 2004 14:36
by JonLech
As far as I know, Jon's plugin is supposed to work on files encrypted with a Windows system key. The Mac key must be based on other criteria, so it can't be guessed by VLC.
The system key is only needed to get the user key.
If you get the user key under Windows, you will be able to play music purchased using MacOS as well.
--
jlj
segfault
Posted: 08 Jan 2004 15:10
by Guest
I am getting a segfault when attempting to play back the file (after doing the steps outlined above):
(gdb) back
#0 0x4207c5fc in memcpy () from /lib/tls/libc.so.6
#1 0x402488e3 in faad_initbits (ld=0x827bfff, _buffer=0x439d4958,
buffer_size=136700792) at bits.c:54
#2 0x4024c245 in faacDecDecode (hDecoder=0x825d270, hInfo=0x439d4958,
buffer=0x827bfff "", buffer_size=72807003) at decoder.c:780
#3 0x401757e8 in a52_resample_init () from /usr/lib/libavcodec.so
#4 0x40069bf1 in avcodec_decode_audio () from /usr/lib/libavcodec.so
(gdb)
Re: segfault
Posted: 08 Jan 2004 15:25
by JonLech
I am getting a segfault when attempting to play back the file (after doing the steps outlined above):
Check the VLC messages. Does it say "drms initialized" or "drms not initialized"? If the latter, check for "drms_init ..." messages.
What is the size of your
C:\Documents and Settings\All Users\Application Data\Apple Computer\iTunes\SC Info\SC Info.sidb ?
--
jlj
Posted: 08 Jan 2004 16:09
by Guest
To the first question - I don't see either of those messages. Should I see them on startup or after I attempt to play the file (before the segfault).
To the second - I can answer once I get home - I do not have access to my windows machine from work.
-Mike
Posted: 08 Jan 2004 21:38
by Aqualung
Here's now what I understand from all this discussion (I guess I should apologize first for my inadequate background in the matter): If I want to get VLC to play protected AAC files on any Windows computer, I should first copy the user key in some VLC-related folder of the respective Windows computer. Note that this is only going to work with the tunes I downloaded, and no others(!). Also, it is only VLC that is going to play the protected files, no other program (like QuickTime for example) is going to be able to play them.
This looks, indeed, very cumbersome. What happened to that memory dump switcharoo that actually removed the protection, so one is not going to have to go through all this?
Anyway, I'd appreciate a reply just to let me know that I am not totally rambling...
Posted: 09 Jan 2004 00:51
by Guest
SC Info.sidb is 180 bytes.
-Mike
key code location and HD swap/Itunes version
Posted: 24 Jan 2004 23:03
by Bruce
WinXP Pro
vlc nightly build from 20040123
First to address a prior posters concern.
If you can play the AAC file on your windows box with vlc, you can stream to a AAC encoded file and remove the protections. (Use the stream wizard).
Now for my real question:
I have bought all of two iTunes files, one was pucrchaced a few months back using iTunes 4.1 and on an older hard drive. Since then I swapped HDs, re-authorized under iTunes and upgraded to the 4.2 version of iTunes.
I can play both files in iTunes, but only the newer one (new HD, new iTunes) file is playable by vlc. The drm does fail on the older file:
[00000201] mp4 input error: drms_init( priv ) failed
Is there a way to manually enter a key? I still have the old HD on my machine, it's just not drive C: anymore.
Re: segfault
Posted: 26 Jan 2004 23:44
by jlj
(gdb) back
#0 0x4207c5fc in memcpy () from /lib/tls/libc.so.6
#1 0x402488e3 in faad_initbits (ld=0x827bfff, _buffer=0x439d4958,
buffer_size=136700792) at bits.c:54
#2 0x4024c245 in faacDecDecode (hDecoder=0x825d270, hInfo=0x439d4958,
buffer=0x827bfff "", buffer_size=72807003) at decoder.c:780
#3 0x401757e8 in a52_resample_init () from /usr/lib/libavcodec.so
#4 0x40069bf1 in avcodec_decode_audio () from /usr/lib/libavcodec.so
(gdb)
There's a problem with using libavcodec (ffmpeg) for AAC decoding. Get a recent nightly build or update your cvs checkout (VLC will now always decode AAC using libfaad2 directly).
--
jlj
Re: key code location and HD swap/Itunes version
Posted: 26 Jan 2004 23:49
by jlj
I can play both files in iTunes, but only the newer one (new HD, new iTunes) file is playable by vlc.
Delete C:\Documents and Settings\$USER\Application Data\drms
Then try playing the files with the
latest nightly build.
--
jlj
Posted: 29 Jan 2004 16:45
by Bruce
Delete C:\Documents and Settings\$USER\Application Data\drms
Then try playing the files with the latest nightly build.
That worked like a charm! I guess it's a good thing someone had this problem.
Itunes AAC files
Posted: 06 Feb 2004 23:04
by deank
HI..
I got the the protected Itunes songs to play in VLC and stream the files to a mp4 minus the DRM protection, but are these recompressed files or are they still compressed from Apple's original file?
Thanks
Still cant find that DRM unlock file. Where is it? Using the latest nightly build.
Posted: 22 Feb 2004 21:07
by Guest
Can someone give some straight forward instructions on how to stream a protected AAC file to a regular AAC file with the headers in place?
I can get my iTunes music to play in VLC but I cannot seem to save it as a regular AAC file.
Thanks in advance for the help
Posted: 27 Feb 2004 00:27
by Guest
Hey,
Just downloaded the latest build...
[00000220] mp4 input error: drms_init( priv ) failed
is the error I get. The file loads up, appears to be playing correctly, but nothing actually happens. I saw a recommendation to look for c:\documents and settings\user\Application Data\drms but I can't find the drms part of it. Did a general search for "drms" and it didn't show anything up on the search. Any other suggestions?
Thanks for your help,
Matt
Can play protected aac, but can't steam to file
Posted: 28 Feb 2004 22:06
by NateUNI
I can get the file to play great
But when i try to stream it to a file I recieve a errors. What are you guys using as your stram settings, Thanks!!
Posted: 03 Mar 2004 22:10
by appleguru
The user key will be written to "C:\Documents and Settings\$USERNAME\Application Data\vlc\drms"
If the vlc directory does not exist, you will have to create it in advance or else the file will not be written (this issue will be fixed soon).
The drms file should be copied to ~/.vlc/ on your GNU/Linux system.
Ok, So I fired up Windows 2000 in VPC... installed iTunes, installed VLC... played a drm'd file in itunes.. quit.. ran the file in VLC (The latest release) (It played). Now I'm looking for the drms file that Jon mentioned... I see no C:\Documents and Settings\$USERNAME\Application Data\vlc\drms ; but there is a C:\Documents and Settings\$USERNAME\Application Data\drms (And yes, I made an emtpy vlc folder... That may have only been needed for earlier versions though...)
Inside the drms folder is a file labeled 03052679.001 I copied this to ~/.vlc/ on my OS X machine, and attempt to open the .m4p file to no avail: I still get a mp4: drms_init( priv ) failed in VLC (Which means either the key couldn't be found or was wrong looking at the source.. This error comes up even without the drms key). Any ideas?
Posted: 03 Mar 2004 22:24
by appleguru
Nevermind.. Works now
The drms file needed to be in a folder called .drms in my home folder
Now lets see if we can dump the raw streams...
Posted: 03 Mar 2004 23:00
by appleguru
So I streamed to a .mp4 file with vlc.. and then opened the DRM free file in iTunes; retagged, added album art from original .m4p.. and finally have what I was trying to get.. It certainly isn't an easy process (Nor fast with VLC streaming at only 1x): Someone should write a script/app to do all this for you.. maybe even trigger it when you download a song from the iTMS (bB's idea)... But we still need a way to get the key on the mac though
At least it worked; good work Jon and Co.
Posted: 04 Mar 2004 08:31
by Guest
Whenever I use the streaming wizzard to stream a song to file, I put the location that I want it saved to, I select mp4 as the encapsulation method, and all that happens is the file plays in the main window without sound. It doesn't save a file. What am I doing wrong? If I select dump raw input, it saves a file with the DRM.
This is what VLC sets as the parameters:
:sout=#duplicate{dst=std{access=file,mux=mp4,url="C:\Documents and Settings\Student\Desktop\test.mp4"}}
Posted: 09 Mar 2004 04:00
by appleguru
I've found that it does exactly what you describe on the PC.... but works fine on the mac (But dump always just gives the DRM'd file). In both cases, it plays with no audio at '1x', but only on the mac do I get an actual file (Which of course then needs to be retagged...). VLC should make all this easier I think.. and be able to easily faster than 1x convert from .m4p to .m4a (IE, .mp4), copying all metadata (Including album art). That'd be very convenient.
Another thing obviously would be to be able to get your key on machines other than PC's, but since I already have my key, it's not such a big deal anymore
Posted: 10 Mar 2004 11:35
by mrfett
VLC should make all this easier I think.. and be able to easily faster than 1x convert from .m4p to .m4a (IE, .mp4), copying all metadata (Including album art). That'd be very convenient.
lol yeah it would turn VLC into a iTMS pirating tool of unparalleled power. we gotta remember VLC is a media player. the tool works for playing DRMed aac files on any machine. that's pretty cool. also cool is that it's open source, so making a tool that does all the stuff you describe is feasible... for now i'm gonna try to go through my collection of DRMed files and try to "unencumber" them using VLC. what a PITA though...