メインコンテンツにジャンプ

はじめに

インストール

インストール
ターミナル画面
bun add @capgo/capacitor-ffmpeg
bunx cap sync

インポート

インポート
import { CapacitorFFmpeg } from '@capgo/capacitor-ffmpeg';

API オーバービュー

API オーバービュー

getCapabilities

getCapabilities

現在のプラットフォームのマシン読み取り可能な能力マトリックスを返します。

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

動画再エンコードジョブをキューに追加します。

iOSでは、ネイティブレイヤーがジョブを受け入れると、返されたPromiseが解決されます。 最終的な成功または失敗はリスナーを介して通知されます。 progress リスナー

AndroidとWebでは UNIMPLEMENTED.

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

iOSでは

jpeg Androidでは .png, .webp, jpegCopy to clipboard .png. 現在のWebブラウザでは拒否されます UNIMPLEMENTED.

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

音声ファイルを別のコンテナまたはエンコードに変換します。

iOSでは現在サポートされていますが m4a. AndroidとWebでは拒否されます 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;
}
export interface FFmpegAcceptedJob {
jobId: string;
status: 'queued';
}
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;
}
export interface ConvertImageResult {
outputPath: string;
format: ImageOutputFormat;
}
export interface ConvertAudioOptions {
inputPath: string;
outputPath: string;
format: AudioOutputFormat;
}
export interface ConvertAudioResult {
outputPath: string;
format: AudioOutputFormat;
}
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;
}
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;
}
export type ImageOutputFormat = '.webp' | 'jpeg' | '.png';
export type AudioOutputFormat = 'm4a';

このページはプラグインから生成されます src/definitions.ts. upstream の 公開 API が変更されたときに、再度 同期を実行してください。