내용으로 건너뛰기

시작하기

설치

설치
터미널 창
bun add @capgo/capacitor-ffmpeg
bunx cap sync

수입

수입
import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';

API 개요

API 기능

복사']} //Note: The last item in the translations array is a direct translation of the source text. However, it might be more suitable to rephrase it to better fit the target language's cultural context. For example,

import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';
await CapacitorFFmpeg.getCapabilities();

비디오 재인코딩 작업을 큐에 넣습니다.

iOS에서, native layer가 작업을 수락할 때 promise가 해결됩니다. 최종 성공 또는 실패는 "listener"를 통해 전달됩니다. progress listener

Android와 웹에서는 현재 UNIMPLEMENTED.

import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';
await CapacitorFFmpeg.reencodeVideo({} as ReencodeVideoOptions);

이미지를 다른 형식으로 변환합니다.

iOS에서는 현재 jpeg.pngAndroid에서는 현재 .webp, jpeg, .png. 현재 웹은 거부합니다. UNIMPLEMENTED.

import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';
await CapacitorFFmpeg.convertImage({} as ConvertImageOptions);

다른 컨테이너 또는 코덱으로 오디오를 변환합니다.

iOS는 현재 지원합니다. m4a. Android와 웹은 현재 거부합니다. UNIMPLEMENTED.

import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';
await CapacitorFFmpeg.convertAudio({} as ConvertAudioOptions);
export interface FFmpegCapabilitiesResult {
platform: string;
features: FFmpegCapabilitiesFeatures;
}
export interface ReencodeVideoOptions {
inputPath: string;
outputPath: string;
width: number;
height: number;
bitrate?: number;
}

FFmpegAcceptedJob

FFmpegAcceptedJob 섹션
export interface FFmpegAcceptedJob {
jobId: string;
status: 'queued';
}

ConvertImageOptions

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

ConvertImageResult 섹션
export interface ConvertImageResult {
outputPath: string;
format: ImageOutputFormat;
}

ConvertAudioOptions

ConvertAudioOptions 섹션
export interface ConvertAudioOptions {
inputPath: string;
outputPath: string;
format: AudioOutputFormat;
}

ConvertAudioResult

ConvertAudioResult 섹션
export interface ConvertAudioResult {
outputPath: string;
format: AudioOutputFormat;
}

FFmpegProgressEvent

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

플러그인 버전 결과
export interface PluginVersionResult {
version: string;
}

FFmpegCapabilitiesFeatures

FFmpeg 기능
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

이미지 출력 형식
export type ImageOutputFormat = '.webp' | 'jpeg' | '.png';

AudioOutputFormat

오디오 출력 형식
export type AudioOutputFormat = 'm4a';

설정에서 생성됩니다. src/definitions.ts. upstream API이 변경될 때 다시 싱크를 실행하세요.