Pārlūkot izejas kodu

Merge branch 'master' of github.com:profplump/UberZach-Video

Zachary Kotlarek 12 gadi atpakaļ
vecāks
revīzija
511110fe00
3 mainītis faili ar 17 papildinājumiem un 6 dzēšanām
  1. 16 4
      encode.pl
  2. 1 1
      recode
  3. 0 1
      transmission.pl

+ 16 - 4
encode.pl

@@ -16,7 +16,7 @@ my $STEREO_ONLY         = 0;
 my $VIDEO_ONLY          = 0;
 my $HEIGHT              = undef();
 my $WIDTH               = undef();
-my $AUDIO_EXCLUDE_REGEX = '\b(?:Chinese|Deutsch|Espanol|Francais|Japanese|Korean|Portugues|Thai)\b';
+my $AUDIO_EXCLUDE_REGEX = '\b(?:Chinese|Deutsch|Espanol|Francais|Japanese|Korean|Polish|Portugues|Thai)\b';
 my $SUB_INCLUDE_REGEX   = '\b(?:English|Unknown|Closed\s+Captions)\b';
 my $FORCE_MP4           = 0;
 my $OUT_DIR             = undef();
@@ -28,6 +28,7 @@ my $HD_WIDTH         = 1350;
 my $MIN_VIDEO_WIDTH  = 100;
 my $MAX_CROP_DIFF    = .1;
 my $MAX_DURA_DIFF    = 5;
+my $NO_CROP          = 0;
 my @CODEC_ORDER      = ('DTS-HD', 'DTS', 'PCM', 'AC3', $MIXDOWN_CODEC, 'OTHER');
 my %LANG_INCLUDE_ISO = ('639-1' => 1);
 my $HB_EXEC          = $ENV{'HOME'} . '/bin/video/HandBrakeCLI';
@@ -106,6 +107,11 @@ if ($ENV{'WIDTH'}) {
 	push(@video_params, '--maxWidth', $ENV{'WIDTH'});
 }
 
+# Disable cropping
+if ($ENV{'NO_CROP'}) {
+	$NO_CROP = 1;
+}
+
 # Additional arguments for HandBrake, to allow options not supported directly by this script
 # Split on spaces; if you need spaces you'll have to work out something else
 if ($ENV{'HANDBRAKE_ARGS'}) {
@@ -244,11 +250,17 @@ foreach my $title (keys(%titles)) {
 		$title_quality = $HD_QUALITY;
 	}
 
-	# Override unlikely autocrop values
+	# Detect unlikely autocrop values
+	my $bad_crop = 0;
 	if (   abs($scan->{'crop'}[0] - $scan->{'crop'}[1]) > $scan->{'size'}[0] * $MAX_CROP_DIFF
 		|| abs($scan->{'crop'}[2] - $scan->{'crop'}[3]) > $scan->{'size'}[0] * $MAX_CROP_DIFF)
 	{
 		print STDERR basename($0) . ': Overriding unlikely autocrop values: ' . join(':', @{ $scan->{'crop'} }) . "\n";
+		$bad_crop = 1;
+	}
+
+	# Disable cropping (if no crop argument is passed, HB will autocrop, so set 0:0:0:0 explictly)
+	if ($NO_CROP || $bad_crop) {
 		my @crop = (0, 0, 0, 0);
 		$scan->{'crop'} = \@crop;
 	}
@@ -610,7 +622,7 @@ sub scan($) {
 
 	# Fork to scan the file
 	my $child_out = '';
-	my $pid = open3('<&STDIN', $child_out, $child_out, $HB_EXEC, '--title', '0', '--input', $in_file);
+	my $pid = open3('<&STDIN', $child_out, $child_out, $HB_EXEC, '--previews', '30', '--title', '0', '--input', $in_file);
 
 	# Loop through the output
 	my $scan;
@@ -716,7 +728,7 @@ sub scan($) {
 
 sub findBestAudioTrack($$) {
 	my ($tracks, $codec) = @_;
-	my $best = undef();
+	my $best      = undef();
 	my @available = ();
 
 	# Find available tracks

+ 1 - 1
recode

@@ -71,7 +71,7 @@ fi
 LENGTH_RATIO=0
 LENGTH_IN="`~/bin/video/movInfo.pl "${IN}" LENGTH | sed 's%\..*$%%'`"
 LENGTH_OUT="`~/bin/video/movInfo.pl "${OUT}" LENGTH | sed 's%\..*$%%'`"
-if [ -z "${LENGTH_IN}" ] || [ -z "${LENGTH_OUT}" ]; then
+if [ -z "${LENGTH_IN}" ] || [ -z "${LENGTH_OUT}" ] || [ $LENGTH_IN == 0 ] || [ $LENGTH_OUT == 0 ]; then
 	KEEP_IN=1
 	echo "`basename "${0}"`: Unable to determine length_in or length_out." 1>&2
 else

+ 0 - 1
transmission.pl

@@ -185,7 +185,6 @@ foreach my $tor (@{$torrents}) {
 			}
 		} elsif (defined($result) && $result == -1) {
 			print STDERR 'Deleting bad torrent: ' . $tor->{'name'} . "\n";
-			$failure = 1;
 			last;
 		} else {
 			print STDERR 'Error storing file "' . basename($file) . '" from torrent: ' . $tor->{'name'} . "\n";