mirror of
https://github.com/gabehf/Tdarr_Plugins.git
synced 2026-03-16 02:35:54 -07:00
Add checkFfmpegCommandInit(() to ffmpeg command plugins
This commit is contained in:
parent
0ba6ceb182
commit
69afa93e70
15 changed files with 45 additions and 0 deletions
|
|
@ -4,6 +4,7 @@ import {
|
||||||
IpluginInputArgs,
|
IpluginInputArgs,
|
||||||
IpluginOutputArgs,
|
IpluginOutputArgs,
|
||||||
} from '../../../../FlowHelpers/1.0.0/interfaces/interfaces';
|
} from '../../../../FlowHelpers/1.0.0/interfaces/interfaces';
|
||||||
|
import { checkFfmpegCommandInit } from '../../../../FlowHelpers/1.0.0/interfaces/flowUtils';
|
||||||
|
|
||||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||||
const details = () :IpluginDetails => ({
|
const details = () :IpluginDetails => ({
|
||||||
|
|
@ -33,6 +34,8 @@ const plugin = (args:IpluginInputArgs):IpluginOutputArgs => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
||||||
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
||||||
|
|
||||||
|
checkFfmpegCommandInit(args);
|
||||||
|
|
||||||
for (let i = 0; i < args.variables.ffmpegCommand.streams.length; i += 1) {
|
for (let i = 0; i < args.variables.ffmpegCommand.streams.length; i += 1) {
|
||||||
const stream = args.variables.ffmpegCommand.streams[i];
|
const stream = args.variables.ffmpegCommand.streams[i];
|
||||||
if (stream.codec_type === 'video') {
|
if (stream.codec_type === 'video') {
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { checkFfmpegCommandInit } from '../../../../FlowHelpers/1.0.0/interfaces/flowUtils';
|
||||||
import {
|
import {
|
||||||
IpluginDetails,
|
IpluginDetails,
|
||||||
IpluginInputArgs,
|
IpluginInputArgs,
|
||||||
|
|
@ -33,6 +34,8 @@ const plugin = (args:IpluginInputArgs):IpluginOutputArgs => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
||||||
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
||||||
|
|
||||||
|
checkFfmpegCommandInit(args);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
outputFileObj: args.inputFileObj,
|
outputFileObj: args.inputFileObj,
|
||||||
outputNumber: 1,
|
outputNumber: 1,
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { checkFfmpegCommandInit } from '../../../../FlowHelpers/1.0.0/interfaces/flowUtils';
|
||||||
import {
|
import {
|
||||||
IpluginDetails,
|
IpluginDetails,
|
||||||
IpluginInputArgs,
|
IpluginInputArgs,
|
||||||
|
|
@ -54,6 +55,8 @@ const plugin = (args:IpluginInputArgs):IpluginOutputArgs => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
||||||
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
||||||
|
|
||||||
|
checkFfmpegCommandInit(args);
|
||||||
|
|
||||||
const inputArguments = String(args.inputs.inputArguments);
|
const inputArguments = String(args.inputs.inputArguments);
|
||||||
const outputArguments = String(args.inputs.outputArguments);
|
const outputArguments = String(args.inputs.outputArguments);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import { getFfType } from '../../../../FlowHelpers/1.0.0/fileUtils';
|
import { getFfType } from '../../../../FlowHelpers/1.0.0/fileUtils';
|
||||||
|
import { checkFfmpegCommandInit } from '../../../../FlowHelpers/1.0.0/interfaces/flowUtils';
|
||||||
import {
|
import {
|
||||||
IffmpegCommandStream,
|
IffmpegCommandStream,
|
||||||
IpluginDetails,
|
IpluginDetails,
|
||||||
|
|
@ -270,6 +271,8 @@ const plugin = (args: IpluginInputArgs): IpluginOutputArgs => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
||||||
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
||||||
|
|
||||||
|
checkFfmpegCommandInit(args);
|
||||||
|
|
||||||
const audioEncoder = String(args.inputs.audioEncoder);
|
const audioEncoder = String(args.inputs.audioEncoder);
|
||||||
const langTag = String(args.inputs.language).toLowerCase();
|
const langTag = String(args.inputs.language).toLowerCase();
|
||||||
const wantedChannelCount = Number(args.inputs.channels);
|
const wantedChannelCount = Number(args.inputs.channels);
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { checkFfmpegCommandInit } from '../../../../FlowHelpers/1.0.0/interfaces/flowUtils';
|
||||||
import {
|
import {
|
||||||
IpluginDetails,
|
IpluginDetails,
|
||||||
IpluginInputArgs,
|
IpluginInputArgs,
|
||||||
|
|
@ -32,6 +33,8 @@ const plugin = (args:IpluginInputArgs):IpluginOutputArgs => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
||||||
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
||||||
|
|
||||||
|
checkFfmpegCommandInit(args);
|
||||||
|
|
||||||
args.variables.ffmpegCommand.streams.forEach((stream) => {
|
args.variables.ffmpegCommand.streams.forEach((stream) => {
|
||||||
if (stream.codec_type === 'video') {
|
if (stream.codec_type === 'video') {
|
||||||
stream.outputArgs.push('-vf', 'zscale=t=linear:npl=100,format=yuv420p');
|
stream.outputArgs.push('-vf', 'zscale=t=linear:npl=100,format=yuv420p');
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { checkFfmpegCommandInit } from '../../../../FlowHelpers/1.0.0/interfaces/flowUtils';
|
||||||
import {
|
import {
|
||||||
IpluginDetails,
|
IpluginDetails,
|
||||||
IpluginInputArgs,
|
IpluginInputArgs,
|
||||||
|
|
@ -33,6 +34,8 @@ const plugin = (args:IpluginInputArgs):IpluginOutputArgs => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
||||||
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
||||||
|
|
||||||
|
checkFfmpegCommandInit(args);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
outputFileObj: args.inputFileObj,
|
outputFileObj: args.inputFileObj,
|
||||||
outputNumber: 1,
|
outputNumber: 1,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||||
|
|
||||||
|
import { checkFfmpegCommandInit } from '../../../../FlowHelpers/1.0.0/interfaces/flowUtils';
|
||||||
import {
|
import {
|
||||||
IpluginDetails,
|
IpluginDetails,
|
||||||
IpluginInputArgs,
|
IpluginInputArgs,
|
||||||
|
|
@ -35,6 +36,8 @@ const plugin = (args:IpluginInputArgs):IpluginOutputArgs => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
||||||
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
||||||
|
|
||||||
|
checkFfmpegCommandInit(args);
|
||||||
|
|
||||||
args.variables.ffmpegCommand.streams.forEach((stream) => {
|
args.variables.ffmpegCommand.streams.forEach((stream) => {
|
||||||
if (stream.codec_type === 'data') {
|
if (stream.codec_type === 'data') {
|
||||||
stream.removed = true;
|
stream.removed = true;
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { checkFfmpegCommandInit } from '../../../../FlowHelpers/1.0.0/interfaces/flowUtils';
|
||||||
import {
|
import {
|
||||||
IpluginDetails,
|
IpluginDetails,
|
||||||
IpluginInputArgs,
|
IpluginInputArgs,
|
||||||
|
|
@ -84,6 +85,8 @@ const plugin = (args: IpluginInputArgs): IpluginOutputArgs => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
||||||
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
||||||
|
|
||||||
|
checkFfmpegCommandInit(args);
|
||||||
|
|
||||||
const propertyToCheck = String(args.inputs.propertyToCheck).trim();
|
const propertyToCheck = String(args.inputs.propertyToCheck).trim();
|
||||||
const valuesToRemove = String(args.inputs.valuesToRemove).trim().split(',').map((item) => item.trim());
|
const valuesToRemove = String(args.inputs.valuesToRemove).trim().split(',').map((item) => item.trim());
|
||||||
const condition = String(args.inputs.condition);
|
const condition = String(args.inputs.condition);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||||
|
|
||||||
|
import { checkFfmpegCommandInit } from '../../../../FlowHelpers/1.0.0/interfaces/flowUtils';
|
||||||
import {
|
import {
|
||||||
IpluginDetails,
|
IpluginDetails,
|
||||||
IpluginInputArgs,
|
IpluginInputArgs,
|
||||||
|
|
@ -34,6 +35,8 @@ const plugin = (args:IpluginInputArgs):IpluginOutputArgs => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
||||||
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
||||||
|
|
||||||
|
checkFfmpegCommandInit(args);
|
||||||
|
|
||||||
args.variables.ffmpegCommand.streams.forEach((stream) => {
|
args.variables.ffmpegCommand.streams.forEach((stream) => {
|
||||||
if (stream.codec_type === 'subtitle') {
|
if (stream.codec_type === 'subtitle') {
|
||||||
stream.removed = true;
|
stream.removed = true;
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { checkFfmpegCommandInit } from '../../../../FlowHelpers/1.0.0/interfaces/flowUtils';
|
||||||
import {
|
import {
|
||||||
IffmpegCommandStream,
|
IffmpegCommandStream,
|
||||||
IpluginDetails,
|
IpluginDetails,
|
||||||
|
|
@ -109,6 +110,8 @@ const plugin = (args: IpluginInputArgs): IpluginOutputArgs => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
||||||
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
||||||
|
|
||||||
|
checkFfmpegCommandInit(args);
|
||||||
|
|
||||||
let streams: IffmpegCommandStream[] = JSON.parse(JSON.stringify(args.variables.ffmpegCommand.streams));
|
let streams: IffmpegCommandStream[] = JSON.parse(JSON.stringify(args.variables.ffmpegCommand.streams));
|
||||||
|
|
||||||
streams.forEach((stream, index) => {
|
streams.forEach((stream, index) => {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||||
|
|
||||||
import { getContainer } from '../../../../FlowHelpers/1.0.0/fileUtils';
|
import { getContainer } from '../../../../FlowHelpers/1.0.0/fileUtils';
|
||||||
|
import { checkFfmpegCommandInit } from '../../../../FlowHelpers/1.0.0/interfaces/flowUtils';
|
||||||
import {
|
import {
|
||||||
IpluginDetails,
|
IpluginDetails,
|
||||||
IpluginInputArgs,
|
IpluginInputArgs,
|
||||||
|
|
@ -64,6 +65,8 @@ const plugin = (args: IpluginInputArgs): IpluginOutputArgs => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
||||||
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
||||||
|
|
||||||
|
checkFfmpegCommandInit(args);
|
||||||
|
|
||||||
const newContainer = String(args.inputs.container);
|
const newContainer = String(args.inputs.container);
|
||||||
const { forceConform } = args.inputs;
|
const { forceConform } = args.inputs;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { checkFfmpegCommandInit } from '../../../../FlowHelpers/1.0.0/interfaces/flowUtils';
|
||||||
import {
|
import {
|
||||||
IpluginDetails,
|
IpluginDetails,
|
||||||
IpluginInputArgs,
|
IpluginInputArgs,
|
||||||
|
|
@ -44,6 +45,8 @@ const plugin = (args:IpluginInputArgs):IpluginOutputArgs => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
||||||
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
||||||
|
|
||||||
|
checkFfmpegCommandInit(args);
|
||||||
|
|
||||||
const desiredFrameRate = Number(args.inputs.framerate);
|
const desiredFrameRate = Number(args.inputs.framerate);
|
||||||
|
|
||||||
args.jobLog(`Desired framerate: ${desiredFrameRate}`);
|
args.jobLog(`Desired framerate: ${desiredFrameRate}`);
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { checkFfmpegCommandInit } from '../../../../FlowHelpers/1.0.0/interfaces/flowUtils';
|
||||||
import {
|
import {
|
||||||
IpluginDetails,
|
IpluginDetails,
|
||||||
IpluginInputArgs,
|
IpluginInputArgs,
|
||||||
|
|
@ -77,6 +78,8 @@ const plugin = (args:IpluginInputArgs):IpluginOutputArgs => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
||||||
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
||||||
|
|
||||||
|
checkFfmpegCommandInit(args);
|
||||||
|
|
||||||
for (let i = 0; i < args.variables.ffmpegCommand.streams.length; i += 1) {
|
for (let i = 0; i < args.variables.ffmpegCommand.streams.length; i += 1) {
|
||||||
const stream = args.variables.ffmpegCommand.streams[i];
|
const stream = args.variables.ffmpegCommand.streams[i];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import {
|
||||||
IpluginOutputArgs,
|
IpluginOutputArgs,
|
||||||
} from '../../../../FlowHelpers/1.0.0/interfaces/interfaces';
|
} from '../../../../FlowHelpers/1.0.0/interfaces/interfaces';
|
||||||
import { getFfType } from '../../../../FlowHelpers/1.0.0/fileUtils';
|
import { getFfType } from '../../../../FlowHelpers/1.0.0/fileUtils';
|
||||||
|
import { checkFfmpegCommandInit } from '../../../../FlowHelpers/1.0.0/interfaces/flowUtils';
|
||||||
|
|
||||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||||
const details = (): IpluginDetails => ({
|
const details = (): IpluginDetails => ({
|
||||||
|
|
@ -120,6 +121,8 @@ const plugin = (args: IpluginInputArgs): IpluginOutputArgs => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
||||||
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
||||||
|
|
||||||
|
checkFfmpegCommandInit(args);
|
||||||
|
|
||||||
const { useInputBitrate } = args.inputs;
|
const { useInputBitrate } = args.inputs;
|
||||||
const targetBitratePercent = String(args.inputs.targetBitratePercent);
|
const targetBitratePercent = String(args.inputs.targetBitratePercent);
|
||||||
const fallbackBitrate = String(args.inputs.fallbackBitrate);
|
const fallbackBitrate = String(args.inputs.fallbackBitrate);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||||
|
|
||||||
import { getEncoder } from '../../../../FlowHelpers/1.0.0/hardwareUtils';
|
import { getEncoder } from '../../../../FlowHelpers/1.0.0/hardwareUtils';
|
||||||
|
import { checkFfmpegCommandInit } from '../../../../FlowHelpers/1.0.0/interfaces/flowUtils';
|
||||||
import {
|
import {
|
||||||
IpluginDetails,
|
IpluginDetails,
|
||||||
IpluginInputArgs,
|
IpluginInputArgs,
|
||||||
|
|
@ -181,6 +182,8 @@ const plugin = async (args: IpluginInputArgs): Promise<IpluginOutputArgs> => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
||||||
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
||||||
|
|
||||||
|
checkFfmpegCommandInit(args);
|
||||||
|
|
||||||
const hardwareDecoding = args.inputs.hardwareDecoding === true;
|
const hardwareDecoding = args.inputs.hardwareDecoding === true;
|
||||||
const hardwareType = String(args.inputs.hardwareType);
|
const hardwareType = String(args.inputs.hardwareType);
|
||||||
args.variables.ffmpegCommand.hardwareDecoding = hardwareDecoding;
|
args.variables.ffmpegCommand.hardwareDecoding = hardwareDecoding;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue