Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Info(3)		      User Contributed Perl Documentation	       Info(3)

NAME
       MP4::Info - Fetch info from MPEG-4 files	(.mp4, .m4a, .m4p, .3gp)

SYNOPSIS
	       #!perl -w
	       use MP4::Info;
	       my $file	= 'Pearls_Before_Swine.m4a';

	       my $tag = get_mp4tag($file) or die "No TAG info";
	       printf "$file is	a %s track\n", $tag->{GENRE};

	       my $info	= get_mp4info($file);
	       printf "$file length is %d:%d\n", $info->{MM}, $info->{SS};

	       my $mp4 = new MP4::Info $file;
	       printf "$file length is %s, title is %s\n",
		       $mp4->time, $mp4->title;

DESCRIPTION
       The MP4::Info module can	be used	to extract tag and meta	information
       from MPEG-4 audio (AAC) and video files.	It is designed as a drop-in
       replacement for MP3::Info.

       Note that this module does not allow you	to update the information in
       MPEG-4 files.

       $mp4 = MP4::Info->new(FILE)
	   OOP interface to the	rest of	the module. The	same keys available
	   via "get_mp4info" and "get_mp4tag" are available via	the returned
	   object (using upper case or lower case; but note that all-caps
	   'VERSION' will return the module version, not the MPEG-4 version).

	   Passing a value to one of the methods will not set the value	for
	   that	tag in the MPEG-4 file.

       use_mp4_utf8([STATUS])
	   Tells MP4::Info whether to assume that ambiguously encoded TAG info
	   is UTF-8 or Latin-1.	1 is UTF-8, 0 is Latin-1. Default is UTF-8.

	   Function returns new	status (1/0). If no argument is	supplied, or
	   an unaccepted argument is supplied, function	merely returns
	   existing status.

	   This	function is not	exported by default, but may be	exported with
	   the ":utf8" or ":all" export	tag.

       get_mp4tag (FILE)
	   Returns hash	reference containing the tag information from the MP4
	   file.  The following	keys may be defined:

		   ALB	   Album
		   APID	   Apple Store ID
		   ART	   Artist
		   CMT	   Comment
		   COVR	   Album art (typically	JPEG or	PNG data)
		   CPIL	   Compilation (boolean)
		   CPRT	   Copyright statement
		   DAY	   Year
		   DISK	   Disk	number & total (2 integers)
		   GNRE	   Genre
		   GRP	   Grouping
		   NAM	   Title
		   RTNG	   Rating (integer)
		   TMPO	   Tempo (integer)
		   TOO	   Encoder
		   TRKN	   Track number	& total	(2 integers)
		   WRT	   Author or composer

	   For compatibility with MP3::Info, the MP3 ID3v1-style keys TITLE,
	   ARTIST, ALBUM, YEAR,	COMMENT, GENRE and TRACKNUM are	defined	as
	   synonyms for	NAM, ART, ALB, DAY, CMT, GNRE and TRKN[0].

	   Any and all of these	keys may be undefined if the corresponding
	   information is missing from the MPEG-4 file.

	   On error, returns nothing and sets $@.

       get_mp4info (FILE)
	   Returns hash	reference containing file information from the MPEG-4
	   file.  The following	keys may be defined:

		   VERSION	   MPEG	version	(=4)
		   LAYER	   MPEG	layer description (=1 for compatibility	with MP3::Info)
		   BITRATE	   bitrate in kbps (average for	VBR files)
		   FREQUENCY	   frequency in	kHz
		   SIZE		   bytes in audio stream

		   SECS		   total seconds, rounded to nearest second
		   MM		   minutes
		   SS		   leftover seconds
		   MS		   leftover milliseconds, rounded to nearest millisecond
		   TIME		   time	in MM:SS, rounded to nearest second

		   COPYRIGHT	   boolean for audio is	copyrighted
		   ENCODING	   audio codec name. Possible values include:
				   'mp4a' - AAC, aacPlus
				   'alac' - Apple lossless
				   'drms' - Apple encrypted AAC
				   'samr' - 3GPP narrow-band AMR
				   'sawb' - 3GPP wide-band AMR
				   'enca' - Unspecified	encrypted audio
		   ENCRYPTED	   boolean for audio data is encrypted

	   Any and all of these	keys may be undefined if the corresponding
	   information is missing from the MPEG-4 file.

	   On error, returns nothing and sets $@.

BUGS
       Doesn't support writing tag information to MPEG-4 files.

       If you find a bug, please send me a patch. If you cannot	figure out why
       it does not work	for you, please	put the	MP4 file in a place where I
       can get it (preferably via FTP, or HTTP)	and send me mail regarding
       where I can get the file, with a	detailed description of	the problem. I
       will keep a copy	of the file only for as	long as	necessary to debug the
       problem.

AUTHOR
       Jonathan	Harris <jhar@cpan.org>.

THANKS
       Chris Nandor <pudge@pobox.com> for writing MP3::Info

       Dan Sully at Slim Devices for cover art and iTunes/aacgain metadata
       patches.

       Ruben Laguna for	PSP support.

SEE ALSO
       MP4::Info Project Page
	   <http://search.cpan.org/~jhar/MP4-Info>

       ISO 14496-12:2004 - Coding of audio-visual objects - Part 12: ISO base
       media file format
	   <http://www.iso.ch/iso/en/ittf/PubliclyAvailableStandards/c038539_ISO_IEC_14496-12_2004(E).zip>

       ISO 14496-14:2003 - Coding of audio-visual objects - Part 14: MP4 file
       format
	   <http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=38538>
	   (Not	worth buying - the interesting stuff is	in Part	12).

       3GPP TS 26.244 -	3GPP file format (3GP)
	   <http://www.3gpp.org/ftp/Specs/html-info/26244.htm>

       QuickTime File Format
	   <http://developer.apple.com/documentation/QuickTime/QTFF/>

       ISO 14496-1 Media Format
	   <http://www.geocities.com/xhelmboyx/quicktime/formats/mp4-layout.txt>

       MP3::Info
	   <http://search.cpan.org/~cnandor/MP3-Info/>

COPYRIGHT and LICENSE
       Copyright (c) 2004-2010,	Jonathan Harris	<jhar@cpan.org>

       This program is free software; you can redistribute it and/or modify it
       under the the same terms	as Perl	itself.

perl v5.32.0			  2010-07-30			       Info(3)

NAME | SYNOPSIS | DESCRIPTION | BUGS | AUTHOR | THANKS | SEE ALSO | COPYRIGHT and LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=MP4::Info&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help