@remotion/renderer
Version:
Render Remotion videos using Node.js or Bun
17 lines (16 loc) • 877 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getIdealVideoThreadsFlag = void 0;
const get_cpu_count_1 = require("./get-cpu-count");
const get_available_memory_1 = require("./memory/get-available-memory");
const MEMORY_USAGE_PER_THREAD = 400000000; // 400MB
const RESERVED_MEMORY = 2000000000;
const getIdealVideoThreadsFlag = (logLevel) => {
const freeMemory = (0, get_available_memory_1.getAvailableMemory)(logLevel);
const cpus = (0, get_cpu_count_1.getCpuCount)();
const maxRecommendedBasedOnCpus = (cpus * 2) / 3;
const maxRecommendedBasedOnMemory = (freeMemory - RESERVED_MEMORY) / MEMORY_USAGE_PER_THREAD;
const maxRecommended = Math.min(maxRecommendedBasedOnCpus, maxRecommendedBasedOnMemory);
return Math.max(1, Math.round(maxRecommended));
};
exports.getIdealVideoThreadsFlag = getIdealVideoThreadsFlag;