尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

youtubedl-android:把 yt-dlp 搬进安卓手机

youtubedl-android:把 yt-dlp 搬进安卓手机
📅 发布时间:2026/6/28 21:21:22

文章目录

  • youtubedl-android:把 yt-dlp 搬进安卓手机
    • 能干什么?
    • 怎么用?
    • FFmpeg 和 Aria2c
    • 基于这个库的 App
    • 需要注意的地方
    • 适合谁用

youtubedl-android:把 yt-dlp 搬进安卓手机

yt-dlp 这个工具,搞视频下载的应该都听过。它能从 YouTube、B 站、Vimeo 等几百个网站抓视频,命令行里敲一行就能下。但问题是,它只能在电脑上跑。想在手机上用?没门。

youtubedl-android 就是来解决这个问题的。它把 yt-dlp 打包成了 Android 库,让你在安卓 App 里直接调用 yt-dlp 的全部功能。项目拿了 1300 多个 Star,虽然不算爆火,但确实是实打实解决问题的工具。

能干什么?

说白了,就是让你的安卓 App 具备视频下载能力。具体来说:

下载视频。给它一个链接,它帮你抓下来,还能指定保存路径、选择画质格式。支持进度回调,下载到百分之多少、还剩几秒,都能拿到。

获取视频信息。不下载,只拿视频的标题、时长、分辨率这些元数据。做预览功能的时候用得上。

流式播放。不落盘,直接拿播放链接,配合 ExoPlayer 之类的播放器就能在线看。

停止下载。下载到一半不想下了,随时能停。

这些功能都是通过 yt-dlp 的命令行参数实现的,yt-dlp 支持的参数它都支持。

怎么用?

集成方式是标准的 Gradle 依赖,三行代码搞定:

implementation("io.github.junkfood02.youtubedl-android:library:0.18.1") implementation("io.github.junkfood02.youtubedl-android:ffmpeg:0.18.1") implementation("io.github.junkfood02.youtubedl-android:aria2c:0.18.1")

aria2c 是可选的,装了之后下载速度会快一些,用的是多线程下载。

初始化也简单,在 Activity 的 onCreate 里调一下就行:

YoutubeDL.getInstance().init(this);

下载视频的代码大概长这样:

File dir = new File(Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_DOWNLOADS), "youtubedl-android"); YoutubeDLRequest request = new YoutubeDLRequest("https://vimeo.com/22439234"); request.addOption("-o", dir.getAbsolutePath() + "/%(title)s.%(ext)s"); YoutubeDL.getInstance().execute(request, (progress, etaInSeconds) -> { // 这里拿到进度和剩余时间 });

代码不多,逻辑也清晰。yt-dlp 的可执行文件和 Python 运行时都打包在库里了,不用额外配置环境。

FFmpeg 和 Aria2c

如果你需要音频提取、格式转换这些功能,得把 FFmpeg 也初始化了。比如你想从视频里提音频,或者把 WebM 转成 MP4,都得靠它。

Aria2c 是下载加速器。默认的下载方式是单线程,装了 Aria2c 之后可以多线程下,速度能快不少。初始化的时候多一行代码就行。

基于这个库的 App

这个库本身只是个 SDK,不带界面。但已经有两个不错的 App 是基于它做的:

dvd 是作者自己做的视频下载 App,界面简洁,功能完整,适合直接用。

Seal 是另一个开发者做的,功能更丰富,界面也更好看,算是把这个库的能力发挥得比较彻底。

两个都是开源的,可以下载体验,也可以看源码学习怎么用这个库。

需要注意的地方

Android 10 以上系统有 Scoped Storage 限制,App 只能直接访问 Download 和 Documents 目录。所以下载路径别乱设,老老实实放到这两个目录下。

APK 体积会比较大,因为库里打包了 yt-dlp、Python、FFmpeg 这些。可以用 abi splits 按架构拆包,只打包目标设备需要的 CPU 架构。

复杂排版的网页、需要登录才能看的视频,yt-dlp 本身就不一定能搞定,这个库也一样。

适合谁用

想在安卓 App 里加视频下载功能的开发者。不用自己折腾 yt-dlp 的交叉编译,不用处理 Python 运行时的兼容问题,直接一个依赖搞定。

做内容聚合、媒体播放类 App 的团队,如果需要离线缓存视频,这个库能省不少功夫。

dlp 的交叉编译,不用处理 Python 运行时的兼容问题,直接一个依赖搞定。

做内容聚合、媒体播放类 App 的团队,如果需要离线缓存视频,这个库能省不少功夫。

相关新闻

  • 如何快速配置世界最佳AI瞄准辅助:面向游戏玩家的完整指南
  • 从特征提取到智能决策:物体识别算法的演进与应用实战
  • 国密SM2:Java实战指南,从密钥对生成到数据加解密

最新新闻

  • 巧用Nginx proxy_set_header:根治Origin头引发的反向代理403跨域难题
  • 从0和1到绚丽画面:揭秘CPU、GPU与显示屏的协同成像之旅
  • Kali Linux与Ngrok构建安卓远程控制测试环境实战指南
  • AI 视频 | Pika 1.0 全面开放实测:五大核心功能深度解析与创作实战
  • 从数据本质到代码实践:深度解析Arduino串口通信中Serial.print()与Serial.write()的底层逻辑与格式转换陷阱
  • 从脚本到模型:MATLAB驱动HFSS实现天线参数化设计与自动仿真

日新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号