@scomper

Homebrew 和命令行视频下载

2017.10.17

视频下载命令行工具里,网友推荐通常都是『国外视频用 youtube-dl,国内视频用 you-get』,有这两个工具国内外主流视频网站的视频基本就横扫了,适合想收藏或者喜欢下载后用本地播放器的 Geek 群体。

命令行工具本身其实不复杂,理解了它们的语法就能开始使用了,结合 Alfred 还可以把常用的命令设置成触发的动作,提升交互体验和效率。然而很多人一看网站的介绍估计和我最初的感受差不多,还要部署一堆使用环境啊。

Xcode 的命令行工具

Homebrew 环境安装前先检查一下 Xcode 的命令行工具是否已经安装,如果 macOS 系统更新过可能也需要重新安装一次,「终端」(应用程序 - 实用工具 - 终端)中输入 xcode-select --install

➜  ~ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
➜  ~

先前配置时已经安装过 Xcode 命令行工具,所以会出现上面的提示信息。

Homebrew 环境

Homebrew 是一个macOS 上的软件包管理工具,通过命令行的方式安装和卸载软件,大部分的流行软件都提供了 Homebrew 的安装方式,也是开源世界里安装和更新软件的主流方式;

Homebrew

只需要在联网的情况下运行一行命令:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Homebrew 的安装说明中同样提供了卸载命令,运行卸载命令,脚本运行后会列出将移除的目录,回答 Y 就都删除了。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

对于习惯「未虑胜先虑败」的人来说总是会想着,如果安装失败怎样回到原来的环境。还有一种情况也可以先卸载再安装,例如,安装应用过程中反复提示权限问题、或者 link 路径失败等等。最近遇到过一次是 Python3 提示路径连接有问题,需要 brew link Python3。尝试多次不行,重新安装了 Homebrew 问题解决,所以重装大法适用性还是很广的。

brew 常用命令:

brew doctor # 检查 Homebrew 的环境是否正常
brew install you-get # 安装源码,比如这行是安装 you-get 的命令
brew info you-get # 显示软件的各种信息,包括版本、源码地址、模块依存关系等等
brew uninstall you-get  # 卸载软件,一键静默卸载
brew search git # 模糊搜索 brew 支持的软件。不加软件名会列出所有它支持的软件。
brew list # 列出本机通过 brew 安装的所有软件
brew update # 更新 brew 软件自身
brew upgrade you-get # 更新安装过的软件,如果不加软件名更新所有可更新的软件
brew cleanup # 清除下载的各种缓存,历史版本一类的

Homebrew-Cask

brew cask 是对于 brew 的扩展,可以采用 brew 的方式安装图形界面的软件。安装了 Homebrew,Homebrew-Cask 就不要缺席了,也是一行命令的事:

brew tap caskroom/cask

brew cask 常用命令

brew cask install iina # 下载安装软件,以 iina 为例
brew cask reinstall iina # 重新安装软件,以 iina 为例
brew cask uninstall iina # 卸载软件,以 iina 为例
brew cask search iina # 模糊搜索软件,如果不加软件名,就列出所有它支持的软件
brew cask info iina # 显示这个软件的详细信息,或是其安装目录信息等
brew cask list # 列出本机按照过的软件列表
brew cask cleanup #  清除下载的缓存以及各种链接信息
brew update && brew upgrade brew-cask # 更新 cask 自身

命令看上去挺多,实际使用频繁的就几个,安装、卸载应用 brew install & brew cask install,隔段时间更新 brew updatebrew upgrade 一次,定期清理一下安装包的历史版本 brew cleanup,遇到问题先 brew doctor,反馈结果里会有明确的提示信息,可以按图索骥尝试解决问题。

