项目地址
有过下载视频需求的朋友应该都知道 youtube-dl 这个命令行工具,现在 youtube-dl 已经基本停止维护了,继任者是社区 fork 出来继续维护的 yt-dlp。我用 Jetpack Compose 做了一个 yt-dlp 的 GUI ,顺便试玩了一下 Google 最新推出的 Material Design 3 设计规范
应用截图
(拼图取自推友 viggo ,特此表示感谢)
一开始做 Seal 的个人需求是从 b 站和 YouTube 上流媒体上没有发布的音乐视频,转成音频文件,然后导入到播放器 App 里听。不过 yt-dlp 支持的站点和功能选项都很多,所以搓 GUI 也能加很多花活
目前支持的功能:
- 从 yt-dlp 所支持的视频平台下载视频与音频
- 提取媒体元数据与专辑封面,嵌入到提取的音频文件中
- 播放列表下载支持
- 使用 aria2c 进行下载
- 内嵌字幕于视频文件中
- 执行自定义的 yt-dlp 命令模板
- 管理应用内下载与自定义命令模板
技术要点
虽然搓 GUI 没有什么技术含量但还是提一下,能够执行 yt-dlp 是打包了整个 Python 环境和 FFmpeg 库到包体里,UI 开发用的是 Android 新推的声明式 UI 框架,感觉开发效率这块把 XML 秒了
