Просмотр исходного кода

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

Zachary Kotlarek 8 лет назад
Родитель
Сommit
e77ba5d5e5
3 измененных файлов с 18 добавлено и 8 удалено
  1. 1 1
      discToMkv.sh
  2. 14 5
      encode.pl
  3. 3 2
      sync/sync.sh

+ 1 - 1
discToMkv.sh

@@ -5,7 +5,7 @@ if [ -z "${DRIVE_NAME}" ]; then
 	DRIVE_NAME="BD-RE  WH16NS40"
 fi
 if [ -z "${OUT_DIR}" ]; then
-	OUT_DIR="/Users/Shared/EncodeQueue/in"
+	OUT_DIR="${HOME}/EncodeQueue/in"
 fi
 APP_PATH="/Applications/Zach/Media/MakeMKV.app"
 

+ 14 - 5
encode.pl

@@ -19,6 +19,9 @@ my $HEIGHT        = undef();
 my $WIDTH         = undef();
 my $AUDIO_EXCLUDE_REGEX =
 '\b(?:Chinese|Czech|Deutsch|Espanol|español|Francais|Italiano|Japanese|Korean|Magyar|Polish|Portugues|Russian|Thai|Turkish|Ukrainian)\b';
+my %AUDIO_EXCLUDE_ISO = (
+	'THA' => 1
+);
 my $SUB_INCLUDE_REGEX = '\b(?:English|Unknown|Closed\s+Captions)\b';
 my $FORCE_MP4         = 0;
 my $OUT_DIR           = undef();
@@ -418,7 +421,7 @@ sub subOptions($) {
 	my %tracks = ();
 	foreach my $track (@{ $scan->{'subtitle'} }) {
 		my ($language, $note, $iso, $text, $type) = $track->{'description'} =~
-		  /^([^\(]+)(?:\s+\(([^\)]+)\))?\s+\(iso(\d+\-\d+)\:\s+\w\w\w\)\s+\((Text|Bitmap)\)\((CC|VOBSUB|PGS|SSA|TX3G|UTF\-\d+)\)/i;
+		  /^([^\(]+)(?:\s+\(([^\)]+)\))?\s+\(iso\d+\-\d+\:\s+(\w\w\w)\)\s+\((Text|Bitmap)\)\((CC|VOBSUB|PGS|SSA|TX3G|UTF\-\d+)\)/i;
 		if (!defined($iso)) {
 			print STDERR 'Could not parse subtitle description: ' . $track->{'description'} . "\n";
 			next;
@@ -431,7 +434,7 @@ sub subOptions($) {
 			$text = 0;
 		}
 
-		# Standardize the codes
+		# Normalize the codes
 		$iso  = uc($iso);
 		$type = uc($type);
 
@@ -492,7 +495,7 @@ sub audioOptions($) {
 	my %tracks = ();
 	foreach my $track (@{ $scan->{'audio'} }) {
 		my ($language, $codec, $note, $channels, $iso, $specs) = $track->{'description'} =~
-/^([^\(]+)\s+\(([^\)]+)\)\s+(?:\(([^\)]*Commentary[^\)]*)\)\s+)?\((\d+\.\d+\s+ch|Dolby\s+Surround)\)(?:\s+\(iso(\d+\-\d+)\:\s+\w\w\w\))?(?:,\s+(.*))?/;
+/^([^\(]+)\s+\(([^\)]+)\)\s+(?:\(([^\)]*Commentary[^\)]*)\)\s+)?\((\d+\.\d+\s+ch|Dolby\s+Surround)\)(?:\s+\(iso\d+\-\d+\:\s+(\w\w\w)\))?(?:,\s+(.*))?/;
 		if (!defined($channels)) {
 			print STDERR 'Could not parse audio description: ' . $track->{'description'} . "\n";
 			next;
@@ -505,7 +508,8 @@ sub audioOptions($) {
 			$channels = 3.1;
 		}
 
-		# Standardize the codec
+		# Normalize the codes
+		$iso  = defined($iso) ? uc($iso) : '';
 		foreach my $code (@CODEC_ORDER) {
 			my $metacode = quotemeta($code);
 			if ($codec =~ /${metacode}/i) {
@@ -591,8 +595,9 @@ sub audioOptions($) {
 	if (!defined($mixdown) || $mixdown < 1) {
 
 		# If we applied an exclude filter, remove it and try again
-		if ($AUDIO_EXCLUDE_REGEX ne 'ACCEPT_ALL') {
+		if ($AUDIO_EXCLUDE_REGEX ne 'ACCEPT_ALL' || scalar(keys(%AUDIO_EXCLUDE_ISO))) {
 			$AUDIO_EXCLUDE_REGEX = 'ACCEPT_ALL';
+			%AUDIO_EXCLUDE_ISO = ();
 			print STDERR "No usable audio tracks found in title. Removing exclude filter...\n";
 			goto SELECT_AUDIO;
 		}
@@ -890,6 +895,10 @@ sub isValidAudioLanguage($) {
 		return 0;
 	}
 
+	if ($AUDIO_EXCLUDE_ISO{$iso}) {
+		return 0;
+	}
+
 	return 1;
 }
 

+ 3 - 2
sync/sync.sh

@@ -101,13 +101,14 @@ for infile in $FILES; do
 	# Copy NFO and other metadata, if present
 	OLD_IFS="${IFS}"
 	IFS=" "
-	for meta in "${nobase}.nfo" tvshow.nfo poster.jpg poster.png; do
+	for meta in "${nobase}.nfo" tvshow.nfo poster.jpg poster.png \
+	"../${nobase}.nfo" ../tvshow.nfo ../poster.jpg ../poster.png; do
 		if [ -e "${IN_DIR}/${meta}" ]; then
 			if [ ! -e "${OUT_DIR}/${meta}" ]; then
 				if [ $DEBUG -gt 0 ]; then
 					echo "Copying: ${IN_DIR}/${meta}" 1>&2
 				fi
-				cp "${IN_DIR}/${meta}" "${OUT_DIR}/"
+				cp "${IN_DIR}/${meta}" "${OUT_DIR}/${meta}"
 			fi
 		fi
 	done