借助you-get在Emacs中看youku视频
Emacs中最常用的的浏览网页的方法就是w3m和eww,然而不管哪种方法都不支持flash及html5,这意味着无法直接在Emacs中看视频网站中的视频了。
不过不要紧,我们有援军啊。
you-get是一款网页视频的下载利器,它支持大部分的视频网站。
you-get --help
usage: you-get [OPTION]... URL... A tiny downloader that scrapes the web optional arguments: -V, --version Print version and exit -h, --help Print this help message and exit Dry-run options: (no actual downloading) -i, --info Print extracted information -u, --url Print extracted information with URLs --json Print extracted URLs in JSON format Download options: -n, --no-merge Do not merge video parts --no-caption Do not download captions (subtitles, lyrics, danmaku, ...) -f, --force Force overwriting existing files -F STREAM_ID, --format STREAM_ID Set video format to STREAM_ID -O FILE, --output-filename FILE Set output filename -o DIR, --output-dir DIR Set output directory -p PLAYER, --player PLAYER Stream extracted URL to a PLAYER -c COOKIES_FILE, --cookies COOKIES_FILE Load cookies.txt or cookies.sqlite -t SECONDS, --timeout SECONDS Set socket timeout -d, --debug Show traceback and other debug info -I FILE, --input-file FILE Read non-playlist URLs from FILE -P PASSWORD, --password PASSWORD Set video visit password to PASSWORD -l, --playlist Prefer to download a playlist -a, --auto-rename Auto rename same name different files Proxy options: -x HOST:PORT, --http-proxy HOST:PORT Use an HTTP proxy for downloading -y HOST:PORT, --extractor-proxy HOST:PORT Use an HTTP proxy for extracting only --no-proxy Never use a proxy -s HOST:PORT, --socks-proxy HOST:PORT Use an SOCKS5 proxy for downloading
通过浏览它的参数可以看到它有一个 -p PLAYER
参数,能够调用第三方的播放器来直接播放网页上的视频。
这就很好办了,我们可以把下面代码加入到初始化文件中:
(defvar play-this-video-player "mpv --autofit=100%" "mplayer used to play the video") (defun play-this-video () (interactive) (let ((url (or w3m-current-url (eww-current-url) (error "only w3m and eww supported"))) (player play-this-video-player)) (shell-command (format "you-get %s -p '%s' &" url player))))
将其中 play-this-video-player
变量设定自己喜欢的第三方播放器及其播放参数。该变量的值会被传入命令行中作为 you-get
的 -p
的参数值。
然后在w3m或eww中浏览视频网页后,只需要执行 M-x play-this-video
就能播放该网页上的视频了