Linux基于Docker使用youtube-dl
YouTube视频和音频分离,使得用一键命令安装youtube-dl的同时,还要安装FFmpeg等工具来合并视频,本博客之前记录过一篇使用教程(传送门)。现在似乎有个更方法的安装方法,使用Docker。
当然了,仁者见仁,Docker的使用还是有所限制,至少OpenVZ平台安装Docker似乎很是麻烦;再者,虽然不安装FFmpeg,但是还是要安装Docker,当然对于我来说,Linux下,Docker是必备。本篇博客只做笔记。
安装 Docker
Docker一键安装命令(不适用于OpenVZ架构的VPS):
curl -sSL https://get.docker.com/ | sh
CentOS下还需要:
# 启动 Docker
systemctl start docker.service
# 设置开机自启动
systemctl enable docker.service
设置 alias 指令别名
alias yt='docker run --rm -u $(id -u):$(id -g) -v $PWD:/data vimagick/youtube-dl'
如需alias指令别名常驻系统,需编辑~/.bashrc
。
使用youtube-dl
以YouTube站点为例:
# 列出所有格式
yt -F nVjsGKrE6E8
# 下载视频
yt nVjsGKrE6E8
yt -f 137+140 nVjsGKrE6E8
# 下载视频列表
yt PLpOa-OrneXm1UHzqY99-PTO7seznpCFho
yt -f 137+140 PLpOa-OrneXm1UHzqY99-PTO7seznpCFho
yt -f 137+140 -o '%(title)s.%(ext)s' PLpOa-OrneXm1UHzqY99-PTO7seznpCFho
youtube-dl的使用命令是:youtube-dl [OPTIONS] URL [URL...]
,
而基于Docker使用youtube-dl的命令是:yt [OPTIONS] URL [URL...]
,
如你所见,仅需替换命令中的youtube-dl
为yt
,其他与使用youtube-dl基本无异。
更多使用教程参阅官方文档:传送门。
补充
首次使用,系统会自动从Docker官方拉取镜像(vimagick/youtube-dl),之后无需;Docker镜像中已包含FFmpeg视频合并工具;其他跟使用youtube-dl无异。
自动合并后的格式:例如137(mp4视频) + 140(m4a音频) = mp4;再例如137(mp4视频) + 251(webm音频) = mkv。
额外再记录下vimagick/youtube-dl镜像(GitHub)的Dockerfile:
FROM alpine
MAINTAINER kev <noreply@easypi.pro>
RUN set -xe \
&& apk add --no-cache ca-certificates \
ffmpeg \
openssl \
python3 \
&& pip3 install youtube-dl
WORKDIR /data
ENTRYPOINT ["youtube-dl"]
CMD ["--help"]
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。