跳过主要内容

FFmpeg Capacitor插件

通过FFmpeg提供的视频编码和处理,用于压缩和转换

安装

bun add @capgo/capacitor-ffmpeg bunx cap sync
npm、pnpm或yarn
  • npm install @capgo/capacitor-ffmpeg
  • pnpm add @capgo/capacitor-ffmpeg
  • yarn add @capgo/capacitor-ffmpeg

指南

如何在 Capacitor 中使用 FFmpeg

使用 @capgo/capacitor-ffmpeg

暴露 FFmpeg API 到 Capacitor。

安装

bun add @capgo/capacitor-ffmpeg
bunx cap sync

bunx cap sync 复制插件的本机 code 到您的本机项目中。重新运行它后每次升级插件。

导入

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

API 一目了然

方法 描述
getCapabilities 返回当前平台的机器可读能力矩阵。
reencodeVideo 排队一个视频重编码任务。
convertImage 将静态图像转换为另一种格式。
convertAudio 将音频转换为另一种容器或编码器。

示例

getCapabilities()

获取当前平台的机器可读能力矩阵。

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

const result = await CapacitorFFmpeg.getCapabilities();
console.log(result);

reencodeVideo()

排队一个视频重编码任务。

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()

将静态图像转换为另一种格式。

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()

将音频转换为另一种容器或编码器。

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

const result = await CapacitorFFmpeg.convertAudio({
  inputPath: 'path/to/file',
  outputPath: 'path/to/file',
  format: 'm4a',
});
console.log(result);

监听事件

addListener 返回一个句柄。调用 handle.remove() 屏幕卸载时调用。

完整参考

继续使用 @capgo/capacitor-ffmpeg

如果您正在使用 使用@capgo/capacitor-ffmpeg 来规划仪表板和@API操作,连接它 @capgo/capacitor-ffmpeg 查看@capgo/capacitor-ffmpeg的实现细节 开始 查看开始的实现细节 @API概述 查看@API概述的实现细节 介绍 查看介绍的实现细节,并且 @API密钥 为 API 的实现细节提供详细信息。

FAQ

FFmpeg插件FAQ

如何在Capacitor应用中安装FFmpeg插件?

Run "bun add @capgo/capacitor-ffmpeg" (or "npm install @capgo/capacitor-ffmpeg"), then run "bunx cap sync" so the iOS and Android projects pick up the native code. Import it from "@capgo/capacitor-ffmpeg" in your app code.

是否支持@capgo/capacitor-ffmpeg?

是。FFmpeg 是一个 Capacitor 包,因此它与任何运行在 Capacitor 内部的 Web 框架都兼容,包括 Ionic、React、Vue、Angular、Svelte 和普通 JavaScript。

哪个 Capacitor 版本支持@capgo/capacitor-ffmpeg?

Capgo 插件遵循 Capacitor 的主要版本:使用与 Capacitor 主要版本匹配的插件主要版本(例如插件 v8 与 Capacitor 8)。在 GitHub README 中的兼容性表格中列出了维护的版本。

是否是@capgo/capacitor-ffmpeg免费和开源的?

是。源 code 公开在 GitHub 上,https://github.com/Cap-go/capacitor-ffmpeg/,并且该包可以从 npm 免费安装。欢迎 bug 报告和 pull 请求。

是否可以在不经过 App Store 审核的情况下更新使用 FFmpeg 的 code?

安装或升级插件会更改本地 code,因此需要一个新的商店构建。之后,JavaScript、HTML 和 CSS 的更改可以立即通过 Capgo 实时更新。

无需等待应用程序审查即可将FFmpeg更改推送到您的商店

一旦插件在您的商店构建中,Capgo实时更新将推送您的JavaScript、HTML和CSS更改给用户几分钟内。

开始使用Capgo