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 $outfile = 'mydecodedfile';
my $deDRMS = new Audio::M4pDecrypt;
$deDRMS->DeDRMS($mp4file, $outfile);

See also the M4pDecrypt.pl example program in this distribution.

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 directory containing the keyfile directory. After running VLC on a .m4p file under Windows, MacOS X, and Linux, this should be found by the module automatically (APPDATA dir under Win32, ~/ under OS X and Linux). sPfix is '.' for MacOS/*nix, otherwise nil. dirSep is the char that separates directories, often /.

DeDRMS

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

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

DecryptFile

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

More descriptive 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 185:

'=item' outside of any '=over'

Around line 201:

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