FfmpegKit:在 App Inventor 中使用 FFmpeg 的免费开源扩展
FfmpegKit 扩展为你的 MIT App Inventor 项目带来强大的媒体处理能力。它以易用为目标设计, 并集成了多种高级特性,让你可以轻松地在应用中使用 FFmpeg。
无论你想处理视频压缩、音频处理、媒体格式转换,还是使用高级 FFmpeg 命令,这个免费开源的扩展都能胜任。
最新版本:1
主要特性
- SAF Uri 转换:使用 SAF 路径轻松读写文件。
GetSafParameterForRead:把 SAF Uri 转换为可读取的路径。GetSafParameterForWrite:把 SAF Uri 转换为可写入的路径。GetSafParameter:使用自定义打开模式进行灵活转换。
- 媒体处理命令:
Execute:同步运行 FFmpeg 命令。ExecuteAsync:异步执行命令,并可监控进度。
- 原生库支持:
LoadLibraries:从素材、文件或网址加载 FFmpeg 原生库。
- FFmpeg 版本信息:通过
FFmpegVersion属性获取 FFmpeg 版本。 - 异步执行的事件处理:
GotNewLog:异步执行期间捕获日志。GotNewStatistics:提供正在进行的处理的实时统计信息。CommandSuccess、CommandFailed、CommandCancelled:命令状态更新。LibrariesLoaded:确认原生库加载成功。
- 完善的错误处理:出现问题时返回详细的错误信息。
代码块





方法
- GetSafParameterForRead 获取读取用SAF参数(safUri) {:.text}
- 把 SAF Uri 转换为可读取的路径。
- 返回值:文本类型,可读取的路径
- GetSafParameterForWrite 获取写入用SAF参数(safUri) {:.text}
- 把 SAF Uri 转换为可写入的路径。
- 返回值:文本类型,可写入的路径
- GetSafParameter 获取SAF参数(safUri,openMode) {:.text}
- 把 SAF Uri 转换为可读取或可写入的路径。
- 返回值:文本类型,转换后的路径
- LoadLibraries 加载原生库(zipPath)
- 从 zip 文件加载原生库。
- ExecuteMpeg 执行FFmpeg命令(command)
- 执行一条 FFmpeg 命令。
- ExecuteMpegAsync 异步执行FFmpeg命令(command)
- 异步执行一条 FFmpeg 命令。
- ExecuteProbe 执行FFprobe命令(command)
- 执行一条 FFprobe 命令。
- ExecuteProbeAsync 异步执行FFprobe命令(command)
- 异步执行一条 FFprobe 命令。
事件
- GotNewLog 收到新日志(sessionId,message)
- 异步执行期间产生新的日志条目时触发。
- GotNewStatistics 收到新统计信息(sessionId,statistics)
- 异步执行期间提供统计信息。
- CommandSuccess 命令执行成功(async,isProbe,isMediaInformation,output)
- 命令执行成功时触发。
- CommandCancelled 命令被取消(async,output)
- 命令被取消时触发。
- CommandFailed 命令执行失败(async,output)
- 命令执行失败时触发。
- ErrorOccurred 发生错误(errorMsg)
- 发生错误时触发。
- LibrariesLoaded 原生库加载完成()
- 原生库加载成功时触发。
属性
- FFmpegVersion FFmpeg版本
- 获取当前的 FFmpeg 版本。
- 返回值:文本类型,只读
使用示例
先从素材、文件路径或网址加载原生库,之后才能使用扩展的其它代码块。
原生库加载完成后,就可以同步或异步执行 mpeg 与 probe 命令了。
关于命令的更多内容,请参阅 ffmpeg 官方文档。
下载
aix 拓展 com.sunny.ffmpeg.aix
本扩展是开源的,可以在 GitHub 仓库查看源码或参与贡献: https://github.com/vknow360/FfmpegKit(该仓库同样提供 aix 文件)。
如果你觉得这个扩展有用并希望支持它的开发,可以考虑捐赠,这有助于作者继续制作免费开源的扩展:
- Buy me a coffee:https://buymeacoffee.com/vknow360
- UPI:vknow360@apl
重要声明
本扩展使用了 FFmpegKit,而 FFmpegKit 依照其自身的许可条款分发。在项目中使用本扩展时, 确保遵守 FFmpegKit 许可是使用者自己的责任。
如果你在私有项目中使用本扩展,无需担心许可问题;但用于公开或商业用途时, 请先查阅并遵守 FFmpeg 许可条款 与 FFmpegKit 许可条款。
标签:#FFmpeg #媒体处理 #Android #SAF #扩展
版权信息
- 原作者:Sunny Gupta(SunnyTheDeveloper / vknow360)
- 原始网址:https://sunnythedeveloper.in/ffmpegkit-free-and-open-source-extension-for-using-ffmpeg
- 源码仓库:https://github.com/vknow360/FfmpegKit
- 扩展版本:1
本文档为原文的中文翻译整理,版权归原作者所有。
扫码添加客服咨询