Add audio quality profiles

This commit is contained in:
JonnyWong16 2017-08-08 21:38:46 -07:00
commit 845c3d419a
4 changed files with 65 additions and 31 deletions

View file

@ -75,20 +75,28 @@ AUDIO_CHANNELS = {'1': 'Mono',
'8': '7.1'
}
QUALITY_PROFILES = {20000: '20 Mbps 1080p',
12000: '12 Mbps 1080p',
10000: '10 Mbps 1080p',
8000: '8 Mbps 1080p',
4000: '4 Mbps 720p',
3000: '3 Mbps 720p',
2000: '2 Mbps 720p',
1500: '1.5 Mbps 480p',
720: '720 kbps',
320: '320 kbps',
208: '208 kbps',
96: '96 kbps',
64: '64 kbps'
}
VIDEO_QUALITY_PROFILES = {20000: '20 Mbps 1080p',
12000: '12 Mbps 1080p',
10000: '10 Mbps 1080p',
8000: '8 Mbps 1080p',
4000: '4 Mbps 720p',
3000: '3 Mbps 720p',
2000: '2 Mbps 720p',
1500: '1.5 Mbps 480p',
720: '720 kbps',
320: '320 kbps',
208: '208 kbps',
96: '96 kbps',
64: '64 kbps'
}
AUDIO_QUALITY_PROFILES = {512: '512 kbps',
320: '320 kbps',
256: '256 kbps',
192: '192 kbps',
128: '128 kbps',
96: '96 kbps'
}
SCHEDULER_LIST = ['Check GitHub for updates',
'Check for active sessions',

View file

@ -1509,13 +1509,26 @@ class PmsConnect(object):
video_bitrate = helpers.cast_to_int(source_video_details.get('video_bitrate'))
try:
quailtiy_bitrate = min(b for b in common.QUALITY_PROFILES if stream_video_bitrate <= b <= video_bitrate)
quality_profile = common.QUALITY_PROFILES[quailtiy_bitrate]
quailtiy_bitrate = min(b for b in common.VIDEO_QUALITY_PROFILES if stream_video_bitrate <= b <= video_bitrate)
quality_profile = common.VIDEO_QUALITY_PROFILES[quailtiy_bitrate]
except ValueError:
quality_profile = 'Original'
elif media_type == 'track' and 'stream_audio_bitrate' in audio_details:
stream_audio_bitrate = helpers.cast_to_int(audio_details['stream_audio_bitrate'])
audio_bitrate = helpers.cast_to_int(source_audio_details['audio_bitrate'])
try:
quailtiy_bitrate = min(b for b in common.AUDIO_QUALITY_PROFILES if stream_audio_bitrate <= b <= audio_bitrate)
quality_profile = common.AUDIO_QUALITY_PROFILES[quailtiy_bitrate]
except ValueError:
quality_profile = 'Original'
elif media_type == 'photo':
quality_profile = 'Original'
else:
quality_profile = ''
quality_profile = 'Unknown'
# Entire session output (single dict for backwards compatibility)
session_output = {'session_key': helpers.get_xml_attr(session, 'sessionKey'),