在iOS中方便快捷免费下载Twitter、Youtube等上千个平台的视频

myccoh
May 9, 2022

--

快速导读:本文的教程描述了如何在非越狱的iOS手机上使用快捷指令SW-DLT拉起 a-shell + yt-dlp 来下载Twitter、Youtube、Tumblr、bilibili、iqiyi、优酷等众多流媒体网站视频的。操作并不复杂,涉及到的所有软件都是开源、免费、无广告的。

如何在iOS手机中方便快捷(最好还是免费)下载Twitter、Youtube等平台的视频?

最近在推上发现很多朋友都有这个需求:手机刷着刷着看到一个视频很想保存下来,但是官方客户端根本就不提供这个功能。解决起来也有很多途径,而这些方案需要付出的代价都不太一样:

1.越狱后使用各类插件,这是后期使用时最方便的,一点即存。但是初期的越狱折腾却是最大的技术门槛,并且越狱后手机系统的安全性也大幅下降,最关键是这个方案太小众了,出现问题找答案会很痛苦,但非常适合爱折腾的朋友们;

2.使用第三方的平台客户端,比如Twitter第三方的Spring、Tweetbot等,它们下载Twitter视频也是非常方便,点一下就存了,但缺点是要掏钱,掏钱嘛不算可怕,可怕的是可能需要持续不断的掏钱(订阅,或者每年翻个大版本要你买新版,因为旧版渐渐不能用了!这里点名Tweetbot,我已经买过3个版本了,感觉自己是傻哔,再也不买了)。而且你需要改变客户端的使用习惯,这个学习成本虽然不大,但有些小习惯或者小细节让你用着就是很别扭,比方说Spring这个客户端各方面都很优秀,但我强逼着自己用了几天,一直都习惯不了,就感觉很别扭。而且这些特定平台的第三方APP,只针对该平台,泛用性基本为零;

3.使用AppStore里的下载工具,这个方案嘛……怎么说呢,我到商店里一搜video download,妈耶,漫山遍野,群魔乱舞,啥玩意都有,但是横竖看不懂它们到底是干啥的,它们都有着似是而非的名字、截图和介绍,以我多年的踩雷被炸经验,大概率掏钱买下来也是个坑,有不差钱的勇士可以尝试一下。说到这里我严重怀疑苹果商店压根就不准这种工具上架,否则无法解释为什么到现在也没有一个知名好用哪怕是付费的工具出现?

4.各种捷径(快捷指令),这东西免费,而且非常多,但是它们的缺点也很明显:下载视频的捷径99%的都是采用在线服务的方式,对你手机传上去的URL进行解析,然后返回一个视频的实际地址,给你捷径中的下一个步骤进行下载保存。写捷径这事吧,门槛很低,但提供的解析服务就不好说了,因为用爱写个脚本很简单,持续不断的用爱发电就很困难。尤其是如今大部分流媒体网站平台的视频都切块传输了,在捷径中是无法拼合的,需要在线上服务中拼合后再返回给手机上的捷径进行下载,这对解析服务的要求进一步提高。提供服务者无利可图,大概率很快就关站了事。基本上,用捷径下载就是看缘分,运气好逮到一个捷径能用上许久年,而实际情况中大部分都是安装了试一下,结果当场翻车不能用,直接删除。多来两次你就灰心了,会对这个方案失去兴趣。不过这里倒可以提供一个仅针对Twitter的视频下载捷径TVDL,它的寿命已经比较长了(因为无需提供泛用性和拼合支持,对云端服务的要求很低),这个捷径用起来比本文最终提供的解决方案要轻量、便捷的多:

https://www.tvdl.app 在该页面点击 Get the Shortcut 按钮即可安装。(可以看到它有自己的网站,有Github项目,看起来提桶跑路的概率小多了。

笔者建议你先装上它再往下看,反正捷径又不占地方,而且它在Twitter APP上确实比最终方案要便捷,缺点只是不支持非Twitter的网站而已。

5.使用TG-bot机器人或者@this_vid 、@SaveVidBot之类的机器人,这也是一种在线服务,但好歹能比捷径的在线解析服务可靠点。一般来说这方案的缺点是即时性不强,你还得等它给你准备好了再到Telegram中去下载,或者在推特机器人处获得URL,再想办法用什么APP或者捷径再给它下载下来……感觉要带着脑子跑好远,好麻烦的。

以上几个方案各有优缺点,有些缺点想想办法还是可以规避的,比方说自己写一个解析拼合下载的API服务运行在VPS上给自己私人使用,给自己发电总不能说亏本了吧……不过这方案各方面的要求就有点略高了。关键是从技术上说可能也不是一个好主意,你得等服务端下载拼合好之后再用手机下载,这干等着,时间不值钱呐?

但其实还是有着相对不错的免费开源解决方案:

个人猜测以上1、3、4、5方案中具体负责解析的,如果是泛用的,那么大概率是youtube-dl这类工具,说到这里,隆重介绍一下youtube-dl,它是一个对在线流媒体视频进行解析和下载的工具,它几乎支持所有操作系统平台,支持上千个网站,包括Youtube、Twitter、Pornhub、Tumblr、Bilibili、爱奇艺、优酷等等大量的流媒体网站,支持列表在这里,非常壮观:https://github.com/ytdl-org/youtube-dl/blob/master/docs/supportedsites.md 并且它派生出一些分支,如yt-dlp、youtube-dlc等版本,可以实现额外的功能。

