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,开发者可根据需求自行修改扩展。

相关推荐
机智的张尼玛2 小时前
我基于 Kotlin Multiplatform 实现了一套跨平台的弱网离线同步引擎
android·开源·kotlin
钢琴美少女3 小时前
电钢琴核心技术与选购全攻略
其他
IvorySQL5 小时前
PG 技术日报|2026-07-04
数据库·人工智能·postgresql·开源
安卓修改大师5 小时前
安卓修改大师反编译引擎Apktool深度解析:版本选择、参数说明与实战技巧
android
error:(5 小时前
【系统与实战双精通】VS Code 调试 ROS2 Python 节点与 Launch 系统指南
android·java·python
IvorySQL5 小时前
IvorySQL HTAP 实时湖仓接入引擎
数据库·postgresql·开源·htap·ivorysql
饼干哥哥6 小时前
我开发了一个「吃掉」别人Skill来升级的饕餮.Skill,现在免费开源
人工智能·设计模式·开源
黄林晴7 小时前
Kuikly 是什么?和KMP有什么关系?
android·前端
帅次8 小时前
Android 高级工程师面试:Kotlin 语法基础 近1年高频追问 22 题
android·面试·kotlin·扩展函数·空安全
cxr8288 小时前
第14章 创意音乐与视频的多模态智能体创作
人工智能·音视频·智能体·hermes