【鸿蒙优选三方库】@ohos/ffmpeg-kit:把 FFmpeg 的全部能量带进 HarmonyOS

react native ffmpeg 视频处理 1 FFmpegKit说明 https://github.com/tanersener/ffmpeg-kit 构建 FFmpeg 库的脚本 FFmpegKit在应用程序中运行FFmpeg/FFprobe命令的包装库 支持安卓、iOS、macOS 和 tvOS 基于v4.4-dev带有可选系统和外部库的FFmpeg Github、Maven Central和CocoaPods 上提供了 8 个预构建的二进制包。 根据 许可LGPL 3.0,或者GPL v3.0如果启用了 GPL 许可的库 2 Androi 阅读详情

【鸿蒙优选三方库】@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 Native(flutter/、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. 安装

ohpm install @ohos/ffmpeg-kit

依赖项会自动安装:

  • libffmpegkit_napi.so(native 库)
  • @ohos/aki(JS↔C++ 互调框架)

2. 执行一条 FFmpeg 命令

import { FFmpegKit, FFmpegSession, ReturnCode } from '@ohos/ffmpeg-kit'

// 异步执行 FFmpeg 命令
const session: FFmpegSession = FFmpegKit.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('转码成功')
  } else if (ReturnCode.isCancel(stats.getReturnCode())) {
    console.info('转码被取消')
  } else {
    console.error('转码失败: ' + stats.getFailStackTrace())
  }
})

3. 用 FFprobe 探测媒体信息

import { FFprobeKit } from '@ohos/ffmpeg-kit'

FFprobeKit.getMediaInformation('/data/storage/el2/base/video.mp4')
  .then((session) => {
    const info = session.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 等平台的桥接代码。

六、为什么值得选它?

  1. 能力天花板:FFmpeg 几乎能干任何音视频活,库等于给你一座矿山。
  2. 省掉踩坑:编译 FFmpeg、解决依赖、写 NAPI 这些"硬骨头"已被踩平。
  3. ArkTS 友好:Promise + 回调,贴合鸿蒙开发习惯。
  4. 社区接力:上游虽然停止维护,但本仓库持续在 OHOS 社区演进。
  5. 多端复用:一套脚本体系横跨 OHOS / Flutter / RN,工程资产不浪费。

如果你做的应用需要"处理音视频",而不是"播放音视频"(播放请看 @ohos/ijkplayer),@ohos/ffmpeg-kit 几乎是 OpenHarmony 上的不二之选。

SQL中的时间计算:员工每日工作时长 摘要:本文介绍了一个使用SQL查询计算员工每日工作时长的实用方法。通过分析包含员工打卡记录的数据库表,利用CTE(公共表表达式)将日期分组,计算最早和最晚打卡时间差,最终以"小时:分钟"格式输出工作时长。该方法适用于每日两次打卡的场景,并提示了处理漏打卡等特殊情况时的注意事项,为企业考勤管理提供了有效的数据支持方案。(148字) 阅读详情

相关推荐

零基础玩转华为AP 4050DN-HD:FAT模式家庭无线网络配置实战

本文为零基础用户提供华为AP 4050DN-HD从FIT模式转换为FAT模式的完整实战教程。详细介绍了固件升级、模式转换以及配置家庭无线网络(包括路由、DHCP、Wi-Fi和NAT)的每一步操作,帮助用户将企业级瘦AP改造为高性能家庭胖AP,打造稳定可靠的家庭网络环境。

weixin_29196613的博客 621

在鸿蒙上使用 ohos_ffmpeg_kit Flutter 插件

ohos_ffmpeg_kit是一个专为鸿蒙优化的Flutter音视频处理插件,基于FFmpeg 6.0提供完整的多媒体处理功能。该插件支持Android、iOS和macOS平台,包含丰富的编解码库(如x264、lame等),并提供8种预构建包变体(min/full/audio/video等)满足不同需求。开发者可通过Git方式引入插件,使用简洁API执行FFmpeg/FFprobe命令,实现视频转码、裁剪、音频提取等操作。插件提供同步/异步执行模式,支持全局回调监听,同时包含简化API快速获取媒体信息。

echohelloworld11的博客 947

信贷审批中的那些坑:从零开始搭建风控策略体系的5个关键步骤

本文深入探讨了信贷审批中的风控策略体系搭建,从数据陷阱识别、规则冲突诊断到反欺诈攻防,提供了5个关键步骤的实战指南。重点解析了如何通过特征工程、决策树优化和模型可解释性技术,构建动态平衡的风控体系,有效降低逾期风险并提升审批效率。

weixin_29253711的博客 406

HarmonyOS APP开发---“铃声工坊“音频剪辑App,需要用到这个库

ss -t。

OH_TPC的博客 280

KNX智能家居工程设计应用

KNX,是一个起源于欧洲的总线标准,主要应用于家居和楼宇中,对末端电气设备进行总线式的控制,比如照明、空调、地暖、电动窗帘和遮阳设备等等。根据2017年英国著名咨询公司BSRIA的数据报告显示,在中国的智能家居和灯光控制市场,KNX产品的市场份额为各类产品中排名第一,占据了42%的市场份额,远远领先于其他的标准协议。设备中一个继电器表示一路输出,某些功能可能需要用到多个输出,比如1个窗帘AC输出需要占用两路继电器输出,一个继电器用于控制正转,一个用于控制反转,而普通开关输出则需要占用一路继电器输出即可。

hhhh5555666的博客 928

智慧工地算法视频分析服务器区域入侵检测AI视频分析技术在煤矿的实战应用

通过实时分析和处理井下视频资料,智慧矿山算法视频分析服务器不仅能够及时发现并预警人员违规行为和设备异常状况,还能够通过智能分析预防潜在的安全风险,从而显著提高煤矿的安全管理水平和生产效率。

EasyDarwin开源社区技术博客 554

FFmpeg Kit全平台构建指南:从环境准备到性能优化

### 1.1 系统环境检查与基础依赖安装 在开始构建FFmpeg Kit之前,我们需要确保系统具备必要的工具链。对于不同的操作系统,所需的依赖包有所不同: ```bash # Ubuntu/Debian系统 sudo apt-get update sudo apt-get install -y autoconf automake libtool pkg-config curl git dox

gitblog_00317的博客 731

Antlr4入门(二)基本概念解析

在上一章中(Antlr4入门(一)IDEA中Antlr的安装与使用),我们安装了Antlr,并编写运行了第一个程序“Hello world”。而在本章中,我们将学习语言类应用程序相关的重要过程、术语和数据结构。 一. 术语 语言(language)是由一系列有意义的语句组成,语句(sentence)由词组组成,词组(phrase)是由更小的子词组(subphrase)和词汇符号(vocabulary symbols)组成。 举个例子,英语就是一种语言,“Keep on going never gi.

qq_37771475的博客 5203

鸿蒙HarmonyOS NEXT十大开源项目

【OH哔哩】是一款基于OpenHarmony系统ArkUI框架开发的哔哩哔哩动画第三方客户端。

欢迎加入Android老司机学院 482266514(技术交流群)密码CSDN 2万+

WinInet 编程:MFC 中的互联网编程

WinInet 是一套 Windows API(应用程序编程接口),用于实现互联网应用程序的网络通信和数据传输。WinInet 抽象了底层网络协议和硬件细节,为程序员提供了一套统一的接口,简化了互联网应用程序的开发过程。WinInet 广泛应用于各种 Windows 应用程序中,包括网页浏览器、下载管理器、网络游戏等。MFC WinInet 是一套强大的类库,为 MFC 程序员提供了在 Windows 平台上实现互联网通信和数据传输的工具。

JAZJD的博客 1627

控制科学与工程(自动化)保研经验【4】——浙大篇

控制科学与工程(自动化)保研经验【4】——浙大篇

Control Everything 1万+

【鸿蒙优选三方库】@ohos/ffmpeg-kit:把 FFmpeg 的全部能量带进鸿蒙

FFmpeg 是音视频领域的瑞士军刀,但要在鸿蒙里用它,得自己编译源码、写 NAPI 桥接、处理异步回调。把这些活全干了——。📦。

OH_TPC的博客 253

YOLOv8改进 | 主干网络 | 将主干网络替换为轻量化的ShuffleNetv2【原理 + 完整代码】

yolov8,yolov8创新,yolov8改进

kay_545 2550

鸿蒙开发语言选择指南:ArkTS、Java与C++的应用场景解析

在移动应用开发领域,编程语言的选择直接影响开发效率、应用性能和生态适配。从技术原理看,不同语言在类型系统、运行时机制和内存管理上各有特点,这决定了它们在不同场景下的技术价值。TypeScript以其静态类型检查提升了代码可靠性,而Java凭借成熟的虚拟机生态在系统服务层保持优势,C/C++则在驱动开发和性能敏感场景中不可替代。在鸿蒙应用开发中,ArkTS作为TypeScript的超集,深度融合了声明式UI范式,为现代化应用开发提供了高效解决方案;Java主要服务于存量Android应用迁移和系统级开发;C/

weixin_30700977的博客 377

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

开源鸿蒙平台 CMP 三方库「krumb」适配全流程

本文记录 krumb 在 OpenHarmony 平台的完整适配过程:在不修改 commonMain 代码、零 expect/actual、无新增源文件的前提下,将 Kotlin Multiplatform 通知引擎原样编译为 ohosArm64/x64 KLIB,通过 9 个 C ABI 接口与 ArkTS 桥接,实现优先级队列、Promise 模式、手势控制等全功能真机演示。

2501_94812263的博客 213

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【化学实验室|19】HarmonyOS ArkTS 回归测试实战:覆盖启动、空数据、异常输入和重复点击

一个 HarmonyOS 工程里出现 src/test 、 ohosTest 和 Hypium 依赖,不代表核心功能已经受到测试保护。真正有效的回归用例必须能在需求变更后回答:冷启动是否恢复本地数据,空列表是否给出可理解反馈,未选择答案能否提交,连续点击会不会重复记分,参数运行期间是否还能被修改,收藏按钮是否误触整行导航。 本文基于 化学实验室 1.0.5 的真实 ArkTS 源码展开。工程已经依赖 @ohos/hypium 1.0.2

2401_84996024的博客 241

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【鸿蒙优选三方库】@ohos/grpc:像调本地方法一样调远程服务

OH_TPC的博客 191

HarmonyOS 个推集成指南,新手教程

本文档介绍鸿蒙系统下个推推送SDK(GTSDK 1.0.9及以上)的集成与配置流程,涵盖自动/本地集成方式、权限及参数配置、SDK初始化、推送事件回调、通知点击与透传消息回执上报等关键步骤,并强调合规性要求。通过在EntryAbility中初始化SDK并配置module.json5文件,结合DevEco Studio 5.0.3.800以上版本及useNormalizedOHMUrl配置,完成推送功能验证。最终通过日志确认初始化成功并测试推送消息接收,实现完整推送链路。

小川搞开发的博客 431

端侧高斯泼溅(3DGS)渲染与性能调优初探:把“实景重建“跑在手机上【鸿蒙心迹】

端侧3D Gaussian Splatting受算力、带宽、显存、功耗制约,本文梳理渲染链路与核心机制,提供native渲染骨架代码,并总结5条调优实战策略:控量裁剪、分块LOD、半精度存储、异步加载、温控降帧,结合超分联动省带宽。强调“先稳帧率,再提画质”,助力鸿蒙空间计算中3DGS高效落地。

wdracky的专栏 184

开源鸿蒙平台 CMP 三方库「scroll-effects」适配全流程

本文完整记录 scroll-effect-lazy 库在 OpenHarmony 平台的适配过程,实现纯 Compose 物理内核(速度归一、弹性滞后、回弹弹簧)100% 逐字复用,并通过 Kotlin/Native 编译为 ohosArm64/ohosX64 动态库,经 C ABI/N-API 桥接驱动 ArkUI 列表逐帧平移。项目采用 cmp_qrose 构建模式,隔离 Android 工具链,零引入第三方依赖,真实验证物理计算在鸿蒙真机上的编译、链接与执行,实现“弹性滚动”手感的跨平台一致性。

2501_94452159的博客 239

DSH Desktop - HarmonyOS Edition

官方 DeepSeek Harness(dsh)的 Web UI,**原样未改**,运行在鸿蒙 2in1 / 平板上的**系统 ArkWeb** 里;而 dsh Host 跑在**同一进程内嵌的真实 Node.js 运行时**上。没有 Electron、不自带浏览器内核、不重写 ArkUI。

382

B站音乐播放器:鸿蒙与全平台可用的开源方案

B站上翻唱、现场、冷门老歌的资源量很大,但拿视频软件听歌确实别扭。目前有几个开源项目专门解决这个问题,把B站内容整理成适合听歌的界面。其中近期有了可用的方案,Windows和macOS也有对应版本。

apple_69265885的博客 331

【HarmonyOS 7 小艺智能体实战】01:先把路看清——小艺智能体开放平台到底是个什么生态

本文揭示了在小艺上开发智能体的本质:从“人找服务”转向“服务找人”的全新范式。作者通过亲身经历反思传统App思维的局限,指出智能体并非独立应用,而是可被意图触发的“能力节点”。文章厘清了App、元服务、智能体与Skill四者关系,详解“意图即服务”逻辑及小艺四大入口、六种唤醒方式带来的分发优势,并以超2000个智能体、日均30亿次唤醒等数据佐证生态成熟度。最后预告系列教程将手把手带读者完成从开发到上架的全流程,核心在于重构产品思维——不是写代码,而是设计被系统主动调用的能力。

威哥爱编程,华为 HDE,鸿蒙极客、CSDN博客专家、《鸿蒙 HarmonyOS 5/6 开发之路》系列图书第一作者 335

芯稿 MarkDeck:在 HarmonyOS PC 上用 Markdown 生成可编辑 PPT

芯稿(MarkDeck)是一款专为 HarmonyOS PC/2in1 设计的离线 Markdown 演示工具,支持本地 .md 文件分页编辑、实时预览与可编辑 .pptx 导出。基于 ArkUI 与 Marked 引擎,实现纯本地解析、图片处理与 OOXML 生成,不依赖网络或云服务。通过 --- 分页、front matter 配置主题与布局,支持代码块、表格、备注及相对路径资源引用,导出文件可在 WPS、PowerPoint 中继续编辑。主打高效、安全、可移植,适用于技术分享与课程讲义场景。

欢迎大家一起讨论交流 329

纯血鸿蒙垂类工具两件套实测:零权限本地输入法与周易学习起卦应用

和。一个解决最基础也最敏感的输入问题,一个满足小众但持续的传统文化学习需求。两款看似完全不同,但核心卖点依然一致——。

redtank2000的博客 615

01|鸿蒙7·端侧AI实战:意图识别,先路由,再执行

本文集包含20篇独立短篇教程,对应封面编号01—20。前10篇讨论鸿蒙应用中的端侧AI应用层架构,不将通用架构包装成鸿蒙7独有API。模型加载、推理与分词需接入实际支持的框架。所有示例均为核心代码片段,本轮未进行编译或真机验证。封面为AI生成概念插画,界面和小字不作为官方功能、事实或API依据。给鸿蒙应用加一个AI入口,最容易想到的方式,是放一个输入框,再把用户的问题交给模型。演示时很顺利。用户说“整理一下会议内容”,模型立即输出一段摘要。

全沾软贱开发攻城狮 643
上一篇: 【鸿蒙优选三方库】@ohos/dataorm:让 HarmonyOS 的数据库操作告别手写 SQL
下一篇: 【鸿蒙优选三方库】@ohos/grpc:在 HarmonyOS 上像调本地方法一样调远程服务
OH_TPC
博客等级 码龄1年 1粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值