@berryn/ffmpeg-probe
v0.2.1
Published
Berryn FFmpeg Research Probe — Evidence-driven inspection of fluent-ffmpeg migration patterns and direct-spawn recommendation
Readme
@berryn/ffmpeg-probe
Research probe evaluating
fluent-ffmpegusage patterns and direct process spawn recommendations.
Overview
@berryn/ffmpeg-probe is a specialized research adapter that evaluates the feasibility of migrating codebases away from unmaintained wrappers like fluent-ffmpeg toward modern, secure, direct process spawning via node:child_process.spawn.
The probe statically inspects repository manifests, analyzes FFmpeg call chains, and outputs actionable architectural migration recommendations.
Motivation
Many Node.js applications rely on fluent-ffmpeg for audio/video transcoding. However, fluent-ffmpeg:
- Has unaddressed edge cases around stream buffering, unhandled process errors, and zombie child processes.
- Conceals underlying FFmpeg command-line arguments, complicating debugging and hardware acceleration (VAAPI, NVENC, QuickSync).
- Adds unnecessary abstraction over standard Node.js stream piping.
Berryn's research probe analyzes existing call sites and formulates direct-spawn conversion recipes.
Installation
# Using pnpm
pnpm add @berryn/ffmpeg-probe
# Using npm
npm install @berryn/ffmpeg-probeUsage Examples
Inspecting a Target Project for fluent-ffmpeg
import { createRunContext } from '@berryn/core';
import { FfmpegProbeAdapter } from '@berryn/ffmpeg-probe';
const adapter = new FfmpegProbeAdapter();
const context = createRunContext({ cwd: '/workspace/video-service' });
const { value: result, diagnostics } = await adapter.inspectTarget('/workspace/video-service', context);
console.log(`Fluent-FFmpeg Detected: ${result.fluentFfmpegDetected}`);
console.log(`Recommended Path: ${result.recommendedPath}`); // 'direct-spawn'
console.log(`Observed Patterns:`, result.observedPatterns);
const feasibility = await adapter.evaluateMigrationFeasibility('/workspace/video-service');
console.log(`Feasible: ${feasibility.feasible}, Approach: ${feasibility.recommendedApproach}`);Exported Symbols
| Symbol | Category | Description |
|---|---|---|
| FfmpegProbeAdapter | Class | VerticalAdapter implementation for static FFmpeg usage analysis. |
| FfmpegInspectionResult | Interface | Schema containing detection flags, observed patterns, and recommended migration paths. |
Links
- Repository: https://github.com/Grevix/berryn
- License: MIT © 2026 Berryn Core Engineering Team
