树莓派上用youtube-dl下载YouTube视频

支付宝内搜索 9155838 即可领现金红包 每天都能领哦

youtube-dl直接下载是访问不了的,必须通过v2或ss之类的代理才行,并且下载的视频文件是没声音的,先说脚本。

树莓派自动下载YouTube视频脚本

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

/usr/local/bin/youtube-dl -o '/upan/download/%(title)s.%(ext)s' --ffmpeg-location /usr/local/ffmpeg/ffmpeg -f 136+140 $1 --all-subs --proxy socks5://127.0.0.1:1080/

将此脚本保存为 ~/youtubedl.sh
136代表720p质量的视频,140代表m4a格式的音频,其他还有很多种格式,可以自己去查。
此脚本会通过代理下载720p质量的视频和音频文件,并自动合并为有声音的视频,并保存到/upan/download/ 以视频标题名自动命名。

youtubedl脚本下载使用方法:

~/youtubedl.sh https://www.youtube.com/watch?v=Gt6NsqMbByo

这样执行即可,下载完成后文件自动会保存在 /upan/download/

树莓派安装youtube-dl

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod +x /usr/local/bin/youtube-dl

youtube-dl需要python支持,如果没有请自行安装。

视频音频的自动合并需要用到ffmpeg

树莓派安装ffmpeg

arm下的ffmpeg3个下载地址,我的树莓派安装的是64位系统,所以用的是第一个,32位的用第二个:

https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-arm64-static.tar.xz
https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-armhf-static.tar.xz
https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-armel-static.tar.xz

解压到 /usr/local/ffmpeg/ 就可以用了。

在树莓派上安装V2Ray客户端

使用一键脚本进行安装,请见:https://github.com/v2fly/fhs-install-v2ray/blob/master/README.zh-Hans-CN.md

此脚本会安装以下内容:
安装: /usr/local/bin/v2ray
安装: /usr/local/bin/v2ctl
安装: /usr/local/share/v2ray/geoip.dat
安装: /usr/local/share/v2ray/geosite.dat
安装: /usr/local/etc/v2ray/config.json
安装: /var/log/v2ray/
安装: /var/log/v2ray/access.log
安装: /var/log/v2ray/error.log
安装: /etc/systemd/system/v2ray.service
安装: /etc/systemd/system/v2ray@.service

sudo mkdir /usr/local/bin
curl -O https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh
sudo bash install-release.sh

因为国内网络环境问题,安装过程可能会出现错误:
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

这时就需要添加全局代理,所以要有一个ss代理,先在电脑上下载ss设置允许局域网接入,然后树莓派使用此代理,如:

exprot http_proxy="socks5://192.168.1.123:1080"
exprot https_proxy="socks5://192.168.1.123:1080"

然后再运行上面的命令就能顺利的安装成功了。

修改v2ray配置文件 /usr/local/etc/v2ray/config.json 配置如下:

{
  "inbounds": [
    {
      "port": 1080, // 监听端口
      "protocol": "socks", // 入口协议为 SOCKS 5
      "sniffing": {
        "enabled": true,
        "destOverride": ["http", "tls"]
      },
      "settings": {
        "auth": "noauth"  //socks的认证设置,noauth 代表不认证,由于 socks 通常在客户端使用,所以这里不认证
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "vmess", // 出口协议
      "settings": {
        "vnext": [
          {
            "address": "blog.dngz.net", // 服务器地址,请修改为你自己的服务器 IP 或域名
            "port": 9026,  // 服务器端口
            "users": [
              {
                "id": "aacc22e6-2365-4bfb-521c-e2b4f85636e2",  // 用户 ID,必须与服务器端配置相同
                "alterId": 64 // 此处的值也应当与服务器相同
              }
            ]
          }
        ]
      },
      "streamSettings":{
        "network":"ws"
      }
    }
  ]
}

Inbounds中一些参数
listen 填写0.0.0.0,表示局域网内所有ip都可以使用树莓派来作为代理,127.0.0.1则表示只有树莓派本机可以使用。
protocol 代理协议,如果改成http,局域网中的所有设备都可以使用http://树莓派ip:prot 进行代理,记得防火墙内要放行该端口哦。
更多配置信息可参考:https://guide.v2fly.org/basics/basics.html
修改配置文件后重启v2ray即可。

v2ray控制命令

sudo systemctl enable v2ray
#开机自动运行
sudo systemctl disable v2ray
# 禁止开机运行
sudo systemctl start v2ray
# 运行v2ray
sudo systemctl stop v2ray
# 停止运行v2ray
sudo systemctl restart v2ray
# 重启v2ray

大概就这样就搞定了,下载挺顺利的。

推荐文章

已有 17 条评论
  1. Glan

    批量下载不错,我是直接chrome插件下载

    Glan 回复
    1. xylx

      @Glan

      以前也用过插件下和idm下,但总会去看下载进度,有点着急,放树莓派上即使不在家都能随时下载,想看的时候再看,感觉更方便点

      xylx 回复
  2. 石樱灯笼

    `you-get`不香么,免配置,支持国际上多数视频网站,还支持Cookie。

    石樱灯笼 回复
    1. xylx

      @石樱灯笼

      确实香,还支持国内很多视频、音频下载,但不想在树莓派上装python3了,就没使用you-get了,自己电脑上装了you-get

      xylx 回复
      1. 石樱灯笼

        @xylx

        为什么我收到了封奇怪的评论回复邮件

        石樱灯笼 回复
        1. xylx

          @石樱灯笼

          大神收到什么奇怪邮件了?是什么内容能说说吗?

          xylx 回复
    2. darkmatter

      @石樱灯笼

      youtube-dl适用于抓取整个频道视频,而且支持archive过滤,还帮你把字幕+封面这些ffmpeg的手工活帮你做了,放派的原因不就是为了24h长期使用嘛
      而且支持多数网站和cookie youtube-dl也支持

      darkmatter 回复
  3. 小宝

    学到了

    小宝 回复
  4. 美樂地

    有没有在线下载的?之前只能下载480P,下载不了1080P

    美樂地 回复
    1. xylx

      @美樂地

      findyoutube.net 可以在线下,用脚本可以下载各种分辨率的

      xylx 回复
  5. 独元殇

    这东西不用fq吗?

    独元殇 回复
  6. wu先生

    一直想剁一个树莓派,一直没下手。

    wu先生 回复
  7. 哥斯拉

    过年了,来我家吃饭聊天哇

    哥斯拉 回复
    1. 子痕

      @哥斯拉

      这。。。不是单纯的博友了吧?羡慕啊。

      子痕 回复
      1. xylx

        @子痕

        首先是好朋友,博友算顺带的

        xylx 回复
    2. xylx

      @哥斯拉

      有空就来

      xylx 回复
  8. 秦大叔

    不会翻墙,所以这玩意主要拿来下B站的视频了

    秦大叔 回复
发表新评论