首页/新闻资讯/正文详情

7个平台一套API:把视频转码搬进应用的FFmpeg-Kit

发布时间:2026/9/27 21:45:22 来源:云帆数科 栏目:资讯中心
7个平台一套API:把视频转码搬进应用的FFmpeg-Kit
7个平台一套API把视频转码搬进应用的FFmpeg-Kit【免费下载链接】ffmpeg-kitFFmpeg Kit for applications. Supports Android, Flutter, iOS, Linux, macOS, React Native and tvOS. Supersedes MobileFFmpeg, flutter_ffmpeg and react-native-ffmpeg.项目地址: https://gitcode.com/GitHub_Trending/ff/ffmpeg-kitFFmpeg-Kit是一个让FFmpeg命令直接在应用里跑起来的封装工具覆盖Android、iOS、Linux、macOS、tvOS、Flutter和React Native共7个平台。对做移动端和跨平台应用的开发者来说它替代了你手动交叉编译FFmpeg原生库这件事装一个依赖就能在应用内做转码、媒体探测和流传输。嵌入FFmpeg进应用的2个真实痛点痛点一你要在App里做视频压缩。Android上得用NDK交叉编译装20多个构建工具4个CPU架构各编一遍一次编译能卡掉一天。用了FFmpeg-Kit之后gradle里一行依赖.aar里是现成的.so文件。痛点二你在终端跑ffmpeg没问题但进了应用要拿返回码、日志和进度命令行输出是一整段文本只能自己正则解析。用了FFmpeg-Kit之后每次执行都会创建一个sessiongetReturnCode()、getLogs()、getStatistics()直接就有。3步跑通第一个转码任务第1步装依赖。以Android为例dependencies { implementation com.arthenica:ffmpeg-kit-full:6.0 }第2步选包。一共有8种包包名按内置的编码库来区分min最小只有FFmpeg自带编码器默认装的https包含gmp和gnutls能播https流full带上全部25个LGPL外部库。要H.264编码就选min-gpl及以上因为x264是GPL许可。第3步跑第一条命令。// 同步执行一次转码 FFmpegSession session FFmpegKit.execute( -i input.mp4 -c:v mpeg4 output.mp4); // 检查返回码 boolean ok ReturnCode.isSuccess(session.getReturnCode());你会看到什么目标路径下多出一个output.mp4session.getOutput()里有一行frame 123 fps28 q28.0 size ...返回码是success说明编码跑完了。能力拆解按你要做的事分同一套预编译二进制能装进各平台的工程里Xcode中的集成界面长这样FFmpeg-Kit二进制装进macOS工程后的结构同一套代码跨Apple各平台场景一压缩和转格式输入一个mp4输出体积更小的mp4。关键参数参数作用移动端建议值-c:v视频编码器libx264需gpl包-preset速度与压缩比fast-crf质量越小越好23-threads线程数2装哪个包决定了你能用哪些编码器对比项minmin-gplfull外部编码库无x264、x265、xvidcore、vid.stab全部25个LGPL库H.264编码不支持支持支持MP3/Opus编码不支持不支持支持许可证LGPL 3.0GPL 3.0LGPL 3.0Android端的封装库源码见android/ffmpeg-kit-android-lib/Linux端是C实现在linux/src/两边API一一对应写命令时不用记两套。FFmpeg-Kit静态库在Xcode项目中的配置界面内置完整音视频编解码器场景二获取媒体信息不用启动ffmpegFFprobeKit直接把媒体信息输出成JSONFFprobeSession probe FFprobeKit.execute(-i input.mp4); String json probe.getJsonOutput(); // 含流数量、编码、时长拿到的是一个JSON字符串几路流、编码名、时长、比特率都在里面做文件信息页面直接解析。场景三实时监控进度换异步执行传3个回调FFmpegSession session FFmpegKit.executeAsync( -i in.mp4 -c:v libx264 out.mp4, s - { /* 会话完成时触发 */ }, l - { /* 实时日志回调 */ }, st - { /* 实时进度回调 */ });最后一个回调能拿到已处理时长、当前帧数和比特率画进度条够用。踩坑4个我遇到过的问题遇到Could not find encoder for libmp3lame。不是ffmpeg没装是装的包里没带lame。换成含lame或shine的包full包直接可用。遇到Command failed with state COMPLETED and rc -1。别只盯着返回码先调session.getFailStackTrace()和session.getOutput()十有八九是输入路径不对或输出目录没有写权限。别把execute放主线程。同步调用会阻塞UI长任务一律用executeAsync在complete回调里更新界面。老设备跑不起来或没有硬件加速。LTS包支持Android API 16、iOS 10但不含VideoToolboxMain包API 24有硬件加速。要兼容旧设备就选LTS接受纯软件编码的速度只面向新设备选Main。注意一点许可证的事默认包都是LGPL 3.0用带-gpl后缀的包时整个bundle受GPL v3.0约束。商业应用优先用min或https包x264/x265涉及专利上线前建议过一遍法务。生态位现状与替代方案README里写得很直白FFmpegKit已官方停止维护历史版本和文档留在仓库里原作者在FFmpegKitNext继续开发只分发源码。想自己编二进制的构建脚本体系还在scripts/目录android.sh、ios.sh、linux.sh等5个脚本各管一个平台直接拷走就能用。FFmpegKitNext原作者的延续项目源码分发跟进更新的FFmpeg版本和平台支持。MobileFFmpeg / flutter_ffmpegFFmpeg-Kit替代掉的前辈项目Maven Central和pub.dev上仍有社区维护的版本可装。系统ffmpeg命令行没有会话和回调体系但也不用操心SDK版本做服务器侧批处理更省事。如果你是做移动端或跨平台应用、需要处理视频的人现在就可以装一个ffmpeg-kit包试试。它让应用自己会转码命令行留给工程师。【免费下载链接】ffmpeg-kitFFmpeg Kit for applications. Supports Android, Flutter, iOS, Linux, macOS, React Native and tvOS. Supersedes MobileFFmpeg, flutter_ffmpeg and react-native-ffmpeg.项目地址: https://gitcode.com/GitHub_Trending/ff/ffmpeg-kit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

QuickRecorder 完整使用指南:免费 macOS 录屏工具如何快速上手
QuickRecorder 完整使用指南:免费 macOS 录屏工具如何快速上手

QuickRecorder 完整使用指南:免费 macOS 录屏工具如何快速上手 【免费下载链接】QuickRecorder A lightweight screen recorder based on ScreenCapture Kit for macOS / 基于 ScreenCapture Kit 的轻量化多功能 macOS 录屏工具 项目地址: https://gitcode.com/Gi… · 2026/9/27 21:45:16

HFSS 2024R1 天线仿真入门全解析(1)
HFSS 2024R1 天线仿真入门全解析(1)

前言在无线通信、雷达、卫星导航等众多领域,天线作为电磁波收发的重要器件,其性能直接决定了整个系统的通信质量与覆盖能力。随着工作频段不断升高、天线结构日趋复杂,仅靠传统经验公式和手工调试已难以满足工程需求,电磁仿真软件… · 2026/9/27 21:45:16

【规范驱动开发】OpenSpec简介
【规范驱动开发】OpenSpec简介

SDD(Spec-Driven Development,规范驱动开发) 是一套研发思想:先定规范、再写代码。开发前把需求、接口、架构、校验规则写成结构化文档,以此约束人工与 AI 编码,避免理解偏差,所有变更可追溯、可… · 2026/9/27 21:45:16

Linux下 传输层协议UDP详解(含底层源码解析)
Linux下 传输层协议UDP详解(含底层源码解析)

欢迎来到我的频道!【点击跳转专栏】 本文所有代码已托管至码云:【点此转跳】 文章目录1. 传输层2. 再谈端⼝号2.1 端⼝号范围划分2.2 认识知名端⼝号2.3 两个问题3. UDP协议3.1 UDP协议端格式3.2 几个结论和问题(重点!封装和解包… · 2026/9/27 22:17:37

【简历】秋招准备
【简历】秋招准备

【简历编辑】 我的简历 - 管理你的所有简历 | 智简简历https://aijianli.cn/dashboard 【编译器项目】 【华为NPU理解】 cann-learning-hub:基于 CANN 生态的学习中心项目 - AtomGithttps://gitcode.com/cann/cann-learning-hubcann-learning-hub/quick_start/cann_basics/0… · 2026/9/27 22:17:37

Kiro教程(三)| Kiro 高级能力体系指南:Hooks、MCP、Steering、Specs 配置骨架与验证
Kiro教程(三)| Kiro 高级能力体系指南:Hooks、MCP、Steering、Specs 配置骨架与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:17:30

Openclaw源码深潜之七——源码全景架构图与TaoToken配置骨架
Openclaw源码深潜之七——源码全景架构图与TaoToken配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:17:30

Claude Code 实战 400 万 Tokens:用 TaoToken 统一 Key 接入 DeepSeek V4,从$26降到$2
Claude Code 实战 400 万 Tokens:用 TaoToken 统一 Key 接入 DeepSeek V4,从$26降到$2

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:17:30

理解机器学习的各种算法
理解机器学习的各种算法

所有算法回归和分类作为两种类型的算法,都出现回归(线性回归和逻辑回归)的算法,如何理解。线性回归和逻辑回归的区别线性回归:一个参数一个值(参数不断的变化,值不断的变化)。逻辑回… · 2026/9/27 22:17:30

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码