NAME

DVD::Read::Dvd::Ifo::Vts - Access to DVD IFO file using libdvdread

SYNOPSIS

use DVD::Read::Dvd;
use DVD::Read::Dvd::Ifo::Vmg;
use DVD::Read::Dvd::Ifo::Vts;
my $dvd = DVD::Read::Dvd->new('/dev/cdrom');
my $vmg = DVD::Read::Dvd::Ifo::Vts::Vmg->new($dvd);
my $vts = DVD::Read::Dvd::Ifo::Vts::Vts->new(
  $dvd,
  $vmg->title_nr(0),
);
...

DESCRIPTION

This module provide a low level access DVD IFO files using libdvdread.

This module allow you to get video titles informations step by step like it is done by libdvdread.

Notice functions provided by module are really basics, then you really need to understand the dvd information to use it.

FUNCTIONS

new($dvd, $id)

Return a new DVD::Read::Dvd::Ifo::Vts:

$dvd

A DVD::Read::Dvd object.

$id

The title number you want to get information.

vts_identifier

A string to identify the VTS

vts_ttn_count

Return the count of track inside this title.

vts_chapters_count($ttn)

Return the count of chapter for title number $ttn.

vts_video_format

Return the video format

vts_video_format_txt

Return the video format in textual form

vts_video_size

Return the width and height of the video

vts_video_mpeg_version

Return the MPEG version used

vts_video_mpeg_version_txt

Return the MPEG version in textual form

vts_video_aspect_ratio

Return the aspect ratio

vts_video_aspect_ratio_txt

Return the aspect ratio in textual form

vts_video_permitted_df

Return the 'permitted_df' value, but no sure about its meaning

vts_video_permitted_df_txt

Return the 'permitted_df' in textual form (from transcode code).

vts_video_film_mode

Return true if the video is a movie

vts_video_letterboxed

Unknown meaning...

vts_video_line21_cc_1

Unknown meaning...

vts_video_line21_cc_2

Unknown meaning...

vts_video_ntsc_cc

Unknown meaning...

vts_audios

Return the list of existing audios tracks id

vts_audio_id($id)

Return the VID of the audio track number $id.

vts_audio_format($id)

Return the format of audio track number $id.

vts_audio_format_txt($id)

Return the format of audio track number $id in textual form.

vts_audio_frequency($id)

Return the frequency for audio track number $id.

vts_audio_frequency_txt($id)

Return the frequency for audio track number $id in textual form.

vts_audio_language($id)

Return the language code for audio track number $id.

vts_audio_lang_extension($id)

Return the language extension for audio track number $id. In fact this is comment about track content.

vts_audio_lang_extension_txt($id)

Return the language extension for audio track number $id in textual form.

vts_audio_quantization($id)

Not sure about the meaning, should the bit count used to code sound.

vts_audio_quantization_txt($id)

Return audio quantization in textual form.

vts_audio_channel($id)

Return the channel mode for audio track number $id.

vts_audio_channel_txt($id)

Return the channel mode for audio track number $id in textual form.

vts_audio_appmode($id)

The application mode for audio track number $id. Eg, is the track for karaoke ?

vts_audio_appmode_txt($id)

The application mode for audio track number $id in textual form.

vts_audio_multichannel_extension($id)

Does the audio track number $id has multichannel extension ?

vts_subtitles

Return the list of existing subtitles tracks id

vts_subtitle_id($id)

Return the VID of subtitle number $id.

vts_subtitle_language($id)

Return the language for subtitle $id.

vts_subtitle_lang_extension($id)

Return the language extension for susbtitle number $id. This is in fact a comment about the subtitle content.

vts_subtitle_lang_extension_txt($id)

Return the language extension for susbtitle number $id in textual form.

title_length($ttn)

Return the length in millisecond of title handle by $vts DVD::Read::Dvd::Ifo object get from a title > 0.

chapter_offset($title, $chapter)

Return in millisecond the chapter offset from movie start of chapter number $chapter of title number $title.

$vts is the DVD::Read::Dvd::Ifo object for title number $title.

It is unfriendly to have to give again the title number if the VTS IFO is given. I haven't find another way, but remember this module is low level access to dvdread API.

chapter_first_sector($title, $chapter)

Return first sector of chapter $chapter for title $title.

$vts is the DVD::Read::Dvd::Ifo object for title number $title.

chapter_last_sector($title, $chapter)

Return last sector of chapter $chapter for title $title.

$vts is the DVD::Read::Dvd::Ifo object for title number $title.

vts_pgcs_count

Return the count of pgc in this title.

vts_pgc_id($ttn, $chapter)

Return the pgc number for title track number $ttn and chapter number $chapter.

vts_pgc($pgc_id)

Return the DVD::Read::Dvd::Ifo::Pgc object number $pgc_id.

The $pgc_id is given by vts_pgc_id function.

vts_pgc_num($ttn, $chapter)

Return inside the pgc, the pgc number containing the cell data.

CAVEAT

Most of C code come from mplayer and transcode (tcprobe).

Thanks authors of these modules to provide it as free software.

As this software are under another license, and this module reuse code from it, the Perl license is maybe not appropriate.

Just mail me if this is a problem.

SEE ALSO

DVD::Read::Dvd =item DVD::Read::Dvd::Ifo::Vmg

AUTHOR

Olivier Thauvin <nanardon@nanardon.zarb.org>

COPYRIGHT AND LICENSE

Copyright (C) 2008 by Olivier Thauvin

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.

The libdvdread is under the GPL Licence.