Merge conflicts: Force transcode 10bit videos

This commit is contained in:
tomkat83 2016-05-15 16:25:38 +02:00
parent 0bd4a79ca3
commit cbf3638076
5 changed files with 25 additions and 23 deletions

View file

@ -407,6 +407,7 @@
<string id="39060">Recently Added: Append season- and episode-number SxxExx</string> <string id="39060">Recently Added: Append season- and episode-number SxxExx</string>
<string id="39061">Would you like to download additional artwork from FanArtTV? Sync will be slower!</string> <string id="39061">Would you like to download additional artwork from FanArtTV? Sync will be slower!</string>
<string id="39062">Sync when screensaver is deactivated</string> <string id="39062">Sync when screensaver is deactivated</string>
<string id="39063">Force Transcode Hi10P</string>
<!-- Plex Entrypoint.py --> <!-- Plex Entrypoint.py -->
<string id="39200">Log-out Plex Home User </string> <string id="39200">Log-out Plex Home User </string>

View file

@ -346,6 +346,7 @@
<string id="39060">"Zuletzt hinzugefügt": Staffel und Episode anfügen, SxxExx</string> <string id="39060">"Zuletzt hinzugefügt": Staffel und Episode anfügen, SxxExx</string>
<string id="39061">Zusätzliche Bilder von FanArtTV herunterladen? Die Synchronisierung wird länger dauern!</string> <string id="39061">Zusätzliche Bilder von FanArtTV herunterladen? Die Synchronisierung wird länger dauern!</string>
<string id="39062">Sync wenn Bildschirmschoner deaktiviert wird</string> <string id="39062">Sync wenn Bildschirmschoner deaktiviert wird</string>
<string id="39063">Hi10p Codec Transkodierung erzwingen</string>
<!-- Plex Entrypoint.py --> <!-- Plex Entrypoint.py -->
<string id="39200">Plex Home Benutzer abmelden: </string> <string id="39200">Plex Home Benutzer abmelden: </string>

View file

@ -1672,28 +1672,20 @@ class API():
'width': xxx, e.g. '1920' 'width': xxx, e.g. '1920'
'aspectratio': xxx, e.g. '1.78' 'aspectratio': xxx, e.g. '1.78'
'bitrate': xxx, e.g. 10642 (an int!) 'bitrate': xxx, e.g. 10642 (an int!)
'container': xxx e.g. 'mkv' 'container': xxx e.g. 'mkv',
'bitDepth': xxx e.g. '8', '10'
} }
""" """
return {
videocodec = self.getDataFromPartOrMedia('videoCodec') 'videocodec': self.getDataFromPartOrMedia('videoCodec'),
resolution = self.getDataFromPartOrMedia('videoResolution') 'resolution': self.getDataFromPartOrMedia('videoResolution'),
height = self.getDataFromPartOrMedia('height') 'height': self.getDataFromPartOrMedia('height'),
width = self.getDataFromPartOrMedia('width') 'width': self.getDataFromPartOrMedia('width'),
aspectratio = self.getDataFromPartOrMedia('aspectratio') 'aspectratio': self.getDataFromPartOrMedia('aspectratio'),
bitrate = self.getDataFromPartOrMedia('bitrate') 'bitrate': self.getDataFromPartOrMedia('bitrate'),
container = self.getDataFromPartOrMedia('container') 'container': self.getDataFromPartOrMedia('container'),
'bitDepth': self.getDataFromPartOrMedia('bitDepth')
videoCodec = {
'videocodec': videocodec,
'resolution': resolution,
'height': height,
'width': width,
'aspectratio': aspectratio,
'bitrate': bitrate,
'container': container
} }
return videoCodec
def getExtras(self): def getExtras(self):
""" """

View file

@ -100,7 +100,7 @@ class PlayUtils():
self.logMsg("User chose to not direct play", 1) self.logMsg("User chose to not direct play", 1)
return False return False
if self.h265enabled(): if self.mustTranscode():
return False return False
path = self.API.validatePlayurl(self.API.getFilePath(), path = self.API.validatePlayurl(self.API.getFilePath(),
@ -161,9 +161,12 @@ class PlayUtils():
self.logMsg("Failed to find file.", 1) self.logMsg("Failed to find file.", 1)
return False return False
def h265enabled(self): def mustTranscode(self):
""" """
Returns True if we need to transcode Returns True if we need to transcode because
- codec is in h265
- 10bit video codec
if the corresponding file settings are set to 'true'
""" """
videoCodec = self.API.getVideoCodec() videoCodec = self.API.getVideoCodec()
self.logMsg("videoCodec: %s" % videoCodec, 2) self.logMsg("videoCodec: %s" % videoCodec, 2)
@ -182,6 +185,10 @@ class PlayUtils():
"%s, transcoding limit resolution: %s" "%s, transcoding limit resolution: %s"
% (resolution, h265), 1) % (resolution, h265), 1)
return True return True
if (utils.settings('transcodeHi10P') == 'true' and
videoCodec['bitDepth'] == '10'):
self.logMsg('Option to transcode 10bit video content enabled.', 1)
return True
return False return False
@ -194,7 +201,7 @@ class PlayUtils():
# User forcing to play via HTTP # User forcing to play via HTTP
self.logMsg("User chose to transcode", 1) self.logMsg("User chose to transcode", 1)
return False return False
if self.h265enabled(): if self.mustTranscode():
return False return False
# Verify the bitrate # Verify the bitrate
if not self.isNetworkSufficient(): if not self.isNetworkSufficient():

View file

@ -98,6 +98,7 @@
<setting id="playType" type="enum" label="30002" values="Direct Play (default)|Direct Stream|Force Transcode" default="0" /> <setting id="playType" type="enum" label="30002" values="Direct Play (default)|Direct Stream|Force Transcode" default="0" />
<setting id="transcoderVideoQualities" type="enum" label="30160" values="420x420, 320Kbps|576x320, 720Kbps|720x480, 1.5Mbps|1024x768, 2Mbps|1280x720, 3Mbps|1280x720, 4Mbps|1920x1080, 8Mbps|1920x1080, 10Mbps|1920x1080, 12Mbps|1920x1080, 20Mbps|1920x1080, 40Mbps" default="11" /> <setting id="transcoderVideoQualities" type="enum" label="30160" values="420x420, 320Kbps|576x320, 720Kbps|720x480, 1.5Mbps|1024x768, 2Mbps|1280x720, 3Mbps|1280x720, 4Mbps|1920x1080, 8Mbps|1920x1080, 10Mbps|1920x1080, 12Mbps|1920x1080, 20Mbps|1920x1080, 40Mbps" default="11" />
<setting id="transcodeH265" type="enum" label="30522" default="0" values="Disabled (default)|480p (and higher)|720p (and higher)|1080p" /> <setting id="transcodeH265" type="enum" label="30522" default="0" values="Disabled (default)|480p (and higher)|720p (and higher)|1080p" />
<setting id="transcodeHi10P" type="bool" label="39063" default="false"/>
<setting id="audioBoost" type="slider" label="39001" default="0" range="0,10,100" option="int"/> <setting id="audioBoost" type="slider" label="39001" default="0" range="0,10,100" option="int"/>
<setting id="subtitleSize" label="39002" type="slider" option="int" range="0,30,300" default="100" /> <setting id="subtitleSize" label="39002" type="slider" option="int" range="0,30,300" default="100" />
<setting id="markPlayed" type="number" visible="false" default="95" /> <setting id="markPlayed" type="number" visible="false" default="95" />