X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=rip_movie;h=26e49e05af13d5a2975d2762af14753841794389;hb=1886c7247cb16ed68a78cd5550b152689a465999;hp=9256d0a52fdfc02ea17a85c17cff3d77b7b50b2f;hpb=69aa42e4e0f6d646f17b33a376e15cd81ac1b9b9;p=bin.git diff --git a/rip_movie b/rip_movie index 9256d0a..26e49e0 100755 --- a/rip_movie +++ b/rip_movie @@ -21,6 +21,10 @@ rip_movie - Rips Movies using HandBrakeCLI 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 @@ -114,7 +118,7 @@ die "no title" if not defined $title; 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) { @@ -148,6 +152,8 @@ for my $title_bit ($result =~ /\n(\+ title \d+:.+?)(?=\n\+ title\s+|$)/gs) { push @titles,\%title; } +# p @titles; + #print STDERR Dumper(\@titles); @@ -160,14 +166,14 @@ if (not @titles_to_rip) { $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) { @@ -182,9 +188,12 @@ my $multiple_titles = @titles_to_rip > 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}}),