#书签 #下载 #音乐 #浏览器 #加载 #转换 #同步

应用 yt-mirror

加载浏览器书签,并下载所有YouTube视频,将其转换为音乐文件

1个稳定版本

1.0.1 2023年2月26日

#11#同步

GPL-3.0 许可协议

34KB
825

yt-mirror

你使用YouTube来听音乐,并将其保存在书签中吗?我也这样。如果所有这些音乐都能备份到你的本地电脑,或者只是离线访问,那不是很好吗?

yt-mirror 解析你的浏览器书签,查找YouTube网址,下载电影,并将它们转换为音乐文件。它是增量运行的,因此您可以同步添加的视频 - 只有新的书签会被下载。

此工具仍在积极开发中

目前它仅在Linux上运行(依赖于 mv 命令 - 对于Windows,请在 Downloader.hs 中将 mv 更改为 move)。

支持的浏览器

  • Firefox
  • Chrome/Chromium/Edge(以及可能的其他基于Chromium的浏览器)

要求

  • sqlite3
  • ffmpeg
  • yt-dlp

安装

从GitHub发布页面下载二进制文件或使用Cabal从源代码构建。

使用方法

首先准备要同步的书签(places.sqlite 被视为Firefox书签,Bookmarks[.json] 被视为类似Chromium的书签)

yt-mirror prepare -p ./process.sqlite -b ./places.sqlite

然后运行同步

yt-mirror synchronize -p ./process.sqlite -t ~/music/synchronized --tmp /tmp

(您可以按CTRL+C或ESC退出同步显示 - 它可能会在短时间内退出)

--tmp 默认为 /tmp,并描述了 youtube-dl 临时文件将存储的位置。

显示失败的同步

yt-mirror failed -p ./process.sqlite [-s/--short]

-s/--short 仅打印失败的YouTube id,不进行任何装饰

使用多个书签源

由于 prepare 步骤是分开的,并且要同步的视频以视频id存储,因此您可以通过多次运行 prepare 步骤来使用多个书签源进行准备。例如,要同步Firefox和Chrome的书签

yt-mirror prepare -p ./process.sqlite -b [...]/places.sqlite
yt-mirror prepare -p ./process.sqlite -b [...]/Bookmarks

过滤要下载的视频

用户可以使用 --filter 利用 youtube-dl --match-filter 的全部功能。跳过一些视频很有用,比如有时添加到书签中的令人讨厌的10小时音乐视频。

如果视频被过滤,其处理过程将标记为“跳过”。

示例 - 只下载时长小于1000秒的视频

yt-mirror synchronize -p ./process.sqlite -t ~/music/synchronized --filter "duration < 1000"

书签位置

. Linux Windows
Firefox ~/.mozilla/firefox/*/places.sqlite %appdata%\Mozilla\Firefox\Profiles\*\places.sqlite
Chrome ~/.config/google-chrome/Default/Bookmarks %appdata%\..\Local\Google\Chrome\User Data\Default\Bookmarks
Chromium ~/.config/chromium/Default/Bookmarks ?
Brave ~/.config/BraveSoftware/Brave-Browser/Default/Bookmarks ?

依赖

~27–37MB
~629K SLoC