『brew 是从下载源码解压然后 ./configure && make install ,同时会包含相关依存库。并自动配置好各种环境变量,而且易于卸载。 这个对程序员来说简直是福音,简单的指令,就能快速安装和升级本地的各种开发环境。
而 brew cask 是 已经编译好了的应用包 (.dmg/.pkg),仅仅是下载解压,放在统一的目录中(/opt/homebrew-cask/Caskroom),省掉了自己去下载、解压、拖拽(安装)等蛋疼步骤,同样,卸载相当容易与干净。这个对一般用户来说会比较方便,包含很多在 AppStore 里没有的常用软件。』
[── brew和brew cask有什么区别?]]

安装 you-get 和 youtube-dl

上面刚学习到的命令可以先用起来,先看看 you-get 的软件信息,在终端里输入 brew info you-get,了解一下 you-get 的依存环境和需要搭档的其他应用。


从终端运行的反馈能看到,you-get 的使用环境是 Python3,合并视频片断还会用到 ffmpeg 这个组件,也就是说安装完 you-get,还要再运行一次 brew install ffmpeg

  1. brew install you-get
  2. brew install youtube-dl
  3. brew install ffmpeg # you-get、youtube-dl 合并视频时都会用到
  4. brew cask install iina # 可以直接复制视频网址在 iina 中播放
  5. brew cask install vlc # 用命令行播放时用到的客户端,安装后会出现在「应用文件夹」

you-get、youtube-dl 的基本用法

前 3 步结束已经可以用命令行下载视频了,播放可以安装后面的 2 款视频播放软件。you-get、youtube-dl 的用法大同小异,这里以 you-get 为例介绍几个常用的命令,更多的命令用法在官网都有介绍,youtube-dlyou-get

you-get 之后如果直接是视频网址,默认会自动下载品质最高的视频,如果要选择格式可以用 you-get -i '视频网址'的方式查看。默认视频会下载到用户的根目录,这点不太好,所以还要熟悉一个目录定义的命令 you-get -o 文件夹路径 视频网址,如果直接是 you-get '三分钟科学'会调用 Google 搜索视频,搜索结果里直接复制再运行就开始下载了,如果有字幕会自动一并下载。

下载视频到下载文件夹的范例:

you-get -o ~/Downloads https://www.youtube.com/watch?v=AlzUgt8Dgq0
you-get -o ~/Downloads {query} # Alfred 中的 Terminal Command 语句,下载
you-get -i {query} # Alfred 中的 Terminal Command 语句,仅查看视频信息
you-get -p vlc '{query}' # Alfred 中的 Terminal Command 语句,用 VLC 播放

you-get 最大的魅力对我来说是批量下载,可以把选集链接中的视频都下载下来,非常方便。下载激活后是在终端窗口中运行,如果要终止下载任务,按 ⌃C 就可以。 另外需要提示的是,国内视频网站不少有会员限制,下载前需要先登录,这样 URL 包含的 cookie 才可能让 you-get 通过并开始下载。

创建 Alfred Workflow

为了提高操作效率,可以在 Alfred 中创建 Workflow 来定义一些常用的命令。

如果已经安装 iTerm 作为终端软件,需要到 Alfred 中修改一下设置,否则 Alfred 依旧会调用系统默认的终端应用,Custom 定义中需要的脚本, iTerm 官网有提供,复制加进去就好。 https://www.iterm2.com/version3.html 页面底部 Alfred Support 介绍中的 iTerm2 3.0 Alfred Script ,将脚本的内容复制到 Alfred 终端自定义(Terminal > Custom)之中。

其实安装 Homebrew 之后还有个坑可以去填:oh-my-zsh(管理 zsh 配置,令其支持更多插件,也使得 zsh 更易用和强大),虽然已经和本文无关了,还是推荐有兴趣的搜索学习一下。


参考文章:
Mac 下 Homebrew 的使用
程序员的自我修养
使用You-Get下载国内视频

--「壹页单章」会员计划 --

Comments
Write a Comment
  • 感谢教程,恰好遇上要下载,又恰好遇上scomper你这个教程~