
【鸿蒙优选三方库】ohos/ffmpeg-kit把 FFmpeg 的全部能量带进 HarmonyOS想在鸿蒙应用里直接调用 FFmpeg 处理音视频ohos/ffmpeg-kit是 FFmpegKit 在 OpenHarmony 上的官方移植——一套脚本、一套原生库、一套 ArkTS 封装让你在 HarmonyOS 上像在 Android/iOS 一样运行 FFmpeg/FFprobe 命令。包名ohos/ffmpeg-kit当前版本v1.0.1协议MIT安装ohpm install ohos/ffmpeg-kit仓库https://gitcode.com/CPF-ApplicationTPC/ohos_ffmpeg_kit一、它解决了什么问题FFmpeg 是音视频领域的瑞士军刀——转码、剪辑、拼接、滤镜、流媒体推拉几乎无所不能。但要在 HarmonyOS 应用里使用 FFmpeg传统路径是自己编译 FFmpeg 源码 → 写 NAPI 桥接 → 处理异步回调与日志 → 还要考虑 license 与依赖……ohos/ffmpeg-kit继承自业界知名的 FFmpegKit 跨平台项目曾支持 Android/iOS/macOS/Linux/tvOS/Flutter/RN把整套工程实践与脚本完整带到了 OHOS让你 5 分钟接入 FFmpeg 能力。小贴士上游 FFmpegKit 已于 2025 年正式宣告停止维护 6.0 版本二进制已于 2025-02-01 下线6.0 版本于 2025-04-01 下线。本仓库是 OpenHarmony 社区在 FFmpegKit 基础上的延续专门为 HarmonyOS 生态服务。二、核心特点特性说明基于 FFmpeg v4.5-dev可选系统库与外部库支持FFmpeg FFprobe完整命令执行能力ArkTS NAPI 封装异步执行、日志回调、返回码捕获多架构构建脚本沿用上游buildEnv.sh、android.sh等工程脚本Flutter / RN 复用同源支持 Flutter、React Nativeflutter/、react-native/目录集成 AKI 桥接底层依赖ohos/aki提供高效的 JS↔Native 互调完整 native 库libffmpegkit_napi.so一并交付免编译即可用三、适用场景音视频转码把一种格式/编码转成另一种如 mp4 → wav、H.264 → H.265。视频剪辑与拼接客户端纯本地完成无需上传服务端。直播推流 / 拉流使用 FFmpeg 拉 RTMP/HLS/HTTP-FLV 流并解码。音视频元信息解析通过 FFprobe 拿到时长、码率、编码格式等。滤镜与特效加水印、缩放、调色、混音等。教育/工具类 App在线转码器、格式转换工具、音频编辑器。Flutter / RN 应用如果你是 Flutter 或 React Native 开发者本仓库也提供对应平台支持。四、快速上手1. 安装ohpminstallohos/ffmpeg-kit依赖项会自动安装libffmpegkit_napi.sonative 库ohos/akiJS↔C 互调框架2. 执行一条 FFmpeg 命令import{FFmpegKit,FFmpegSession,ReturnCode}fromohos/ffmpeg-kit// 异步执行 FFmpeg 命令constsession:FFmpegSessionFFmpegKit.execute(-i /data/storage/el2/base/input.mp4 -vn -acodec copy /data/storage/el2/base/output.aac)// 监听日志可选session.setLogCallback((log){console.info([FFmpeg]${log.getMessage()})})// 等待执行完成session.complete.then((stats){if(ReturnCode.isSuccess(stats.getReturnCode())){console.info(转码成功)}elseif(ReturnCode.isCancel(stats.getReturnCode())){console.info(转码被取消)}else{console.error(转码失败: stats.getFailStackTrace())}})3. 用 FFprobe 探测媒体信息import{FFprobeKit}fromohos/ffmpeg-kitFFprobeKit.getMediaInformation(/data/storage/el2/base/video.mp4).then((session){constinfosession.getMediaInformation()console.info(时长: info.getDuration() ms)console.info(码率: info.getBitrate())console.info(格式: info.getFormat())})五、亮点能力速览异步执行模型命令在后台跑结果通过 Promise 回调通知UI 永远不卡。完整日志通道FFmpeg 的全部 stderr/stdout 日志都能回调上来调试无忧。会话管理每个命令是一个FFmpegSession可取消、可查询状态。跨平台血统项目结构沿用上游 FFmpegKit熟悉上游的人零学习成本。多端统一除 OHOS 外仓库内同时维护 Flutter、React Native 等平台的桥接代码。六、为什么值得选它能力天花板FFmpeg 几乎能干任何音视频活库等于给你一座矿山。省掉踩坑编译 FFmpeg、解决依赖、写 NAPI 这些硬骨头已被踩平。ArkTS 友好Promise 回调贴合鸿蒙开发习惯。社区接力上游虽然停止维护但本仓库持续在 OHOS 社区演进。多端复用一套脚本体系横跨 OHOS / Flutter / RN工程资产不浪费。如果你做的应用需要处理音视频而不是播放音视频播放请看 ohos/ijkplayerohos/ffmpeg-kit几乎是 OpenHarmony 上的不二之选。