顺便一说,接下来的解决方案中还会附带安装gallery-dl,它是用来下载图库的,如果你不知道哪里有图库,可以看它的支持列表:https://github.com/mikf/gallery-dl/blob/master/docs/supportedsites.md 黑压压的一片的好网站啊,要知道能被专门开发出爬取工具的,那可都是真有点好东西的。

那么,我们是否可以在iOS上运行youtube-dl?当然可以!不过它需要一个Python运行环境,我们到苹果手机AppStore上搜索并安装Pythonista(不推荐)或者a-shell(本文力荐),Pythonista收费几十块钱,使用起来不直观,略复杂,所以不推荐。这里建议安装使用a-shell,免费,且有现成的捷径可以完美配合,开箱即用,无需自己去pip、curl一通折腾配置环境。请注意,不要使用a-shell mini,虽然体积小了不少,但是容易踩上一些坑,除非是你的折腾能力强,或者手机实在没空间了,否则不推荐使用。(a-shell那高达1G的体积,几乎比肩QQ,这确实有点太扯淡了,这是本方案最大的缺点)

安装好a-shell之后,运行一次,允许联网,然后回到手机的设置中找到它,

修改 a-shell 文稿储存位置为“我的iPhone”。(照片权限可能没有显示,如果没有,只是a-shell暂时没有申请而已,请无视这一点,不影响接下来的使用)

然后复制以下网址到Safari中访问

https://routinehub.co/shortcut/7284/

点击页面中的 Get Shortcut 按钮,安装捷径(这个捷径就是属于前文所说的那99%之外的类型,它内置了一个Python脚本,推入到a-shell中执行),安装过程中配置的“isMini”项改为False(如果你非要使用a-shell mini的话,这里选True),安装好之后,在Twitter等APP的客户端,点击包含了视频推文的分享按钮,再点一下“分享…”,在POP-UP菜单中找到并点击 SW-DLT 捷径,然后看你自己的情况选择是下载视频或音频、播放列表、图片、图辑等,再选择视频质量等(Twitter请选默认,指定其他视频质量的话有可能会出错),再允许一些初次运行需要的权限,它会从捷径APP跳到a-shell中,第一次运行它会自动下载配置yt-dlp和gallery-dl、ffmpeg等需要用到的库,以后就快了。等到视频下载完后它会再次跳回捷径并展示一个iOS标准的Quicklook窗口,你的视频就在里面静静等候,不过它此时并没有被保存,请点右上方的 ↑ 按钮,再点击储存视频即可存入相册。

至此,基本上已经折腾完毕,你实现了在iOS手机上下载保存Twitter、Youtube、Tumblr、Pornhub等上千个网站平台视频的强大功能,恭喜!叉会儿腰,得意一下!

这个方案的优点在于可靠性有着相当的保证,哪怕流媒体视频网站平台更改了视频播放方式的部署,但只要一直有人在维护youtube-dl,你就一直能用。或者反过来说,就算youtube-dl停止维护,只要视频平台不改动他家的视频播放参数,你就还能坚挺地下载。实际上,我从两年前就开始用Pythonista加上youtube-dl方案,这两年来压根就没更新过里面的youtube-dl库,却一直稳稳的能下载Twitter上的视频(说明Twitter对视频这一块儿改的不勤,从侧面也说明了 Tweetbot 这鸡贼APP,再次点名辱骂啊,新版一出,旧版就开始倒地抽搐蹬腿翻白眼工作不正常,丫根本就是故意的,吃相真是太难看了)。这个方案也不像某些专门的软件或者捷径、在线服务,只要作者一躺、线上服务一关,你就只能干瞪眼。

实际上,最开始的几个方案中,除了2,其他几个基本都是中间商,大概率都是使用youtube-dl这个轮子的,如今我们已跳过众多的不确定性,直接一屁股跨坐在核心轮子上,美滋滋。因为一般来说把核心的关键轮子攥在自己手里总是最可靠的方案。

这个方案也有美中不足之处,比方说a-shell体积过大、使用中步骤略繁琐,下载一个视频需要点击好几次。如果你有兴趣折腾,可以像我一样写一个捷径然后拉起一个自己写的Python脚本(in a-shell),再用a-shell在捷径中的Get-file方法,将视频拉回捷径来保存到相册,这样就能实现只点两三下便全自动保存视频到相册的流畅过程。但是这个方案实现起来比较复杂,需要手动pip和curl一堆东西,容易出bug,而且我写的脚本实在太粗糙,拿不出手,这里就不献丑了。

虽然有这样那样的缺点,但仍然瑕不掩瑜,这一套东西它静静躺在你手机里,当你需要的时候拉出来用一下,总能坚定可靠的帮你把事情做了,这便是开源软件的魅力之一。这种笃定感,在这混乱起落的草台班子世界中,能让你抓到一点点确定性,心怀慰矣。

实际应用中,在刷Twitter要下载视频的时候,我个人是先用TVDL,如果不行了再用a-shell + yt-dlp这个兜底方案。碰到别的平台,直接用最终方案。

最后,祝大家都能顺利且便捷地保存自己喜欢的视频 :)

--

--

Responses (2)