Guida rapida
Copia un prompt di setup con i passaggi di installazione e la guida markdown completa per questo plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-ffmpeg`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/ffmpeg/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Installazione
Sezione intitolata “Install”Puoi usare il nostro Setup assistito dall'AI per installare il plugin. Aggiungi le skill Capgo al tuo tool AI con il comando seguente:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsPoi usa questo prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-ffmpeg` plugin in my project.Se preferisci il Setup manuale, installa il plugin eseguendo i comandi seguenti e segui le istruzioni specifiche per piattaforma qui sotto:
npm install @capgo/capacitor-ffmpegnpx cap syncImporta
Sezione intitolata “Import”import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';Avvio rapido
Sezione intitolata “Avvio rapido”import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';
const result = await CapacitorFFmpeg.getCapabilities();console.log(result);Esempio: reencodeVideo
Sezione intitolata “Esempio: reencodeVideo”import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';
const progressListener = await CapacitorFFmpeg.addListener('progress', ({ progress }) => { console.log('Encode progress', progress);});
const job = await CapacitorFFmpeg.reencodeVideo({ inputPath: 'path/to/file', outputPath: 'path/to/file', width: 1080, height: 1920,});// Job acceptance only; wait for progress/completion listeners before using the output file.console.log(job);
await progressListener.remove();Esempio: convertImage
Sezione intitolata “Esempio: convertImage”import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';
const result = await CapacitorFFmpeg.convertImage({ inputPath: 'path/to/file', outputPath: 'path/to/file', format: 'jpeg',});console.log(result);Errori comuni
Sezione intitolata “Errori comuni”- Listener: rimuove gli handle quando gli schermi vengono smontati.
- Sync nativo: esegui
npx cap syncdopo gli aggiornamenti dei plugin. - Fonte di verità: fidati
src/definitions.tsnel repo GitHub.
API Panoramica
Sezione intitolata “Panoramica API”getCapabilities
Sezione intitolata “getCapabilities”Restituisce la matrice delle capacità leggibile dalla macchina per la piattaforma corrente.
import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';
const result = await CapacitorFFmpeg.getCapabilities();console.log(result);reencodeVideo
Sezione intitolata “reencodeVideo”Metti in coda un job di re-encoding video.
Su iOS, la promise restituita si risolve quando il layer nativo accetta il job.
Il successo o il fallimento finale vengono comunicati tramite il progress listener.
Android e web attualmente rifiutano con UNIMPLEMENTED.
import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';
const result = await CapacitorFFmpeg.reencodeVideo({ inputPath: 'path/to/file', outputPath: 'path/to/file', width: 1080, height: 1920,});console.log(result);convertImage
Sezione intitolata “convertImage”Converti un'immagine statica in un altro formato.
iOS attualmente supporta jpeg e .png.
Android attualmente supporta .webp, jpeg, e .png.
Web attualmente rifiuta con UNIMPLEMENTED.
import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';
const result = await CapacitorFFmpeg.convertImage({ inputPath: 'path/to/file', outputPath: 'path/to/file', format: 'webp',});console.log(result);convertAudio
Sezione intitolata “convertAudio”Converti l'audio in un altro container o codec.
iOS attualmente supporta m4a.
Android e web attualmente restituiscono errore: UNIMPLEMENTED.
import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';
const result = await CapacitorFFmpeg.convertAudio({ inputPath: 'path/to/file', outputPath: 'path/to/file', format: 'm4a',});console.log(result);Riferimento ai tipi
Sezione intitolata “Riferimento ai tipi”FFmpegCapabilitiesResult
Sezione intitolata “FFmpegCapabilitiesResult”export interface FFmpegCapabilitiesResult { platform: string; features: FFmpegCapabilitiesFeatures;}ReencodeVideoOptions
Sezione intitolata “ReencodeVideoOptions”export interface ReencodeVideoOptions { inputPath: string; outputPath: string; width: number; height: number; bitrate?: number;}FFmpegAcceptedJob
Sezione intitolata “FFmpegAcceptedJob”export interface FFmpegAcceptedJob { jobId: string; status: 'queued';}ConvertImageOptions
Sezione intitolata “ConvertImageOptions”export interface ConvertImageOptions { inputPath: string; outputPath: string; format: ImageOutputFormat; /** * Compression quality in the inclusive range `0.0..1.0`. * * Native platforms reject values outside that range. */ quality?: number;}ConvertImageResult
Sezione intitolata “ConvertImageResult”export interface ConvertImageResult { outputPath: string; format: ImageOutputFormat;}ConvertAudioOptions
Sezione intitolata “ConvertAudioOptions”export interface ConvertAudioOptions { inputPath: string; outputPath: string; format: AudioOutputFormat;}ConvertAudioResult
Sezione intitolata “ConvertAudioResult”export interface ConvertAudioResult { outputPath: string; format: AudioOutputFormat;}FFmpegProgressEvent
Sezione: “FFmpegProgressEvent”export interface FFmpegProgressEvent { jobId: string; /** * Normalized progress as a floating-point value in the inclusive range `0.0..1.0`. */ progress: number; state: FFmpegProgressState; message?: string; outputPath?: string; /** * Legacy alias kept for compatibility while callers migrate to `jobId`. */ fileId?: string;}PluginVersionResult
Sezione: “PluginVersionResult”export interface PluginVersionResult { version: string;}FFmpegCapabilitiesFeatures
Sezione: “FFmpegCapabilitiesFeatures”export interface FFmpegCapabilitiesFeatures { getPluginVersion: FFmpegCapability; getCapabilities: FFmpegCapability; reencodeVideo: FFmpegCapability; convertImage: FFmpegCapability; convertAudio?: FFmpegCapability; progressEvents: FFmpegCapability; probeMedia: FFmpegCapability; generateThumbnail: FFmpegCapability; extractAudio: FFmpegCapability; remux: FFmpegCapability; trim: FFmpegCapability;}ImageOutputFormat
Sezione: “ImageOutputFormat”export type ImageOutputFormat = '.webp' | 'jpeg' | '.png';AudioOutputFormat
Sezione: “AudioOutputFormat”export type AudioOutputFormat = 'm4a';Fonte di verità
Sezione intitolata “Source Of Truth”Questa pagina è generata dal src/definitions.ts. Riesegui la sync quando il API pubblico cambia upstream.
Continua da Getting Started
Sezione intitolata “Continua da Getting Started”Se stai usando Guida rapida per pianificare dashboard e operazioni API, collegalo a Utilizzo di @capgo/capacitor-ffmpeg per la funzionalità nativa in Utilizzo di @capgo/capacitor-ffmpeg, API Panoramica per i dettagli di implementazione in Panoramica di API, Introduzione per i dettagli implementativi nell'Introduzione, Chiavi API per i dettagli implementativi in API Keys, e Dispositivi per i dettagli implementativi in Dispositivi.