Prise en main
Copiez un prompt de configuration incluant les étapes d'installation et le guide markdown complet pour ce 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.
Installer
Section intitulée « Installation »Vous pouvez utiliser notre configuration assistée par IA pour installer le plugin. Ajoutez les skills Capgo à votre outil d'IA avec la commande suivante :
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsUtilisez ensuite le prompt suivant :
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-ffmpeg` plugin in my project.Si vous préférez une installation manuelle, installez le plugin en exécutant les commandes suivantes et suivez les instructions spécifiques à chaque plateforme ci-dessous :
npm install @capgo/capacitor-ffmpegnpx cap syncImporter
Section intitulée « Import »import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';Démarrage rapide
Section intitulée « Démarrage rapide »import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';
const result = await CapacitorFFmpeg.getCapabilities();console.log(result);Exemple : reencodeVideo
Section intitulée « Exemple : 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();Exemple : convertImage
Section intitulée « Exemple : 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);Erreurs courantes
Section intitulée « Erreurs courantes »- Écouteurs: supprimez les handles lors du démontage des écrans.
- Sync native : exécuter
npx cap syncaprès les mises à jour du plugin. - Source de vérité : fiez-vous
src/definitions.tsau repo GitHub.
Aperçu de API
Section intitulée « Aperçu API »getCapabilities
Section intitulée « getCapabilities »Renvoyez la matrice des capacités lisible par machine pour la plateforme actuelle.
import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';
const result = await CapacitorFFmpeg.getCapabilities();console.log(result);reencodeVideo
Section intitulée « reencodeVideo »Mettre en file d'attente un job de réencodage vidéo.
Sur iOS, la promesse renvoyée se résout lorsque la couche native accepte le job.
Le succès ou l'échec final est transmis via le progress listener.
Android et le web rejettent actuellement avec 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
Section intitulée « convertImage »Convertir une image statique dans un autre format.
iOS prend actuellement en charge jpeg et .png.
Android prend actuellement en charge .webp, jpeg, et .png.
Le web rejette actuellement avec 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
Section intitulée « convertAudio »Convertir l’audio vers un autre conteneur ou codec.
iOS prend actuellement en charge m4a.
Android et le web rejettent actuellement avec 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);Référence de type
Section intitulée « Référence de type »FFmpegCapabilitiesResult
Section intitulée « FFmpegCapabilitiesResult »export interface FFmpegCapabilitiesResult { platform: string; features: FFmpegCapabilitiesFeatures;}ReencodeVideoOptions
Section intitulée « ReencodeVideoOptions »export interface ReencodeVideoOptions { inputPath: string; outputPath: string; width: number; height: number; bitrate?: number;}FFmpegAcceptedJob
Section intitulée « FFmpegAcceptedJob »export interface FFmpegAcceptedJob { jobId: string; status: 'queued';}ConvertImageOptions
Section intitulée « 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
Section intitulée « ConvertImageResult »export interface ConvertImageResult { outputPath: string; format: ImageOutputFormat;}ConvertAudioOptions
Section intitulée « ConvertAudioOptions »export interface ConvertAudioOptions { inputPath: string; outputPath: string; format: AudioOutputFormat;}ConvertAudioResult
Section intitulée « ConvertAudioResult »export interface ConvertAudioResult { outputPath: string; format: AudioOutputFormat;}FFmpegProgressEvent
Section intitulée « 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
Section intitulée « PluginVersionResult »export interface PluginVersionResult { version: string;}FFmpegCapabilitiesFeatures
Section intitulée « 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
Section intitulée « ImageOutputFormat »export type ImageOutputFormat = '.webp' | 'jpeg' | '.png';AudioOutputFormat
Section intitulée « AudioOutputFormat »export type AudioOutputFormat = 'm4a';Source de vérité
Section intitulée « Source de vérité »Cette page est générée à partir de src/definitions.ts. Relancez la synchronisation lorsque l’API public change en amont.
Continuer depuis Getting Started
Section intitulée « Continuer après Prise en main »Si vous utilisez Prise en main pour planifier les opérations du dashboard et de API, connectez-l’avec Utiliser @capgo/capacitor-ffmpeg pour la fonctionnalité native dans Utilisation de @capgo/capacitor-ffmpeg, Aperçu de API pour les détails d'implémentation dans « Vue d'ensemble de API », Introduction pour les détails d'implémentation dans l'introduction, Clés API pour les détails d'implémentation dans « Clés API », et Appareils pour les détails d'implémentation dans Devices.