vod: make QF configurable

Signed-off-by: Varun Patil <radialapps@gmail.com>
pull/888/head
Varun Patil 2023-10-24 17:19:43 -07:00
parent 3106108f04
commit feaa6e55af
5 changed files with 20 additions and 1 deletions

View File

@ -14,6 +14,7 @@ All notable changes to this project will be documented in this file.
- **Feature**: External transcoders are much easier to set up now. See [docs](https://memories.gallery/hw-transcoding) for details. - **Feature**: External transcoders are much easier to set up now. See [docs](https://memories.gallery/hw-transcoding) for details.
- **Feature**: Folders view in shares ([#880](https://github.com/pulsejet/memories/pull/880)) - **Feature**: Folders view in shares ([#880](https://github.com/pulsejet/memories/pull/880))
- **Feature**: Improved back button navigation on mobile ([#861](https://github.com/pulsejet/memories/issues/861)). - **Feature**: Improved back button navigation on mobile ([#861](https://github.com/pulsejet/memories/issues/861)).
- **Feature**: The transcoding quality factor can now be configured from the admin panel.
## [v5.5.0] - 2023-10-06 ## [v5.5.0] - 2023-10-06

View File

@ -9,7 +9,7 @@ use OCA\Memories\Settings\SystemConfig;
class BinExt class BinExt
{ {
public const EXIFTOOL_VER = '12.60'; public const EXIFTOOL_VER = '12.60';
public const GOVOD_VER = '0.1.20'; public const GOVOD_VER = '0.1.21';
public const NX_VER_MIN = '1.1'; public const NX_VER_MIN = '1.1';
/** Get the path to the temp directory */ /** Get the path to the temp directory */
@ -176,6 +176,8 @@ class BinExt
{ {
// Get config from system values // Get config from system values
$env = [ $env = [
'qf' => SystemConfig::get('memories.vod.qf'),
'vaapi' => SystemConfig::get('memories.vod.vaapi'), 'vaapi' => SystemConfig::get('memories.vod.vaapi'),
'vaapiLowPower' => SystemConfig::get('memories.vod.vaapi.low_power'), 'vaapiLowPower' => SystemConfig::get('memories.vod.vaapi.low_power'),

View File

@ -83,6 +83,10 @@ class SystemConfig
// start go-vod if it is not running already. // start go-vod if it is not running already.
'memories.vod.external' => false, 'memories.vod.external' => false,
// Quality Factor used for transcoding
// This correspondes to CRF for x264 and global_quality for VA-API
'memories.vod.qf' => 24,
// Set the default video quality for a first time user // Set the default video quality for a first time user
// 0 => Auto (default) // 0 => Auto (default)
// -1 => Original (max quality with transcoding) // -1 => Original (max quality with transcoding)

View File

@ -18,6 +18,7 @@ export type ISystemConfig = {
'memories.vod.bind': string; 'memories.vod.bind': string;
'memories.vod.connect': string; 'memories.vod.connect': string;
'memories.vod.external': boolean; 'memories.vod.external': boolean;
'memories.vod.qf': number;
'memories.video_default_quality': string; 'memories.video_default_quality': string;
'memories.vod.vaapi': boolean; 'memories.vod.vaapi': boolean;

View File

@ -50,6 +50,17 @@
:value="config['memories.vod.connect']" :value="config['memories.vod.connect']"
@change="update('memories.vod.connect', $event.target.value)" @change="update('memories.vod.connect', $event.target.value)"
/> />
<NcTextField
type="number"
min="15"
max="45"
placeholder="25"
:label="t('memories', 'Quality Factor (15 - 45) (default 25)')"
:label-visible="true"
:value="String(config['memories.vod.qf'])"
@change="update('memories.vod.qf', Number($event.target.value))"
/>
</p> </p>
</div> </div>
</template> </template>