From ae04e98b119b6c793f4140af37248d14cd5f602b Mon Sep 17 00:00:00 2001 From: clinton-hall Date: Thu, 10 Jul 2014 21:39:00 +0930 Subject: [PATCH] transcoder fixes for #473 --- nzbtomedia/__init__.py | 20 +++++++++++++++----- nzbtomedia/transcoder/transcoder.py | 27 +++++++++++++++++++++------ 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/nzbtomedia/__init__.py b/nzbtomedia/__init__.py index f8b847d2..9adbd22b 100644 --- a/nzbtomedia/__init__.py +++ b/nzbtomedia/__init__.py @@ -362,21 +362,31 @@ def initialize(section=None): VCODEC_ALLOW = CFG["Transcoder"]["VideoCodecAllow"].strip() if isinstance(VCODEC_ALLOW, str): VCODEC_ALLOW = VCODEC_ALLOW.split(',') VPRESET = CFG["Transcoder"]["outputVideoPreset"].strip() - VFRAMERATE = float(CFG["Transcoder"]["outputVideoFramerate"].strip()) - VBITRATE = int((CFG["Transcoder"]["outputVideoBitrate"].strip()).replace('k','000')) + try: + VFRAMERATE = float(CFG["Transcoder"]["outputVideoFramerate"].strip()) + except: pass + try: + VBITRATE = int((CFG["Transcoder"]["outputVideoBitrate"].strip()).replace('k','000')) + except: pass VRESOLUTION = CFG["Transcoder"]["outputVideoResolution"] ACODEC = CFG["Transcoder"]["outputAudioCodec"].strip() ACODEC_ALLOW = CFG["Transcoder"]["AudioCodecAllow"].strip() if isinstance(ACODEC_ALLOW, str): ACODEC_ALLOW = ACODEC_ALLOW.split(',') - ABITRATE = int((CFG["Transcoder"]["outputAudioBitrate"].strip()).replace('k','000')) + try: + ABITRATE = int((CFG["Transcoder"]["outputAudioBitrate"].strip()).replace('k','000')) + except: pass ACODEC2 = CFG["Transcoder"]["outputAudioTrack2Codec"].strip() ACODEC2_ALLOW = CFG["Transcoder"]["AudioCodec2Allow"].strip() if isinstance(ACODEC2_ALLOW, str): ACODEC2_ALLOW = ACODEC2_ALLOW.split(',') - ABITRATE2 = int((CFG["Transcoder"]["outputAudioTrack2Bitrate"].strip()).replace('k','000')) + try: + ABITRATE2 = int((CFG["Transcoder"]["outputAudioTrack2Bitrate"].strip()).replace('k','000')) + except: pass ACODEC3 = CFG["Transcoder"]["outputAudioOtherCodec"].strip() ACODEC3_ALLOW = CFG["Transcoder"]["AudioOtherCodecAllow"].strip() if isinstance(ACODEC3_ALLOW, str): ACODEC3_ALLOW = ACODEC3_ALLOW.split(',') - ABITRATE3 = int((CFG["Transcoder"]["outputAudioOtherBitrate"].strip()).replace('k','000')) + try: + ABITRATE3 = int((CFG["Transcoder"]["outputAudioOtherBitrate"].strip()).replace('k','000')) + except: pass SCODEC = CFG["Transcoder"]["outputSubtitleCodec"].strip() BURN = int(CFG["Transcoder"]["burnInSubtitle"].strip()) DEFAULTS = CFG["Transcoder"]["outputDefault"].strip() diff --git a/nzbtomedia/transcoder/transcoder.py b/nzbtomedia/transcoder/transcoder.py index df7c2b09..eac637bb 100644 --- a/nzbtomedia/transcoder/transcoder.py +++ b/nzbtomedia/transcoder/transcoder.py @@ -126,7 +126,7 @@ def buildCommands(file, newDir): except: framerate = 0 vid_cmds = [] - if codec in nzbtomedia.VCODEC_ALLOW: + if codec in nzbtomedia.VCODEC_ALLOW or not nzbtomedia.VCODEC: video_cmd.extend(['-c:v', 'copy']) else: video_cmd.extend(['-c:v', nzbtomedia.VCODEC]) @@ -165,7 +165,10 @@ def buildCommands(file, newDir): elif audio1: # right language wrong codec. map_cmd.extend(['-map', '0:' + str(audio1[0]["index"])]) a_mapped.extend([audio1[0]["index"]]) - audio_cmd.extend(['-c:a:' + str(used_audio), nzbtomedia.ACODEC]) + if nzbtomedia.ACODEC: + audio_cmd.extend(['-c:a:' + str(used_audio), nzbtomedia.ACODEC]) + else: + audio_cmd.extend(['-c:a:' + str(used_audio), 'copy']) if nzbtomedia.ACODEC == 'aac': audio_cmd.extend(['-strict', '-2']) if nzbtomedia.ABITRATE: @@ -175,7 +178,10 @@ def buildCommands(file, newDir): elif audio3: # just pick the default audio track map_cmd.extend(['-map', '0:' + str(audio3[0]["index"])]) a_mapped.extend([audio3[0]["index"]]) - audio_cmd.extend(['-c:a:' + str(used_audio), nzbtomedia.ACODEC]) + if nzbtomedia.ACODEC: + audio_cmd.extend(['-c:a:' + str(used_audio), nzbtomedia.ACODEC]) + else: + audio_cmd.extend(['-c:a:' + str(used_audio), 'copy']) if nzbtomedia.ACODEC == 'aac': audio_cmd.extend(['-strict', '-2']) if nzbtomedia.ABITRATE: @@ -198,7 +204,10 @@ def buildCommands(file, newDir): elif audio1: # right language wrong codec. map_cmd.extend(['-map', '0:' + str(audio1[0]["index"])]) a_mapped.extend([audio1[0]["index"]]) - audio_cmd.extend(['-c:a:' + str(used_audio), nzbtomedia.ACODEC2]) + if nzbtomedia.ACODEC2: + audio_cmd.extend(['-c:a:' + str(used_audio), nzbtomedia.ACODEC2]) + else: + audio_cmd.extend(['-c:a:' + str(used_audio), 'copy']) if nzbtomedia.ACODEC2 == 'aac': audio_cmd.extend(['-strict', '-2']) if nzbtomedia.ABITRATE2: @@ -208,7 +217,10 @@ def buildCommands(file, newDir): elif audio3: # just pick the default audio track map_cmd.extend(['-map', '0:' + str(audio3[0]["index"])]) a_mapped.extend([audio3[0]["index"]]) - audio_cmd.extend(['-c:a:' + str(used_audio), nzbtomedia.ACODEC2]) + if nzbtomedia.ACODEC2: + audio_cmd.extend(['-c:a:' + str(used_audio), nzbtomedia.ACODEC2]) + else: + audio_cmd.extend(['-c:a:' + str(used_audio), 'copy']) if nzbtomedia.ACODEC2 == 'aac': audio_cmd.extend(['-strict', '-2']) if nzbtomedia.ABITRATE2: @@ -229,7 +241,10 @@ def buildCommands(file, newDir): if nzbtomedia.ABITRATE3 and not (nzbtomedia.ABITRATE3 * 0.9 < bitrate < nzbtomedia.ABITRATE3 * 1.1): audio_cmd.extend(['-b:a:' + str(used_audio), str(nzbtomedia.ABITRATE3)]) else: - audio_cmd.extend(['-c:a:' + str(used_audio), nzbtomedia.ACODEC3]) + if nzbtomedia.ACODEC3: + audio_cmd.extend(['-c:a:' + str(used_audio), nzbtomedia.ACODEC3]) + else: + audio_cmd.extend(['-c:a:' + str(used_audio), 'copy']) if nzbtomedia.ACODEC3 == 'aac': audio_cmd.extend(['-strict', '-2']) if nzbtomedia.ABITRATE3: