Add plex option to control downmix audio boost. Also fix request for audio channel limitation, was missing a & in the request

This commit is contained in:
Jordan Koehn 2020-06-15 00:10:06 +00:00
parent df6a2bbe7d
commit 899a1b24f7
5 changed files with 18 additions and 4 deletions

View File

@ -129,6 +129,7 @@ function initDB(db) {
videoCodecs: 'h264,hevc,mpeg2video',
audioCodecs: 'ac3,aac,mp3',
maxAudioChannels: '6',
audioBoost: '100',
enableSubtitles: false,
subtitleSize: '100',
updatePlayStatus: false,

View File

@ -98,6 +98,7 @@ function api(db, xmltvInterval) {
videoCodecs: 'h264,hevc,mpeg2video',
audioCodecs: 'ac3,aac,mp3',
maxAudioChannels: '6',
audioBoost: '100',
enableSubtitles: false,
subtitleSize: '100',
updatePlayStatus: false,

View File

@ -54,7 +54,6 @@ class PlexTranscoder {
let streamContainer = "mpegts" // Other option is mkv, mkv has the option of copying it's subs for later processing
let videoQuality=`100` // Not sure how this applies, maybe this works if maxVideoBitrate is not set
let audioBoost=`100` // only applies when downmixing to stereo I believe, add option later?
let profileName=`Generic` // Blank profile, everything is specified through X-Plex-Client-Profile-Extra
let resolutionArr = resolution.split("x")
@ -69,9 +68,9 @@ add-limitation(scope=videoCodec&scopeName=*&type=upperBound&name=video.height&va
this.settings.audioCodecs.split(",").forEach(function (codec) {
clientProfile+=`+add-transcode-target-audio-codec(type=videoProfile&context=streaming&protocol=${this.settings.streamProtocol}&audioCodec=${codec})`
if (codec == "mp3") {
clientProfile+=`+add-limitation(scope=videoAudioCodec&scopeName=${codec}type=upperBound&name=audio.channels&value=2)`
clientProfile+=`+add-limitation(scope=videoAudioCodec&scopeName=${codec}&type=upperBound&name=audio.channels&value=2)`
} else {
clientProfile+=`+add-limitation(scope=videoAudioCodec&scopeName=${codec}type=upperBound&name=audio.channels&value=${this.settings.maxAudioChannels})`
clientProfile+=`+add-limitation(scope=videoAudioCodec&scopeName=${codec}&type=upperBound&name=audio.channels&value=${this.settings.maxAudioChannels})`
}
}.bind(this));
@ -98,7 +97,7 @@ directPlay=0&\
directStream=1&\
directStreamAudio=1&\
copyts=1&\
audioBoost=${audioBoost}&\
audioBoost=${this.settings.audioBoost}&\
mediaBufferSize=${mediaBufferSize}&\
session=${this.session}&\
offset=${this.currTimeS}&\

View File

@ -76,6 +76,13 @@ module.exports = function (plex, pseudotv, $timeout) {
{id:"http",description:"HTTP"},
{id:"hls",description:"HLS"}
];
scope.audioBoostOptions=[
{id:"100",description:"None"},
{id:"120",description:"Small"},
{id:"140",description:"Medium"},
{id:"160",description:"Large"},
{id:"180",description:"Huge"}
];
}
};
}

View File

@ -84,6 +84,12 @@
ng-options="o.id as o.description for o in maxAudioChannelsOptions" ria-describedby="maxAudioChannelsHelp"/>
<small id="maxAudioChannelsHelp" class="form-text text-muted">Note: 7.1 audio and on some clients, 6.1, is known to cause playback issues.</small>
</div>
<div class="form-group">
<label>Audio Boost</label>
<select ng-model="settings.audioBoost"
ng-options="o.id as o.description for o in audioBoostOptions" ria-describedby="audioBoostHelp"/>
<small id="audioBoostHelp" class="form-text text-muted">Note: Only applies when downmixing to stereo.</small>
</div>
</div>
</div>
<div class="row">