mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-07 13:41:15 -07:00
Log dynamic range to history and show in stream info modal
This commit is contained in:
parent
10e421b9d4
commit
d6220a921a
4 changed files with 45 additions and 7 deletions
|
@ -178,6 +178,11 @@ DOCUMENTATION :: END
|
||||||
<td>${data['stream_video_framerate']}</td>
|
<td>${data['stream_video_framerate']}</td>
|
||||||
<td>${data['video_framerate']}</td>
|
<td>${data['video_framerate']}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Dynamic Range</td>
|
||||||
|
<td>${data['stream_video_dynamic_range']}</td>
|
||||||
|
<td>${data['video_dynamic_range']}</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Aspect Ratio</td>
|
<td>Aspect Ratio</td>
|
||||||
<td>-</td>
|
<td>-</td>
|
||||||
|
|
|
@ -585,12 +585,14 @@ def dbcheck():
|
||||||
'view_offset INTEGER DEFAULT 0, duration INTEGER, video_decision TEXT, audio_decision TEXT, '
|
'view_offset INTEGER DEFAULT 0, duration INTEGER, video_decision TEXT, audio_decision TEXT, '
|
||||||
'transcode_decision TEXT, container TEXT, bitrate INTEGER, width INTEGER, height INTEGER, '
|
'transcode_decision TEXT, container TEXT, bitrate INTEGER, width INTEGER, height INTEGER, '
|
||||||
'video_codec TEXT, video_bitrate INTEGER, video_resolution TEXT, video_width INTEGER, video_height INTEGER, '
|
'video_codec TEXT, video_bitrate INTEGER, video_resolution TEXT, video_width INTEGER, video_height INTEGER, '
|
||||||
'video_framerate TEXT, video_scan_type TEXT, video_full_resolution TEXT, aspect_ratio TEXT, '
|
'video_framerate TEXT, video_scan_type TEXT, video_full_resolution TEXT, '
|
||||||
|
'video_dynamic_range TEXT, aspect_ratio TEXT, '
|
||||||
'audio_codec TEXT, audio_bitrate INTEGER, audio_channels INTEGER, subtitle_codec TEXT, '
|
'audio_codec TEXT, audio_bitrate INTEGER, audio_channels INTEGER, subtitle_codec TEXT, '
|
||||||
'stream_bitrate INTEGER, stream_video_resolution TEXT, quality_profile TEXT, '
|
'stream_bitrate INTEGER, stream_video_resolution TEXT, quality_profile TEXT, '
|
||||||
'stream_container_decision TEXT, stream_container TEXT, '
|
'stream_container_decision TEXT, stream_container TEXT, '
|
||||||
'stream_video_decision TEXT, stream_video_codec TEXT, stream_video_bitrate INTEGER, stream_video_width INTEGER, '
|
'stream_video_decision TEXT, stream_video_codec TEXT, stream_video_bitrate INTEGER, stream_video_width INTEGER, '
|
||||||
'stream_video_height INTEGER, stream_video_framerate TEXT, stream_video_scan_type TEXT, stream_video_full_resolution TEXT, '
|
'stream_video_height INTEGER, stream_video_framerate TEXT, stream_video_scan_type TEXT, stream_video_full_resolution TEXT, '
|
||||||
|
'stream_video_dynamic_range TEXT, '
|
||||||
'stream_audio_decision TEXT, stream_audio_codec TEXT, stream_audio_bitrate INTEGER, stream_audio_channels INTEGER, '
|
'stream_audio_decision TEXT, stream_audio_codec TEXT, stream_audio_bitrate INTEGER, stream_audio_channels INTEGER, '
|
||||||
'subtitles INTEGER, stream_subtitle_decision TEXT, stream_subtitle_codec TEXT, '
|
'subtitles INTEGER, stream_subtitle_decision TEXT, stream_subtitle_codec TEXT, '
|
||||||
'transcode_protocol TEXT, transcode_container TEXT, '
|
'transcode_protocol TEXT, transcode_container TEXT, '
|
||||||
|
@ -620,7 +622,7 @@ def dbcheck():
|
||||||
'video_decision TEXT, audio_decision TEXT, transcode_decision TEXT, duration INTEGER DEFAULT 0, '
|
'video_decision TEXT, audio_decision TEXT, transcode_decision TEXT, duration INTEGER DEFAULT 0, '
|
||||||
'container TEXT, bitrate INTEGER, width INTEGER, height INTEGER, video_bitrate INTEGER, video_bit_depth INTEGER, '
|
'container TEXT, bitrate INTEGER, width INTEGER, height INTEGER, video_bitrate INTEGER, video_bit_depth INTEGER, '
|
||||||
'video_codec TEXT, video_codec_level TEXT, video_width INTEGER, video_height INTEGER, video_resolution TEXT, '
|
'video_codec TEXT, video_codec_level TEXT, video_width INTEGER, video_height INTEGER, video_resolution TEXT, '
|
||||||
'video_framerate TEXT, video_scan_type TEXT, video_full_resolution TEXT, aspect_ratio TEXT, '
|
'video_framerate TEXT, video_scan_type TEXT, video_full_resolution TEXT, video_dynamic_range TEXT, aspect_ratio TEXT, '
|
||||||
'audio_bitrate INTEGER, audio_codec TEXT, audio_channels INTEGER, transcode_protocol TEXT, '
|
'audio_bitrate INTEGER, audio_codec TEXT, audio_channels INTEGER, transcode_protocol TEXT, '
|
||||||
'transcode_container TEXT, transcode_video_codec TEXT, transcode_audio_codec TEXT, '
|
'transcode_container TEXT, transcode_video_codec TEXT, transcode_audio_codec TEXT, '
|
||||||
'transcode_audio_channels INTEGER, transcode_width INTEGER, transcode_height INTEGER, '
|
'transcode_audio_channels INTEGER, transcode_width INTEGER, transcode_height INTEGER, '
|
||||||
|
@ -630,7 +632,7 @@ def dbcheck():
|
||||||
'stream_container TEXT, stream_container_decision TEXT, stream_bitrate INTEGER, '
|
'stream_container TEXT, stream_container_decision TEXT, stream_bitrate INTEGER, '
|
||||||
'stream_video_decision TEXT, stream_video_bitrate INTEGER, stream_video_codec TEXT, stream_video_codec_level TEXT, '
|
'stream_video_decision TEXT, stream_video_bitrate INTEGER, stream_video_codec TEXT, stream_video_codec_level TEXT, '
|
||||||
'stream_video_bit_depth INTEGER, stream_video_height INTEGER, stream_video_width INTEGER, stream_video_resolution TEXT, '
|
'stream_video_bit_depth INTEGER, stream_video_height INTEGER, stream_video_width INTEGER, stream_video_resolution TEXT, '
|
||||||
'stream_video_framerate TEXT, stream_video_scan_type TEXT, stream_video_full_resolution TEXT, '
|
'stream_video_framerate TEXT, stream_video_scan_type TEXT, stream_video_full_resolution TEXT, stream_video_dynamic_range TEXT, '
|
||||||
'stream_audio_decision TEXT, stream_audio_codec TEXT, stream_audio_bitrate INTEGER, stream_audio_channels INTEGER, '
|
'stream_audio_decision TEXT, stream_audio_codec TEXT, stream_audio_bitrate INTEGER, stream_audio_channels INTEGER, '
|
||||||
'stream_subtitle_decision TEXT, stream_subtitle_codec TEXT, stream_subtitle_container TEXT, stream_subtitle_forced INTEGER, '
|
'stream_subtitle_decision TEXT, stream_subtitle_codec TEXT, stream_subtitle_container TEXT, stream_subtitle_forced INTEGER, '
|
||||||
'subtitles INTEGER, subtitle_codec TEXT, synced_version INTEGER, synced_version_profile TEXT, '
|
'subtitles INTEGER, subtitle_codec TEXT, synced_version INTEGER, synced_version_profile TEXT, '
|
||||||
|
@ -1203,6 +1205,18 @@ def dbcheck():
|
||||||
'ALTER TABLE sessions ADD COLUMN stream_video_full_resolution TEXT'
|
'ALTER TABLE sessions ADD COLUMN stream_video_full_resolution TEXT'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Upgrade sessions table from earlier versions
|
||||||
|
try:
|
||||||
|
c_db.execute('SELECT video_dynamic_range FROM sessions')
|
||||||
|
except sqlite3.OperationalError:
|
||||||
|
logger.debug(u"Altering database. Updating database table sessions.")
|
||||||
|
c_db.execute(
|
||||||
|
'ALTER TABLE sessions ADD COLUMN video_dynamic_range TEXT'
|
||||||
|
)
|
||||||
|
c_db.execute(
|
||||||
|
'ALTER TABLE sessions ADD COLUMN stream_video_dynamic_range TEXT'
|
||||||
|
)
|
||||||
|
|
||||||
# Upgrade session_history table from earlier versions
|
# Upgrade session_history table from earlier versions
|
||||||
try:
|
try:
|
||||||
c_db.execute('SELECT reference_id FROM session_history')
|
c_db.execute('SELECT reference_id FROM session_history')
|
||||||
|
@ -1541,6 +1555,17 @@ def dbcheck():
|
||||||
'ELSE stream_video_resolution || "p" END)'
|
'ELSE stream_video_resolution || "p" END)'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Upgrade session_history_media_info table from earlier versions
|
||||||
|
try:
|
||||||
|
c_db.execute('SELECT video_dynamic_range FROM session_history_media_info')
|
||||||
|
except sqlite3.OperationalError:
|
||||||
|
logger.debug(u"Altering database. Updating database table session_history_media_info.")
|
||||||
|
c_db.execute(
|
||||||
|
'ALTER TABLE session_history_media_info ADD COLUMN video_dynamic_range TEXT '
|
||||||
|
)
|
||||||
|
c_db.execute(
|
||||||
|
'ALTER TABLE session_history_media_info ADD COLUMN stream_video_dynamic_range TEXT '
|
||||||
|
)
|
||||||
# Upgrade users table from earlier versions
|
# Upgrade users table from earlier versions
|
||||||
try:
|
try:
|
||||||
c_db.execute('SELECT do_notify FROM users')
|
c_db.execute('SELECT do_notify FROM users')
|
||||||
|
|
|
@ -78,6 +78,7 @@ class ActivityProcessor(object):
|
||||||
'video_framerate': session.get('video_framerate', ''),
|
'video_framerate': session.get('video_framerate', ''),
|
||||||
'video_scan_type': session.get('video_scan_type', ''),
|
'video_scan_type': session.get('video_scan_type', ''),
|
||||||
'video_full_resolution': session.get('video_full_resolution', ''),
|
'video_full_resolution': session.get('video_full_resolution', ''),
|
||||||
|
'video_dynamic_range': session.get('video_dynamic_range', ''),
|
||||||
'aspect_ratio': session.get('aspect_ratio', ''),
|
'aspect_ratio': session.get('aspect_ratio', ''),
|
||||||
'audio_codec': session.get('audio_codec', ''),
|
'audio_codec': session.get('audio_codec', ''),
|
||||||
'audio_bitrate': session.get('audio_bitrate', ''),
|
'audio_bitrate': session.get('audio_bitrate', ''),
|
||||||
|
@ -110,6 +111,7 @@ class ActivityProcessor(object):
|
||||||
'stream_video_framerate': session.get('stream_video_framerate', ''),
|
'stream_video_framerate': session.get('stream_video_framerate', ''),
|
||||||
'stream_video_scan_type': session.get('stream_video_scan_type', ''),
|
'stream_video_scan_type': session.get('stream_video_scan_type', ''),
|
||||||
'stream_video_full_resolution': session.get('stream_video_full_resolution', ''),
|
'stream_video_full_resolution': session.get('stream_video_full_resolution', ''),
|
||||||
|
'stream_video_dynamic_range': session.get('stream_video_dynamic_range', ''),
|
||||||
'stream_audio_decision': session.get('stream_audio_decision', ''),
|
'stream_audio_decision': session.get('stream_audio_decision', ''),
|
||||||
'stream_audio_codec': session.get('stream_audio_codec', ''),
|
'stream_audio_codec': session.get('stream_audio_codec', ''),
|
||||||
'stream_audio_bitrate': session.get('stream_audio_bitrate', ''),
|
'stream_audio_bitrate': session.get('stream_audio_bitrate', ''),
|
||||||
|
@ -353,6 +355,7 @@ class ActivityProcessor(object):
|
||||||
'video_framerate': session['video_framerate'],
|
'video_framerate': session['video_framerate'],
|
||||||
'video_scan_type': session['video_scan_type'],
|
'video_scan_type': session['video_scan_type'],
|
||||||
'video_full_resolution': session['video_full_resolution'],
|
'video_full_resolution': session['video_full_resolution'],
|
||||||
|
'video_dynamic_range': session['video_dynamic_range'],
|
||||||
'aspect_ratio': session['aspect_ratio'],
|
'aspect_ratio': session['aspect_ratio'],
|
||||||
'audio_codec': session['audio_codec'],
|
'audio_codec': session['audio_codec'],
|
||||||
'audio_bitrate': session['audio_bitrate'],
|
'audio_bitrate': session['audio_bitrate'],
|
||||||
|
@ -387,6 +390,7 @@ class ActivityProcessor(object):
|
||||||
'stream_video_framerate': session['stream_video_framerate'],
|
'stream_video_framerate': session['stream_video_framerate'],
|
||||||
'stream_video_scan_type': session['stream_video_scan_type'],
|
'stream_video_scan_type': session['stream_video_scan_type'],
|
||||||
'stream_video_full_resolution': session['stream_video_full_resolution'],
|
'stream_video_full_resolution': session['stream_video_full_resolution'],
|
||||||
|
'stream_video_dynamic_range': session['stream_video_dynamic_range'],
|
||||||
'stream_audio_decision': session['stream_audio_decision'],
|
'stream_audio_decision': session['stream_audio_decision'],
|
||||||
'stream_audio_codec': session['stream_audio_codec'],
|
'stream_audio_codec': session['stream_audio_codec'],
|
||||||
'stream_audio_bitrate': session['stream_audio_bitrate'],
|
'stream_audio_bitrate': session['stream_audio_bitrate'],
|
||||||
|
|
|
@ -878,11 +878,12 @@ class DataFactory(object):
|
||||||
query = 'SELECT bitrate, video_full_resolution, ' \
|
query = 'SELECT bitrate, video_full_resolution, ' \
|
||||||
'optimized_version, optimized_version_profile, optimized_version_title, ' \
|
'optimized_version, optimized_version_profile, optimized_version_title, ' \
|
||||||
'synced_version, synced_version_profile, ' \
|
'synced_version, synced_version_profile, ' \
|
||||||
'container, video_codec, video_bitrate, video_width, video_height, video_framerate, aspect_ratio, ' \
|
'container, video_codec, video_bitrate, video_width, video_height, video_framerate, ' \
|
||||||
|
'video_dynamic_range, aspect_ratio, ' \
|
||||||
'audio_codec, audio_bitrate, audio_channels, subtitle_codec, ' \
|
'audio_codec, audio_bitrate, audio_channels, subtitle_codec, ' \
|
||||||
'stream_bitrate, stream_video_full_resolution, quality_profile, stream_container_decision, stream_container, ' \
|
'stream_bitrate, stream_video_full_resolution, quality_profile, stream_container_decision, stream_container, ' \
|
||||||
'stream_video_decision, stream_video_codec, stream_video_bitrate, stream_video_width, stream_video_height, ' \
|
'stream_video_decision, stream_video_codec, stream_video_bitrate, stream_video_width, stream_video_height, ' \
|
||||||
'stream_video_framerate, ' \
|
'stream_video_framerate, stream_video_dynamic_range, ' \
|
||||||
'stream_audio_decision, stream_audio_codec, stream_audio_bitrate, stream_audio_channels, ' \
|
'stream_audio_decision, stream_audio_codec, stream_audio_bitrate, stream_audio_channels, ' \
|
||||||
'subtitles, stream_subtitle_decision, stream_subtitle_codec, ' \
|
'subtitles, stream_subtitle_decision, stream_subtitle_codec, ' \
|
||||||
'transcode_hw_decoding, transcode_hw_encoding, ' \
|
'transcode_hw_decoding, transcode_hw_encoding, ' \
|
||||||
|
@ -899,11 +900,12 @@ class DataFactory(object):
|
||||||
query = 'SELECT bitrate, video_full_resolution, ' \
|
query = 'SELECT bitrate, video_full_resolution, ' \
|
||||||
'optimized_version, optimized_version_profile, optimized_version_title, ' \
|
'optimized_version, optimized_version_profile, optimized_version_title, ' \
|
||||||
'synced_version, synced_version_profile, ' \
|
'synced_version, synced_version_profile, ' \
|
||||||
'container, video_codec, video_bitrate, video_width, video_height, video_framerate, aspect_ratio, ' \
|
'container, video_codec, video_bitrate, video_width, video_height, video_framerate, ' \
|
||||||
|
'video_dynamic_range, aspect_ratio, ' \
|
||||||
'audio_codec, audio_bitrate, audio_channels, subtitle_codec, ' \
|
'audio_codec, audio_bitrate, audio_channels, subtitle_codec, ' \
|
||||||
'stream_bitrate, stream_video_full_resolution, quality_profile, stream_container_decision, stream_container, ' \
|
'stream_bitrate, stream_video_full_resolution, quality_profile, stream_container_decision, stream_container, ' \
|
||||||
'stream_video_decision, stream_video_codec, stream_video_bitrate, stream_video_width, stream_video_height, ' \
|
'stream_video_decision, stream_video_codec, stream_video_bitrate, stream_video_width, stream_video_height, ' \
|
||||||
'stream_video_framerate, ' \
|
'stream_video_framerate, stream_video_dynamic_range, ' \
|
||||||
'stream_audio_decision, stream_audio_codec, stream_audio_bitrate, stream_audio_channels, ' \
|
'stream_audio_decision, stream_audio_codec, stream_audio_bitrate, stream_audio_channels, ' \
|
||||||
'subtitles, stream_subtitle_decision, stream_subtitle_codec, ' \
|
'subtitles, stream_subtitle_decision, stream_subtitle_codec, ' \
|
||||||
'transcode_hw_decoding, transcode_hw_encoding, ' \
|
'transcode_hw_decoding, transcode_hw_encoding, ' \
|
||||||
|
@ -950,6 +952,7 @@ class DataFactory(object):
|
||||||
'video_width': item['video_width'],
|
'video_width': item['video_width'],
|
||||||
'video_height': item['video_height'],
|
'video_height': item['video_height'],
|
||||||
'video_framerate': item['video_framerate'],
|
'video_framerate': item['video_framerate'],
|
||||||
|
'video_dynamic_range': item['video_dynamic_range'],
|
||||||
'aspect_ratio': item['aspect_ratio'],
|
'aspect_ratio': item['aspect_ratio'],
|
||||||
'audio_codec': item['audio_codec'],
|
'audio_codec': item['audio_codec'],
|
||||||
'audio_bitrate': item['audio_bitrate'],
|
'audio_bitrate': item['audio_bitrate'],
|
||||||
|
@ -966,6 +969,7 @@ class DataFactory(object):
|
||||||
'stream_video_width': item['stream_video_width'],
|
'stream_video_width': item['stream_video_width'],
|
||||||
'stream_video_height': item['stream_video_height'],
|
'stream_video_height': item['stream_video_height'],
|
||||||
'stream_video_framerate': item['stream_video_framerate'],
|
'stream_video_framerate': item['stream_video_framerate'],
|
||||||
|
'stream_video_dynamic_range': item['stream_video_dynamic_range'],
|
||||||
'stream_audio_decision': item['stream_audio_decision'],
|
'stream_audio_decision': item['stream_audio_decision'],
|
||||||
'stream_audio_codec': item['stream_audio_codec'],
|
'stream_audio_codec': item['stream_audio_codec'],
|
||||||
'stream_audio_bitrate': item['stream_audio_bitrate'],
|
'stream_audio_bitrate': item['stream_audio_bitrate'],
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue