返回首页
最新
功能齐全的 React-Native 和 Flutter 插件,允许您执行 FFmpeg、FFprobe 和 FFplay 命令,而无需部署这些可执行文件。以原生性能水平获得 FFmpeg 的全部功能。支持 100 多个外部库,并提供预打包的预设分发,涵盖 24 个不同平台的二进制文件,包含多种功能,并支持自定义构建的部署。
核心功能:
- 跨平台支持:支持 Android、iOS、macOS、tvOS、Linux 和 Windows。
- Android:全面的视频播放支持,具有原生表面渲染。
- x86:由于其遗留状态,不支持 x86 架构。
- iOS 和 macOS:高性能视频播放,集成 CVPixelBuffer 和 Metal。
- iOS:支持物理设备和模拟器。由于其遗留状态,不支持 x86_64 架构。
- FFmpeg、FFprobe 和 FFplay:支持最新的 8.1.2 API,用于媒体处理、信息检索和音频/视频播放。
- 视频播放:完整的跨平台视频播放,统一的表面 API。
- 实时流媒体:用于实时播放监控的位置和视频维度流。
- 异步执行:运行长时间任务而不阻塞 UI 线程。
- 并行执行:并行运行多个任务。
- 回调支持:详细的日志、统计和会话完成钩子。
- 会话管理:全面控制执行生命周期(开始、取消、列出)。
- 可扩展:设计允许自定义原生库加载和配置。
- 完整的包内省 API:获取有关包的详细信息,包括版本、构建日期以及可用的复用器、解复用器、编码器、解码器、过滤器等。
- 部署自定义构建:您可以部署自定义的 ffmpeg-kit-extended 构建。请参见: [ffmpeg-kit-builders](https://github.com/akashskypatel/ffmpeg-kit-builders)
- 预构建分发:支持的预构建包类型包括调试、基础、完整、音频、视频和视频_hw。
- 支持的许可证:支持 GPL 和 LGPL 许可证。
平台支持:
- Android(及 Android TV) - Flutter 和 React-Native
- iOS(及模拟器) - Flutter 和 React-Native
- tvOS(及模拟器) - React-Native
- macOS - Flutter 和 React-Native
- Linux - Flutter
- Windows - Flutter 和 React-Native
目前 Flutter 不支持 tvOS,因此 Flutter 不提供 tvOS 支持。React-Native 目前不支持 Linux,因此 React-Native 不提供 Linux 支持。
演示: [演示链接](https://raw.githubusercontent.com/akashskypatel/ffmpeg-kit-extended/refs/heads/master/flutter/doc/demo.gif)
我创建Rudoc是因为我想要一个更小巧的工具来处理简单的文件转换工作流程。(Pandoc对我来说太庞大了)我曾经想尝试Pandoc,但在从GitHub下载后发现它大约有70MB,并且需要很多依赖项。
Rudoc并不是Pandoc的替代品,它支持的格式有限(仅支持txt、md、html、typ、docx、pdf、pptx、xml、json),并且不支持高级格式化。最常见的工作流程是将Markdown文件转换为HTML。PDF生成可以在没有Typst的情况下工作,但PDF输入转换需要Typst作为后端。顺便提一下,它没有其他运行时依赖项,可以作为一个单独的二进制文件运行。
使用起来非常简单,只需使用以下格式:
```
rudoc input.file output.file
```
一个示例用法如下:
```powershell
rudoc OhPDF_ROADMAP.md.txt r.md
[rudoc] OhPDF_ROADMAP.md.txt → r.md (txt→md)
[rudoc] done in 52ms (6286 bytes)
rudoc r.md r.html
[rudoc] r.md → r.html (md→html)
[rudoc] done in 4ms (7363 bytes)
```
一些复杂格式(例如pptx)仍然具有有限的兼容性。我计划添加标准错误消息和更好的格式兼容性。我很高兴看到对我项目的反馈或问题。
问答:
为什么不使用Pandoc?
Pandoc是一个很好的工具,但有时我们只需要一个方便的小工具来处理常见的转换任务。
它与docx/pptx的兼容性如何?
目前它支持基本的文本转换,我正在努力使其能够保持高级格式化。