Compare commits
2 Commits
main
...
add-cq-con
Author | SHA1 | Date | |
---|---|---|---|
901d20e265 | |||
98acf0be91 |
15
dist/main.js
vendored
15
dist/main.js
vendored
@ -6,6 +6,7 @@ let transcodingManager;
|
||||
const DEFAULT_HARDWARE_DECODE = false;
|
||||
const DEFAULT_VOD_QUALITY = "p7";
|
||||
const DEFAULT_LIVE_QUALITY = "hq";
|
||||
const DEFAULT_CQ = 23;
|
||||
const DEFAULT_BITRATES = new Map([
|
||||
[0, 64 * 1000],
|
||||
[144, 320 * 1000],
|
||||
@ -20,6 +21,7 @@ let pluginSettings = {
|
||||
hardwareDecode: DEFAULT_HARDWARE_DECODE,
|
||||
vodQuality: DEFAULT_VOD_QUALITY,
|
||||
liveQuality: DEFAULT_LIVE_QUALITY,
|
||||
cqQuality: DEFAULT_CQ,
|
||||
baseBitrate: new Map(DEFAULT_BITRATES)
|
||||
};
|
||||
let latestStreamNum = 9999;
|
||||
@ -72,6 +74,14 @@ async function register({ settingsManager, peertubeHelpers, transcodingManager:
|
||||
default: DEFAULT_LIVE_QUALITY.toString(),
|
||||
private: false
|
||||
});
|
||||
registerSetting({
|
||||
name: 'constant-quality',
|
||||
label: 'Constant Quality (-cq)',
|
||||
descriptionHTML: 'Edit the constant quality (-cq) for videos. The lower the number, the higher the perceived visual fidelity and file size.',
|
||||
type: 'input',
|
||||
default: DEFAULT_CQ.toString(),
|
||||
private: false,
|
||||
});
|
||||
registerSetting({
|
||||
name: 'base-bitrate-description',
|
||||
label: 'Base bitrate',
|
||||
@ -106,6 +116,7 @@ async function loadSettings(settingsManager) {
|
||||
pluginSettings.hardwareDecode = await settingsManager.getSetting('hardware-decode') == "true";
|
||||
pluginSettings.vodQuality = parseInt(await settingsManager.getSetting('vod-quality')) || DEFAULT_VOD_QUALITY;
|
||||
pluginSettings.liveQuality = parseInt(await settingsManager.getSetting('live-quality')) || DEFAULT_LIVE_QUALITY;
|
||||
pluginSettings.cqQuality = parseInt(await settingsManager.getSetting('constant-quality')) || DEFAULT_CQ;
|
||||
for (const [resolution, bitrate] of DEFAULT_BITRATES) {
|
||||
const key = `base-bitrate-${resolution}`;
|
||||
const storedValue = await settingsManager.getSetting(key);
|
||||
@ -167,7 +178,7 @@ async function vodBuilder(params) {
|
||||
// `-bufsize ${targetBitrate * 2}`,
|
||||
//`-crf 21`, // increased 19 to 21, file size massive
|
||||
`-profile:v${streamSuffix} high`,
|
||||
`-cq 21`,
|
||||
`-cq 22`,
|
||||
`-c:v${streamSuffix} h264_nvenc`
|
||||
]
|
||||
};
|
||||
@ -197,7 +208,7 @@ async function liveBuilder(params) {
|
||||
// `-r:v${streamSuffix} ${fps}`,
|
||||
`-profile:v${streamSuffix} high`,
|
||||
`-c:v${streamSuffix} h264_nvenc`,
|
||||
`-cq 21`
|
||||
`-cq 22`
|
||||
// `-g:v${streamSuffix} ${fps * 2}`,
|
||||
// `-b:v${streamSuffix} ${targetBitrate}`,
|
||||
// `-bufsize ${targetBitrate * 2}`,
|
||||
|
Loading…
Reference in New Issue
Block a user