mirror of
https://github.com/clinton-hall/nzbToMedia.git
synced 2025-07-06 05:01:10 -07:00
Typecast the 'bit_rate' and 'channels' values into floats before attempting to convert them to ints
Otherwise we end up in a situation where audio3[0].get("bit_rate", 0) returns the string `"192000.000000"`, which cannot be converted into an int. Example: ``` Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> int("192000.000000") Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: '192000.000000' >>> int(float("192000.000000")) 192000 ``` Relevant log entry: ``` [10:50:57] [DEBUG]::TRANSCODER: ******* Specified bit rate is: 192000.000000 Traceback (most recent call last): File "/opt/nzbtomedia/nzbToSickBeard.py", line 254, in <module> result = nzbToMedia.main(sys.argv, section) File "/opt/nzbtomedia/nzbToMedia.py", line 726, in main download_id='') File "/opt/nzbtomedia/nzbToMedia.py", line 615, in process download_id, inputCategory, failureLink) File "/opt/nzbtomedia/core/autoProcess/autoProcessTV.py", line 162, in processEpisode result, newDirName = transcoder.Transcode_directory(dirName) File "/opt/nzbtomedia/core/transcoder/transcoder.py", line 708, in Transcode_directory command = buildCommands(file, newDir, movieName, bitbucket) File "/opt/nzbtomedia/core/transcoder/transcoder.py", line 278, in buildCommands bitrate = int(audio1[0].get("bit_rate", 0)) / 1000 ValueError: invalid literal for int() with base 10: '192000.000000' Exception TypeError: "'NoneType' object is not callable" in <bound method PosixProcess.__del__ of <core.nzbToMediaUtil.PosixProcess object at 0x7ffa6a37e590>> ignored ```
This commit is contained in:
parent
cb0de3ca98
commit
2c8b2fc8cf
1 changed files with 14 additions and 14 deletions
|
@ -268,20 +268,20 @@ def buildCommands(file, newDir, movieName, bitbucket):
|
|||
if audio2: # right language and codec...
|
||||
map_cmd.extend(['-map', '0:{index}'.format(index=audio2[0]["index"])])
|
||||
a_mapped.extend([audio2[0]["index"]])
|
||||
bitrate = int(audio2[0].get("bit_rate", 0)) / 1000
|
||||
channels = int(audio2[0].get("channels", 0))
|
||||
bitrate = int(float(audio2[0].get("bit_rate", 0))) / 1000
|
||||
channels = int(float(audio2[0].get("channels", 0)))
|
||||
audio_cmd.extend(['-c:a:{0}'.format(used_audio), 'copy'])
|
||||
elif audio1: # right language wrong codec.
|
||||
map_cmd.extend(['-map', '0:{index}'.format(index=audio1[0]["index"])])
|
||||
a_mapped.extend([audio1[0]["index"]])
|
||||
bitrate = int(audio1[0].get("bit_rate", 0)) / 1000
|
||||
channels = int(audio1[0].get("channels", 0))
|
||||
bitrate = int(float(audio1[0].get("bit_rate", 0))) / 1000
|
||||
channels = int(float(audio1[0].get("channels", 0)))
|
||||
audio_cmd.extend(['-c:a:{0}'.format(used_audio), core.ACODEC if core.ACODEC else 'copy'])
|
||||
elif audio3: # just pick the default audio track
|
||||
map_cmd.extend(['-map', '0:{index}'.format(index=audio3[0]["index"])])
|
||||
a_mapped.extend([audio3[0]["index"]])
|
||||
bitrate = int(audio3[0].get("bit_rate", 0)) / 1000
|
||||
channels = int(audio3[0].get("channels", 0))
|
||||
bitrate = int(float(audio3[0].get("bit_rate", 0))) / 1000
|
||||
channels = int(float(audio3[0].get("channels", 0)))
|
||||
audio_cmd.extend(['-c:a:{0}'.format(used_audio), core.ACODEC if core.ACODEC else 'copy'])
|
||||
|
||||
if core.ACHANNELS and channels and channels > core.ACHANNELS:
|
||||
|
@ -305,14 +305,14 @@ def buildCommands(file, newDir, movieName, bitbucket):
|
|||
if audio4: # right language and codec.
|
||||
map_cmd.extend(['-map', '0:{index}'.format(index=audio4[0]["index"])])
|
||||
a_mapped.extend([audio4[0]["index"]])
|
||||
bitrate = int(audio4[0].get("bit_rate", 0)) / 1000
|
||||
channels = int(audio4[0].get("channels", 0))
|
||||
bitrate = int(float(audio4[0].get("bit_rate", 0))) / 1000
|
||||
channels = int(float(audio4[0].get("channels", 0)))
|
||||
audio_cmd2.extend(['-c:a:{0}'.format(used_audio), 'copy'])
|
||||
elif audio1: # right language wrong codec.
|
||||
map_cmd.extend(['-map', '0:{index}'.format(index=audio1[0]["index"])])
|
||||
a_mapped.extend([audio1[0]["index"]])
|
||||
bitrate = int(audio1[0].get("bit_rate", 0)) / 1000
|
||||
channels = int(audio1[0].get("channels", 0))
|
||||
bitrate = int(float(audio1[0].get("bit_rate", 0))) / 1000
|
||||
channels = int(float(audio1[0].get("channels", 0)))
|
||||
if core.ACODEC2:
|
||||
audio_cmd2.extend(['-c:a:{0}'.format(used_audio), core.ACODEC2])
|
||||
else:
|
||||
|
@ -320,8 +320,8 @@ def buildCommands(file, newDir, movieName, bitbucket):
|
|||
elif audio3: # just pick the default audio track
|
||||
map_cmd.extend(['-map', '0:{index}'.format(index=audio3[0]["index"])])
|
||||
a_mapped.extend([audio3[0]["index"]])
|
||||
bitrate = int(audio3[0].get("bit_rate", 0)) / 1000
|
||||
channels = int(audio3[0].get("channels", 0))
|
||||
bitrate = int(float(audio3[0].get("bit_rate", 0))) / 1000
|
||||
channels = int(float(audio3[0].get("channels", 0)))
|
||||
if core.ACODEC2:
|
||||
audio_cmd2.extend(['-c:a:{0}'.format(used_audio), core.ACODEC2])
|
||||
else:
|
||||
|
@ -350,8 +350,8 @@ def buildCommands(file, newDir, movieName, bitbucket):
|
|||
used_audio += 1
|
||||
map_cmd.extend(['-map', '0:{index}'.format(index=audio["index"])])
|
||||
audio_cmd3 = []
|
||||
bitrate = int(audio.get("bit_rate", 0)) / 1000
|
||||
channels = int(audio.get("channels", 0))
|
||||
bitrate = int(float(audio.get("bit_rate", 0))) / 1000
|
||||
channels = int(float(audio.get("channels", 0)))
|
||||
if audio["codec_name"] in core.ACODEC3_ALLOW:
|
||||
audio_cmd3.extend(['-c:a:{0}'.format(used_audio), 'copy'])
|
||||
else:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue