Update flows

This commit is contained in:
HaveAGitGat 2023-08-26 17:53:07 +01:00
parent 658857fdf4
commit 25c4fab8d9
73 changed files with 4295 additions and 839 deletions

View file

@ -7,7 +7,6 @@ var details = function () { return ({
description: 'Set 10 Bit Video',
style: {
borderColor: '#6efefc',
opacity: 0.5,
},
tags: 'video',
isStartPlugin: false,
@ -27,6 +26,12 @@ var plugin = function (args) {
var lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details);
for (var i = 0; i < args.variables.ffmpegCommand.streams.length; i += 1) {
var stream = args.variables.ffmpegCommand.streams[i];
if (stream.codec_type === 'video') {
stream.outputArgs.push('-pix_fmt:v:{outputTypeIndex}', 'p010le', '-profile:v:{outputTypeIndex}', 'main10');
}
}
return {
outputFileObj: args.inputFileObj,
outputNumber: 1,

View file

@ -35,9 +35,19 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.plugin = exports.details = void 0;
var utils_1 = require("../../../../FlowHelpers/1.0.0/utils");
var cliUtils_1 = require("../../../../FlowHelpers/1.0.0/cliUtils");
var fileUtils_1 = require("../../../../FlowHelpers/1.0.0/fileUtils");
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
var details = function () { return ({
name: 'Execute',
@ -53,30 +63,40 @@ var details = function () { return ({
outputs: [
{
number: 1,
tooltip: 'File is 480p',
},
{
number: 2,
tooltip: 'File is 576p',
tooltip: 'Continue to next plugin',
},
],
}); };
exports.details = details;
var getEncoder = function (codec) {
switch (codec) {
case 'h264':
return 'libx264';
case 'hevc':
return 'libx265';
default:
return codec;
var getOuputStreamIndex = function (streams, stream) {
var index = -1;
for (var idx = 0; idx < streams.length; idx += 1) {
if (!stream.removed) {
index += 1;
}
if (streams[idx].index === stream.index) {
break;
}
}
return index;
};
var getOuputStreamTypeIndex = function (streams, stream) {
var index = -1;
for (var idx = 0; idx < streams.length; idx += 1) {
if (!stream.removed && streams[idx].codec_type === stream.codec_type) {
index += 1;
}
if (streams[idx].index === stream.index) {
break;
}
}
return index;
};
// eslint-disable-next-line @typescript-eslint/no-unused-vars
var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function () {
var lib, cliArgs, shouldProcess, outputFilePath, cli, res;
return __generator(this, function (_a) {
switch (_a.label) {
var lib, cliArgs, inputArgs, _a, shouldProcess, streams, _loop_1, i, idx, outputFilePath, cli, res;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
@ -85,23 +105,42 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function
cliArgs.push('-y');
cliArgs.push('-i');
cliArgs.push(args.inputFileObj._id);
shouldProcess = false;
// @ts-expect-error type
args.variables.ffmpegCommand.streams.forEach(function (stream) {
if (!stream.removed) {
cliArgs.push('-map');
cliArgs.push("0:".concat(stream.index));
cliArgs.push("-c:".concat(stream.index));
args.jobLog(JSON.stringify({ stream: stream }));
if (args.inputs.forceProcess || stream.codec_name !== stream.targetCodec) {
shouldProcess = true;
cliArgs.push(getEncoder(stream.targetCodec));
}
else {
cliArgs.push('copy');
}
inputArgs = [];
_a = args.variables.ffmpegCommand, shouldProcess = _a.shouldProcess, streams = _a.streams;
streams = streams.filter(function (stream) {
if (stream.removed) {
shouldProcess = true;
}
return !stream.removed;
});
if ((0, fileUtils_1.getContainer)(args.inputFileObj._id) !== args.variables.ffmpegCommand.container) {
shouldProcess = true;
}
_loop_1 = function (i) {
var stream = streams[i];
stream.outputArgs = stream.outputArgs.map(function (arg) {
if (arg.includes('{outputIndex}')) {
// eslint-disable-next-line no-param-reassign
arg = arg.replace('{outputIndex}', String(getOuputStreamIndex(streams, stream)));
}
if (arg.includes('{outputTypeIndex}')) {
// eslint-disable-next-line no-param-reassign
arg = arg.replace('{outputTypeIndex}', String(getOuputStreamTypeIndex(streams, stream)));
}
return arg;
});
cliArgs.push.apply(cliArgs, stream.mapArgs);
if (stream.outputArgs.length === 0) {
cliArgs.push("-c:".concat(getOuputStreamIndex(streams, stream)), 'copy');
}
else {
cliArgs.push.apply(cliArgs, stream.outputArgs);
}
inputArgs.push.apply(inputArgs, stream.inputArgs);
};
for (i = 0; i < streams.length; i += 1) {
_loop_1(i);
}
if (!shouldProcess) {
args.jobLog('No need to process file, already as required');
return [2 /*return*/, {
@ -110,16 +149,20 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function
variables: args.variables,
}];
}
outputFilePath = "".concat(args.workDir, "/tempFile.").concat(args.variables.ffmpegCommand.container);
idx = cliArgs.indexOf('-i');
cliArgs.splice.apply(cliArgs, __spreadArray([idx, 0], inputArgs, false));
outputFilePath = "".concat(args.workDir, "/tempFile_").concat(new Date().getTime(), ".").concat(args.variables.ffmpegCommand.container);
cliArgs.push(outputFilePath);
// @ts-expect-error type
args.deps.fsextra.ensureDirSync(args.workDir);
args.jobLog('Processing file');
args.jobLog(JSON.stringify({
cliArgs: cliArgs,
outputFilePath: outputFilePath,
}));
cli = new utils_1.CLI({
args.updateWorker({
CLIType: args.ffmpegPath,
preset: cliArgs.join(' '),
});
cli = new cliUtils_1.CLI({
cli: args.ffmpegPath,
spawnArgs: cliArgs,
spawnOpts: {},
@ -131,10 +174,7 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function
});
return [4 /*yield*/, cli.runCli()];
case 1:
res = _a.sent();
if (!args.logFullCliOutput) {
args.jobLog(res.errorLogFull.slice(-1000).join(''));
}
res = _b.sent();
if (res.cliExitCode !== 0) {
args.jobLog('Running FFmpeg failed');
throw new Error('FFmpeg failed');

View file

@ -27,7 +27,6 @@ var plugin = function (args) {
var lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details);
// @ts-expect-error type
args.variables.ffmpegCommand.streams.forEach(function (stream) {
if (stream.codec_type === 'data') {
stream.removed = true;

View file

@ -27,7 +27,6 @@ var plugin = function (args) {
var lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details);
// @ts-expect-error type
args.variables.ffmpegCommand.streams.forEach(function (stream) {
if (stream.codec_type === 'subtitle') {
stream.removed = true;

View file

@ -3,17 +3,62 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.plugin = exports.details = void 0;
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
var details = function () { return ({
name: 'Set Video Bitrate',
description: 'Set Video Bitrate',
name: 'Reorder Streams',
description: 'Reorder Streams',
style: {
borderColor: '#6efefc',
opacity: 0.5,
},
tags: 'video',
isStartPlugin: false,
sidebarPosition: -1,
icon: '',
inputs: [],
inputs: [
{
name: 'processOrder',
type: 'string',
defaultValue: 'codecs,channels,languages,streamTypes',
inputUI: {
type: 'text',
},
tooltip: "Specify the process order.\nFor example, if 'languages' is first, the streams will be ordered based on that first.\nSo put the most important properties last.\nThe default order is suitable for most people.\n\n \\nExample:\\n\n codecs,channels,languages,streamTypes\n ",
},
{
name: 'languages',
type: 'string',
defaultValue: '',
inputUI: {
type: 'text',
},
tooltip: "Specify the language tags order, separated by commas. Leave blank to disable.\n \\nExample:\\n\n eng,fre\n ",
},
{
name: 'channels',
type: 'string',
defaultValue: '7.1,5.1,2,1',
inputUI: {
type: 'text',
},
tooltip: "Specify the channels order, separated by commas. Leave blank to disable.\n \n \\nExample:\\n\n 7.1,5.1,2,1",
},
{
name: 'codecs',
type: 'string',
defaultValue: '',
inputUI: {
type: 'text',
},
tooltip: "Specify the codec order, separated by commas. Leave blank to disable.\n \n \\nExample:\\n\n aac,ac3",
},
{
name: 'streamTypes',
type: 'string',
defaultValue: 'video,audio,subtitle',
inputUI: {
type: 'text',
},
tooltip: "Specify the streamTypes order, separated by commas. Leave blank to disable.\n \\nExample:\\n\n video,audio,subtitle\n ",
},
],
outputs: [
{
number: 1,
@ -27,6 +72,96 @@ var plugin = function (args) {
var lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details);
var streams = JSON.parse(JSON.stringify(args.variables.ffmpegCommand.streams));
var originalStreams = JSON.stringify(streams);
streams.forEach(function (stream, index) {
// eslint-disable-next-line no-param-reassign
stream.typeIndex = index;
});
var sortStreams = function (sortType) {
var items = sortType.inputs.split(',');
items.reverse();
for (var i = 0; i < items.length; i += 1) {
var matchedStreams = [];
for (var j = 0; j < streams.length; j += 1) {
if (String(sortType.getValue(streams[j])) === String(items[i])) {
if (streams[j].codec_long_name
&& (streams[j].codec_long_name.includes('image')
|| streams[j].codec_name.includes('png'))) {
// do nothing, ffmpeg bug, doesn't move image streams
}
else {
matchedStreams.push(streams[j]);
streams.splice(j, 1);
j -= 1;
}
}
}
streams = matchedStreams.concat(streams);
}
};
var processOrder = String(args.inputs.processOrder);
var _a = args.inputs, languages = _a.languages, codecs = _a.codecs, channels = _a.channels, streamTypes = _a.streamTypes;
var sortTypes = {
languages: {
getValue: function (stream) {
var _a;
if ((_a = stream === null || stream === void 0 ? void 0 : stream.tags) === null || _a === void 0 ? void 0 : _a.language) {
return stream.tags.language;
}
return '';
},
inputs: languages,
},
codecs: {
getValue: function (stream) {
try {
return stream.codec_name;
}
catch (err) {
// err
}
return '';
},
inputs: codecs,
},
channels: {
getValue: function (stream) {
var chanMap = {
8: '7.1',
6: '5.1',
2: '2',
1: '1',
};
if ((stream === null || stream === void 0 ? void 0 : stream.channels) && chanMap[stream.channels]) {
return chanMap[stream.channels];
}
return '';
},
inputs: channels,
},
streamTypes: {
getValue: function (stream) {
if (stream.codec_type) {
return stream.codec_type;
}
return '';
},
inputs: streamTypes,
},
};
var processOrderArr = processOrder.split(',');
for (var k = 0; k < processOrderArr.length; k += 1) {
if (sortTypes[processOrderArr[k]] && sortTypes[processOrderArr[k]].inputs) {
sortStreams(sortTypes[processOrderArr[k]]);
}
}
if (JSON.stringify(streams) !== originalStreams) {
// eslint-disable-next-line no-param-reassign
args.variables.ffmpegCommand.shouldProcess = true;
// eslint-disable-next-line no-param-reassign
args.variables.ffmpegCommand.streams = streams;
}
return {
outputFileObj: args.inputFileObj,
outputNumber: 1,

View file

@ -41,8 +41,7 @@ var plugin = function (args) {
var lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details);
// @ts-expect-error type
args.variables.ffmpegCommand.container = args.inputs.container;
args.variables.ffmpegCommand.container = String(args.inputs.container);
return {
outputFileObj: args.inputFileObj,
outputNumber: 1,

View file

@ -0,0 +1,83 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.plugin = exports.details = void 0;
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
var details = function () { return ({
name: 'Set Video Resolution',
description: 'Change video resolution',
style: {
borderColor: '#6efefc',
},
tags: 'video',
isStartPlugin: false,
sidebarPosition: -1,
icon: '',
inputs: [
{
name: 'targetResolution',
type: 'string',
defaultValue: '1080p',
inputUI: {
type: 'dropdown',
options: [
'480p',
'720p',
'1080p',
'1440p',
'4KUHD',
],
},
tooltip: 'Specify the codec to use',
},
],
outputs: [
{
number: 1,
tooltip: 'Continue to next plugin',
},
],
}); };
exports.details = details;
var getVfScale = function (targetResolution) {
switch (targetResolution) {
case '480p':
return ['-vf', 'scale=720:-2'];
case '576p':
return ['-vf', 'scale=720:-2'];
case '720p':
return ['-vf', 'scale=1280:-2'];
case '1080p':
return ['-vf', 'scale=1920:-2'];
case '1440p':
return ['-vf', 'scale=2560:-2'];
case '4KUHD':
return ['-vf', 'scale=3840:-2'];
default:
return ['-vf', 'scale=1920:-2'];
}
};
// eslint-disable-next-line @typescript-eslint/no-unused-vars
var plugin = function (args) {
var _a;
var lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details);
for (var i = 0; i < args.variables.ffmpegCommand.streams.length; i += 1) {
var stream = args.variables.ffmpegCommand.streams[i];
if (stream.codec_type === 'video') {
var targetResolution = String(args.inputs.targetResolution);
if (targetResolution !== args.inputFileObj.video_resolution) {
// eslint-disable-next-line no-param-reassign
args.variables.ffmpegCommand.shouldProcess = true;
var scaleArgs = getVfScale(targetResolution);
(_a = stream.outputArgs).push.apply(_a, scaleArgs);
}
}
}
return {
outputFileObj: args.inputFileObj,
outputNumber: 1,
variables: args.variables,
};
};
exports.plugin = plugin;

View file

@ -1,19 +1,29 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.plugin = exports.details = void 0;
var fileUtils_1 = require("../../../../FlowHelpers/1.0.0/fileUtils");
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
var details = function () { return ({
name: 'Reorder Streams',
description: 'Reorder Streams',
name: 'Set Video Bitrate',
description: 'Set Video Bitrate',
style: {
borderColor: '#6efefc',
opacity: 0.5,
},
tags: 'video',
isStartPlugin: false,
sidebarPosition: -1,
icon: '',
inputs: [],
inputs: [
{
name: 'bitrate',
type: 'string',
defaultValue: '5000',
inputUI: {
type: 'text',
},
tooltip: 'Specify bitrate in kbps',
},
],
outputs: [
{
number: 1,
@ -27,6 +37,12 @@ var plugin = function (args) {
var lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details);
args.variables.ffmpegCommand.streams.forEach(function (stream) {
if (stream.codec_type === 'video') {
var ffType = (0, fileUtils_1.getFfType)(stream.codec_type);
stream.outputArgs.push("-b:".concat(ffType, ":{outputTypeIndex}"), "".concat(String(args.inputs.bitrate), "k"));
}
});
return {
outputFileObj: args.inputFileObj,
outputNumber: 1,

View file

@ -1,7 +1,44 @@
"use strict";
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.plugin = exports.details = void 0;
var hardwareUtils_1 = require("../../../../FlowHelpers/1.0.0/hardwareUtils");
/* eslint-disable no-param-reassign */
var details = function () { return ({
name: 'Set Video Encoder',
@ -15,7 +52,7 @@ var details = function () { return ({
icon: '',
inputs: [
{
name: 'targetCodec',
name: 'outputCodec',
type: 'string',
defaultValue: 'hevc',
inputUI: {
@ -29,6 +66,61 @@ var details = function () { return ({
},
tooltip: 'Specify the codec to use',
},
{
name: 'ffmpegPreset',
type: 'string',
defaultValue: 'fast',
inputUI: {
type: 'dropdown',
options: [
'veryslow',
'slower',
'slow',
'medium',
'fast',
'faster',
'veryfast',
'superfast',
'ultrafast',
],
},
tooltip: 'Specify the codec to use',
},
{
name: 'ffmpegQuality',
type: 'number',
defaultValue: '25',
inputUI: {
type: 'text',
},
tooltip: 'Specify the codec to use',
},
{
name: 'hardwareEncoding',
type: 'boolean',
defaultValue: 'true',
inputUI: {
type: 'dropdown',
options: [
'false',
'true',
],
},
tooltip: 'Specify whether to use hardware encoding if available',
},
{
name: 'hardwareDecoding',
type: 'boolean',
defaultValue: 'true',
inputUI: {
type: 'dropdown',
options: [
'false',
'true',
],
},
tooltip: 'Specify whether to use hardware decoding if available',
},
{
name: 'forceEncoding',
type: 'boolean',
@ -52,22 +144,64 @@ var details = function () { return ({
}); };
exports.details = details;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
var plugin = function (args) {
var lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details);
// @ts-expect-error type
args.variables.ffmpegCommand.streams.forEach(function (stream) {
if (stream.codec_type === 'video') {
// @ts-expect-error type
stream.targetCodec = args.inputs.targetCodec;
stream.forceEncoding = args.inputs.forceEncoding;
var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function () {
var lib, hardwareDecoding, i, stream, targetCodec, ffmpegPreset, ffmpegQuality, forceEncoding, hardwarEncoding, encoderProperties;
var _a, _b;
return __generator(this, function (_c) {
switch (_c.label) {
case 0:
lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details);
hardwareDecoding = args.inputs.hardwareDecoding === true;
args.variables.ffmpegCommand.hardwareDecoding = hardwareDecoding;
i = 0;
_c.label = 1;
case 1:
if (!(i < args.variables.ffmpegCommand.streams.length)) return [3 /*break*/, 4];
stream = args.variables.ffmpegCommand.streams[i];
if (!(stream.codec_type === 'video')) return [3 /*break*/, 3];
targetCodec = String(args.inputs.outputCodec);
ffmpegPreset = String(args.inputs.ffmpegPreset);
ffmpegQuality = String(args.inputs.ffmpegQuality);
forceEncoding = args.inputs.forceEncoding === true;
hardwarEncoding = args.inputs.hardwareEncoding === true;
if (!(forceEncoding
|| stream.codec_name !== targetCodec)) return [3 /*break*/, 3];
args.variables.ffmpegCommand.shouldProcess = true;
return [4 /*yield*/, (0, hardwareUtils_1.getEncoder)({
targetCodec: targetCodec,
hardwareEncoding: hardwarEncoding,
args: args,
})];
case 2:
encoderProperties = _c.sent();
stream.outputArgs.push('-c:{outputIndex}', encoderProperties.encoder);
if (encoderProperties.isGpu) {
stream.outputArgs.push('-qp', ffmpegQuality);
}
else {
stream.outputArgs.push('-crf', ffmpegQuality);
}
if (ffmpegPreset) {
stream.outputArgs.push('-preset', ffmpegPreset);
}
if (hardwareDecoding) {
(_a = stream.inputArgs).push.apply(_a, encoderProperties.inputArgs);
}
if (encoderProperties.outputArgs) {
(_b = stream.outputArgs).push.apply(_b, encoderProperties.outputArgs);
}
_c.label = 3;
case 3:
i += 1;
return [3 /*break*/, 1];
case 4: return [2 /*return*/, {
outputFileObj: args.inputFileObj,
outputNumber: 1,
variables: args.variables,
}];
}
});
return {
outputFileObj: args.inputFileObj,
outputNumber: 1,
variables: args.variables,
};
};
}); };
exports.plugin = plugin;

View file

@ -1,36 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.plugin = exports.details = void 0;
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
var details = function () { return ({
name: 'Set Video Scale',
description: 'Change video scale',
style: {
borderColor: '#6efefc',
opacity: 0.5,
},
tags: 'video',
isStartPlugin: false,
sidebarPosition: -1,
icon: '',
inputs: [],
outputs: [
{
number: 1,
tooltip: 'Continue to next plugin',
},
],
}); };
exports.details = details;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
var plugin = function (args) {
var lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details);
return {
outputFileObj: args.inputFileObj,
outputNumber: 1,
variables: args.variables,
};
};
exports.plugin = plugin;

View file

@ -42,8 +42,15 @@ var plugin = function (args) {
var container = containerParts[containerParts.length - 1];
var ffmpegCommand = {
inputFiles: [],
streams: JSON.parse(JSON.stringify(args.inputFileObj.ffProbeData.streams)).map(function (stream) { return (__assign(__assign({}, stream), { removed: false, targetCodec: stream.codec_name, args: [] })); }),
streams: JSON.parse(JSON.stringify(args.inputFileObj.ffProbeData.streams)).map(function (stream) { return (__assign(__assign({}, stream), { removed: false, mapArgs: [
'-map',
"0:".concat(stream.index),
], inputArgs: [], outputArgs: [] })); }),
container: container,
hardwareDecoding: false,
shouldProcess: false,
overallInputArguments: [],
overallOuputArguments: [],
};
args.variables.ffmpegCommand = ffmpegCommand;
return {