NAME

Audio::M4pDecrypt -- DRMS decryption of Apple iTunes style MP4 player files

DESCRIPTION

Perl port of the DeDRMS.cs program by Jon Lech Johansen

SYNOPSIS

use Audio::M4pDecrypt;

my $mp4file = 'myfile'; my $outfile = 'mydecodedfile'; my $deDRMS = new Audio::M4pDecrypt; $deDRMS->DeDRMS($mp4file, $outfile);

METHODS

new

my $cs = new Audio::M4pDecrypt;

my $cs_conparam = Audio::M4pDecrypt->new( strHome => '/winroot/Documents and Settings/administrator/Application Data', sPfix => '.', dirSep => '/' );

Optional arguments: strHome is the name of the directory containing the keyfile. Under Windows, this will be found automatically if you have run the VLC player on an iTunes file. sPfix is '.' for unix, otherwise generally nil. dirSep is the char that separates directories, generally / or \.

DeDRMS

my $cs = new Audio::M4pDecrypt; $cs->DeDRMS('infilename', 'outfilename');

Decode infilename, write to outfilename. Reading slurps of an entire file, so output can overwrite the same file without a problem, we hope. Backup first.

DecryptFile

$cs->DecryptFile('infilename', 'outfilename');

More decriptive alias for the DeDRMS method.

NOTES
From Jon Lech Johansen:

    DeDRMS requires that you already have the user key file(s) for
    your files. The user key file(s) can be generated by playing
    your files with the VideoLAN Client [1][2].

    DeDRMS does not remove the UserID, name and email address.
    The purpose of DeDRMS is to enable Fair Use, not facilitate
    copyright infringement.

[1] http://www.videolan.org/vlc/ [videolan.org]
[2] http://wiki.videolan.org/tiki-read_article.php?art icleId=5 [videolan.org]

AUTHOR

Original C# version: Jon Lech Johansen <jon-vl@nanocrew.net> Perl version: William Herrera (wherrera@skylightview.com).

SUPPORT

Questions, feature requests and bug reports should go to wherrera@skylightview.com

COPYRIGHT

/*****************************************************************************
* DeDRMS.cs: DeDRMS 0.1
*****************************************************************************
* Copyright (C) 2004 Jon Lech Johansen <jon-vl@nanocrew.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
*****************************************************************************/

    Perl translation with portability modifications Copyright (C) 2004, by William Herrera. Any and all of Perl code modifications of the original also are under GPL copyright.

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 180:

'=item' outside of any '=over'

Around line 196:

You forgot a '=back' before '=head1'