UNPKG

@remotion/renderer

Version:

Render Remotion videos using Node.js or Bun

17 lines (16 loc) 877 B
"use strict"; 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;