rip_movie
Options:
+ --device Device to rip from (default /dev/dvd)
+ --output Output filename
+ --min-duration Minimum duration in minutes for episode
+ --titles Optional titles to rip; overrides title autodetection
--debug, -d debugging level (Default 0)
--help, -h display this help
--man, -m display manual
my $filename = lc($title);
$filename =~ s/[\s_-]+/_/;
-use Data::Dumper;
+use Data::Printer;
my @titles;
for my $title_bit ($result =~ /\n(\+ title \d+:.+?)(?=\n\+ title\s+|$)/gs) {
push @titles,\%title;
}
+# p @titles;
+
#print STDERR Dumper(\@titles);
$longest_title = $i;
}
if ($title->{duration} >= $options{min_duration}) {
- push @titles_to_rip,$i;
+ push @titles_to_rip,$i+1;
}
}
if (not @titles_to_rip) {
- push @titles_to_rip,$longest_title;
+ push @titles_to_rip,$longest_title+1;
}
- print STDERR Dumper({longest_title => $longest_title});
}
+# p @titles_to_rip;
my $invalid_titles = 0;
for my $i (@titles_to_rip) {
if ($i > @titles or $i < 1) {
#print STDERR Dumper(\@titles_to_rip,[@titles[map {$_} @titles_to_rip]]);
#exit;
+p @titles_to_rip;
+p @titles;
+
for my $i (@titles_to_rip) {
- system('HandBrakeCLI','-i',$options{device},'-t',$titles[$i]{num},
- '-o',$filename.($multiple_titles ? '_'.$titles[$i]{num} : '').".mkv",
+ system('HandBrakeCLI','-i',$options{device},'-t',$titles[$i-1]{num},
+ '-o',$filename.($multiple_titles ? '_'.$titles[$i-1]{num} : '').".mkv",
'-e','x264','-2','-q','21',
'-a',join(',',@{$titles[$i-1]{audio_tracks}}),
'-s',join(',',@{$titles[$i-1]{subtitle_tracks}}),