$this->config->getFfmpegBinary(), 'ffprobe' => $this->config->getFfprobeBinary(), ]; $missing = []; foreach ($binaries as $name => $binary) { if (!$this->isAvailable($binary)) { $missing[$name] = $binary; } } return $missing; } private function isAvailable(string $binary): bool { $process = new Process([$binary, '-version']); $process->setTimeout(5); try { $process->run(); return $process->isSuccessful(); } catch (\Throwable) { return false; } } }