JeffMony开源的VideoDownloader,Android平台视频下载SDK

文章目录

JeffMony开源的VideoDownloader,Android平台视频下载SDK

JeffMony/VideoDownloader是一个Android平台的视频下载SDK,目前GitHub Star数为509。这一工具针对Android开发者的视频下载需求设计,提供完整的视频下载、管理、合并能力。

核心功能覆盖常见视频下载场景

VideoDownloader支持的视频类型包括mp4、mkv、mov、3gp等整视频格式,以及HLS M3U8格式视频。M3U8视频下载完成后,会生成本地的local.m3u8文件,用户可直接点击播放下载完成的视频文件。

工具内置数据库记录视频下载信息,支持视频下载队列,可同时处理多个下载任务。针对M3U8格式,提供合并为MP4的功能,用户可定制下载视频的标题和封面,还支持为视频下载任务设置group-name进行分组管理。

接入方式简单直接

开发者可通过Gradle引入这一SDK。首先在项目根目录的build.gradle中添加JitPack仓库地址,之后在模块的dependencies中引入对应版本的依赖即可。当前最新版本为5.8.0。

如果需要使用M3U8合并为MP4的功能,可额外引入对应的依赖包。官方提供两种合并库选择,用户可根据包体积需求选择完整FFmpeg库或裁剪后的轻量M3U8处理库。

使用流程清晰

SDK接入分为几个固定步骤。应用启动时,首先注册download config,设置缓存目录、超时时间、并发下载数、是否自动合并M3U8等参数。之后注册全局download listener,监听下载任务的各个状态回调,包括准备、开始、进度更新、暂停、错误、成功等状态。

开发者可通过接口获取当前所有下载任务,调用对应的方法执行启动下载、暂停下载、恢复下载、删除下载任务、批量暂停等操作。M3U8合并功能也提供独立接口,用户传入输入文件路径和输出路径即可触发合并,合并结果通过回调返回。

SDK的VideoTaskItem类封装了下载任务的所有信息,包括下载地址、创建时间、任务状态、下载进度、下载速度、文件大小、保存路径等。VideoTaskState类定义了所有可能的任务状态,开发者可直接使用这些常量判断任务当前状态。

版本迭代稳定

目前SDK已经迭代到5.8.0版本,近期更新内容包括修复下载成功回调多次的问题,解决FFmpeg合并时出现的pts异常问题。之前的版本迭代中,还完成了FFmpeg库裁剪,将体积从10M降至1M,优化了TS合并逻辑,提供四种架构的so库支持,满足不同设备的适配需求。

这一SDK适合需要在Android应用中集成视频下载功能的开发者使用,代码开源在GitHub,开发者可根据需求自行修改扩展。

在GitHub,开发者可根据需求自行修改扩展。

相关推荐
91刘仁德5 小时前
MYSQL 事务原理及使用
android·mysql·adb
不cong明的亚子6 小时前
web live多屏互动平台
javascript·经验分享·音视频
ACP广源盛139246256737 小时前
M6/M5 Pro Mac mini 端侧 AI 新形态@ACP#GSV5800 Serdes 长距离视频传输在 AI 服务中的机会与落地场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos·音视频
一笑的小酒馆7 小时前
AndroidKMP之瀑布流实现
android
RainyJiang7 小时前
AI时代下,Android的边界正在消失
android·openai·ai编程
冬奇Lab7 小时前
一天一个开源项目(第210篇):herdr - AI 编程 Agent 的运行时底座
人工智能·开源·资讯
Android-Flutter8 小时前
android 内存抖动详解
android
a1117768 小时前
Shirone 二次元博客主题 开源
前端·开源
方白羽9 小时前
为什么 Android 非要用 Intent 传值?
android·ios·harmonyos
嘟嘟嘟952710 小时前
Kubernetes 引入 KYAML:更安全的 YAML 子集
人工智能·架构·开源