You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将youtube-dl默认下载路径设置到远程服务器及FTP服务器?

嘿,我来帮你搞定这两个关于youtube-dl远程下载路径的问题!下面分情况给你详细讲:

1. 将youtube-dl默认下载位置设置到远程服务器

如果你的远程服务器支持文件系统挂载(比如Linux服务器用SSH、NFS协议),操作起来最直接:

  • 第一步:把远程服务器的目标目录挂载到本地
    以SSH为例,先安装sshfs(Ubuntu/Debian:sudo apt install sshfs;macOS用Homebrew:brew install sshfs),然后执行挂载命令:
    sshfs your-remote-user@remote-server-ip:/path/to/remote/folder /local/mount/point
    
    比如sshfs john@192.168.1.100:/home/john/youtube-downloads ~/remote-youtube,这样远程目录就映射到本地的~/remote-youtube文件夹了。
  • 第二步:修改youtube-dl的默认配置
    youtube-dl会读取用户目录下的配置文件来设置默认参数:
    • Linux/macOS:创建或编辑~/.config/youtube-dl/config
    • Windows:创建或编辑%APPDATA%\youtube-dl\config
      在配置文件里添加一行:
    -o /local/mount/point/%(title)s.%(ext)s
    
    替换成你的本地挂载路径,比如-o ~/remote-youtube/%(title)s.%(ext)s。之后再用youtube-dl下载时,就会默认把文件存到挂载的远程目录里了。
2. 将youtube-dl下载位置改为FTP服务器(完全可行!)

youtube-dl本身没有直接输出到FTP的参数,但有两种可靠的方法实现:

方法一:先下载到本地,自动上传到FTP

适合不想挂载远程目录的情况,用脚本结合youtube-dl和FTP工具(比如lftp):

  1. 先安装lftp(Ubuntu/Debian:sudo apt install lftp)
  2. 创建一个bash脚本(比如youtube-dl-ftp.sh),内容如下:
    #!/bin/bash
    # 临时本地下载目录
    TEMP_DIR="/tmp/youtube-tmp"
    mkdir -p "$TEMP_DIR"
    
    # 第一步:下载视频到临时目录
    youtube-dl -o "$TEMP_DIR/%(title)s.%(ext)s" "$1"
    
    # 获取刚下载的文件名
    DOWNLOAD_FILE=$(youtube-dl --get-filename -o "$TEMP_DIR/%(title)s.%(ext)s" "$1")
    
    # 第二步:上传到FTP服务器
    lftp -u your-ftp-username,your-ftp-password ftp://your-ftp-server-ip <<EOF
    cd /path/on/ftp  # 切换到FTP上的目标目录
    put "$DOWNLOAD_FILE"
    quit
    EOF
    
    # 可选:删除本地临时文件
    rm "$DOWNLOAD_FILE"
    
  3. 给脚本加执行权限:chmod +x youtube-dl-ftp.sh
  4. 使用时直接传视频链接:./youtube-dl-ftp.sh https://www.youtube.com/watch?v=xxxxxx

方法二:把FTP目录挂载为本地目录(更省心,像本地文件夹一样用)

用curlftpfs工具把FTP目录挂载成本地文件夹,之后就可以像设置普通远程服务器一样配置youtube-dl:

  1. 安装curlftpfs(Ubuntu/Debian:sudo apt install curlftpfs)
  2. 创建本地挂载点:mkdir ~/ftp-youtube
  3. 挂载FTP目录:
    curlftpfs ftp://your-ftp-username:your-ftp-password@your-ftp-server-ip/path/on/ftp ~/ftp-youtube
    
    如果FTP需要被动模式,可加参数:curlftpfs -o allow_other,ftp_port_range=40000-50000 ftp://...
  4. 同样修改youtube-dl的配置文件,添加:
    -o ~/ftp-youtube/%(title)s.%(ext)s
    
    之后youtube-dl就会默认把文件直接写到FTP服务器上了。

注意事项

  • 挂载远程目录时,确保网络稳定,断开挂载可能导致下载失败;
  • FTP服务器要开启写入权限,并且你的账号有对应目录的读写权限;
  • 脚本里的密码如果不想明文写,可以用环境变量或者配置文件(比如lftp的~/.lftprc)来加密存储。

内容的提问来源于stack exchange,提问作者Vikram Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:30:10