Panduan Memulai
Copy prompt setup berisi langkah install dan panduan markdown lengkap untuk plugin ini.
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.
Anda bisa menggunakan AI-Assisted Setup untuk menginstal plugin ini. Tambahkan skill Capgo ke tool AI Anda menggunakan perintah berikut:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLalu gunakan prompt berikut:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-ffmpeg` plugin in my project.Jika Anda lebih suka Manual Setup, instal plugin dengan menjalankan perintah berikut dan ikuti instruksi khusus platform di bawah ini:
npm install @capgo/capacitor-ffmpegnpx cap syncimport { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';Mulai cepat
Bagian berjudul “Mulai cepat”import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';
const result = await CapacitorFFmpeg.getCapabilities();console.log(result);Contoh: reencodeVideo
Bagian berjudul “Contoh: 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();Contoh: convertImage
Bagian berjudul “Contoh: 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);Masalah umum
Bagian berjudul “Kesalahan umum”- Listeners: hapus handle saat screen unmount.
- Sinkronisasi native: jalankan
npx cap syncsetelah upgrade plugin. - Sumber kebenaran: percaya
src/definitions.tspada repo GitHub.
Ikhtisar API
Bagian berjudul “Ikhtisar API”getCapabilities
Bagian berjudul “getCapabilities”Mengembalikan matriks kapabilitas yang dapat dibaca mesin untuk platform saat ini.
import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';
const result = await CapacitorFFmpeg.getCapabilities();console.log(result);reencodeVideo
Bagian berjudul “reencodeVideo”Antrekan job re-encode video.
Di iOS, promise yang dikembalikan akan resolve saat native layer menerima job tersebut.
Status sukses atau gagal akhirnya dikirim melalui progress listener.
Android dan web saat ini akan reject dengan 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
Bagian berjudul “convertImage”Konversi gambar diam ke format lain.
iOS saat ini mendukung jpeg dan .png.
Android saat ini mendukung .webp, jpeg, dan .png.
Web saat ini menolak dengan 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
Bagian berjudul “convertAudio”Konversi audio ke container atau codec lain.
iOS saat ini mendukung m4a.
Android dan web saat ini menolak dengan 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);Referensi Tipe
Bagian berjudul “Type Reference”FFmpegCapabilitiesResult
Bagian berjudul “FFmpegCapabilitiesResult”export interface FFmpegCapabilitiesResult { platform: string; features: FFmpegCapabilitiesFeatures;}ReencodeVideoOptions
Bagian berjudul “ReencodeVideoOptions”export interface ReencodeVideoOptions { inputPath: string; outputPath: string; width: number; height: number; bitrate?: number;}FFmpegAcceptedJob
Bagian berjudul “FFmpegAcceptedJob”export interface FFmpegAcceptedJob { jobId: string; status: 'queued';}ConvertImageOptions
Bagian berjudul “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
Bagian berjudul “ConvertImageResult”export interface ConvertImageResult { outputPath: string; format: ImageOutputFormat;}ConvertAudioOptions
Bagian berjudul “ConvertAudioOptions”export interface ConvertAudioOptions { inputPath: string; outputPath: string; format: AudioOutputFormat;}ConvertAudioResult
Bagian berjudul “ConvertAudioResult”export interface ConvertAudioResult { outputPath: string; format: AudioOutputFormat;}FFmpegProgressEvent
Bagian berjudul “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
Bagian berjudul “PluginVersionResult”export interface PluginVersionResult { version: string;}FFmpegCapabilitiesFeatures
Bagian berjudul “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
Bagian berjudul “ImageOutputFormat”export type ImageOutputFormat = '.webp' | 'jpeg' | '.png';AudioOutputFormat
Bagian berjudul “AudioOutputFormat”export type AudioOutputFormat = 'm4a';Sumber Kebenaran
Bagian berjudul “Sumber Kebenaran”Halaman ini dibuat dari plugin src/definitions.ts. Jalankan ulang sync saat API publik berubah di upstream.
Lanjutkan dari Getting Started
Bagian berjudul “Lanjutkan dari Getting Started”Jika Anda menggunakan Panduan Memulai untuk merencanakan operasi dashboard dan API, hubungkan dengan Menggunakan @capgo/capacitor-ffmpeg untuk kapabilitas native di Menggunakan @capgo/capacitor-ffmpeg, Ikhtisar API untuk detail implementasi di Ringkasan API, Pendahuluan untuk detail implementasi di Pendahuluan, Kunci API untuk detail implementasi di API Keys, dan Perangkat untuk detail implementasi di Perangkat.