mirror of
https://github.com/gabehf/Tdarr_Plugins.git
synced 2026-03-15 10:15:54 -07:00
commit
74a241c280
2 changed files with 25 additions and 5 deletions
|
|
@ -46,10 +46,23 @@ 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 };
|
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));
|
||||||
|
};
|
||||||
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||||
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||||
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.getEncoder = exports.getBestNvencDevice = exports.hasEncoder = void 0;
|
exports.getEncoder = exports.getBestNvencDevice = exports.hasEncoder = void 0;
|
||||||
|
var os_1 = __importDefault(require("os"));
|
||||||
var hasEncoder = function (_a) {
|
var hasEncoder = function (_a) {
|
||||||
var ffmpegPath = _a.ffmpegPath, encoder = _a.encoder, inputArgs = _a.inputArgs, filter = _a.filter, args = _a.args;
|
var ffmpegPath = _a.ffmpegPath, encoder = _a.encoder, inputArgs = _a.inputArgs, outputArgs = _a.outputArgs, filter = _a.filter, args = _a.args;
|
||||||
return __awaiter(void 0, void 0, void 0, function () {
|
return __awaiter(void 0, void 0, void 0, function () {
|
||||||
var exec, isEnabled, err_1;
|
var exec, isEnabled, err_1;
|
||||||
return __generator(this, function (_b) {
|
return __generator(this, function (_b) {
|
||||||
|
|
@ -63,7 +76,7 @@ var hasEncoder = function (_a) {
|
||||||
return [4 /*yield*/, new Promise(function (resolve) {
|
return [4 /*yield*/, new Promise(function (resolve) {
|
||||||
var command = "".concat(ffmpegPath, " ").concat(inputArgs.join(' ') || '', " -f lavfi -i color=c=black:s=256x256:d=1:r=30")
|
var command = "".concat(ffmpegPath, " ").concat(inputArgs.join(' ') || '', " -f lavfi -i color=c=black:s=256x256:d=1:r=30")
|
||||||
+ " ".concat(filter || '')
|
+ " ".concat(filter || '')
|
||||||
+ " -c:v ".concat(encoder, " -f null /dev/null");
|
+ " -c:v ".concat(encoder, " ").concat(outputArgs.join(' ') || '', " -f null /dev/null");
|
||||||
args.jobLog("Checking for encoder ".concat(encoder, " with command:"));
|
args.jobLog("Checking for encoder ".concat(encoder, " with command:"));
|
||||||
args.jobLog(command);
|
args.jobLog(command);
|
||||||
exec(command, function (
|
exec(command, function (
|
||||||
|
|
@ -197,7 +210,7 @@ var getEncoder = function (_a) {
|
||||||
'-hwaccel',
|
'-hwaccel',
|
||||||
'qsv',
|
'qsv',
|
||||||
],
|
],
|
||||||
outputArgs: [],
|
outputArgs: __spreadArray([], (os_1.default.platform() === 'win32' ? ['-load_plugin', 'hevc_hw'] : []), true),
|
||||||
filter: '',
|
filter: '',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -312,6 +325,7 @@ var getEncoder = function (_a) {
|
||||||
ffmpegPath: args.ffmpegPath,
|
ffmpegPath: args.ffmpegPath,
|
||||||
encoder: gpuEncoder.encoder,
|
encoder: gpuEncoder.encoder,
|
||||||
inputArgs: gpuEncoder.inputArgs,
|
inputArgs: gpuEncoder.inputArgs,
|
||||||
|
outputArgs: gpuEncoder.outputArgs,
|
||||||
filter: gpuEncoder.filter,
|
filter: gpuEncoder.filter,
|
||||||
args: args,
|
args: args,
|
||||||
})];
|
})];
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,18 @@
|
||||||
|
import os from 'os';
|
||||||
import { IpluginInputArgs } from './interfaces/interfaces';
|
import { IpluginInputArgs } from './interfaces/interfaces';
|
||||||
|
|
||||||
export const hasEncoder = async ({
|
export const hasEncoder = async ({
|
||||||
ffmpegPath,
|
ffmpegPath,
|
||||||
encoder,
|
encoder,
|
||||||
inputArgs,
|
inputArgs,
|
||||||
|
outputArgs,
|
||||||
filter,
|
filter,
|
||||||
args,
|
args,
|
||||||
}: {
|
}: {
|
||||||
ffmpegPath: string,
|
ffmpegPath: string,
|
||||||
encoder: string,
|
encoder: string,
|
||||||
inputArgs: string[],
|
inputArgs: string[],
|
||||||
|
outputArgs: string[],
|
||||||
filter: string,
|
filter: string,
|
||||||
args: IpluginInputArgs,
|
args: IpluginInputArgs,
|
||||||
}): Promise<boolean> => {
|
}): Promise<boolean> => {
|
||||||
|
|
@ -19,7 +22,7 @@ export const hasEncoder = async ({
|
||||||
isEnabled = await new Promise((resolve) => {
|
isEnabled = await new Promise((resolve) => {
|
||||||
const command = `${ffmpegPath} ${inputArgs.join(' ') || ''} -f lavfi -i color=c=black:s=256x256:d=1:r=30`
|
const command = `${ffmpegPath} ${inputArgs.join(' ') || ''} -f lavfi -i color=c=black:s=256x256:d=1:r=30`
|
||||||
+ ` ${filter || ''}`
|
+ ` ${filter || ''}`
|
||||||
+ ` -c:v ${encoder} -f null /dev/null`;
|
+ ` -c:v ${encoder} ${outputArgs.join(' ') || ''} -f null /dev/null`;
|
||||||
|
|
||||||
args.jobLog(`Checking for encoder ${encoder} with command:`);
|
args.jobLog(`Checking for encoder ${encoder} with command:`);
|
||||||
args.jobLog(command);
|
args.jobLog(command);
|
||||||
|
|
@ -180,7 +183,9 @@ export const getEncoder = async ({
|
||||||
'-hwaccel',
|
'-hwaccel',
|
||||||
'qsv',
|
'qsv',
|
||||||
],
|
],
|
||||||
outputArgs: [],
|
outputArgs: [
|
||||||
|
...(os.platform() === 'win32' ? ['-load_plugin', 'hevc_hw'] : []),
|
||||||
|
],
|
||||||
filter: '',
|
filter: '',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -303,6 +308,7 @@ export const getEncoder = async ({
|
||||||
ffmpegPath: args.ffmpegPath,
|
ffmpegPath: args.ffmpegPath,
|
||||||
encoder: gpuEncoder.encoder,
|
encoder: gpuEncoder.encoder,
|
||||||
inputArgs: gpuEncoder.inputArgs,
|
inputArgs: gpuEncoder.inputArgs,
|
||||||
|
outputArgs: gpuEncoder.outputArgs,
|
||||||
filter: gpuEncoder.filter,
|
filter: gpuEncoder.filter,
|
||||||
args,
|
args,
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue