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

Python Discord YouTube下载Bot报错求助:FFmpeg找不到video.mp4

解决Discord Bot YouTube下载时FFmpeg找不到文件的问题

核心问题定位

你遇到的video.mp4: No such file or directory错误,本质是文件路径不匹配——要么视频没下载到你指定的位置,要么FFmpeg/Discord Bot调用时用了错误的文件名/路径。

分步修复方案

1. 确认视频实际下载路径

YouTube下载库(比如pytube)默认会用视频标题作为文件名,且可能下载到非当前工作目录。先添加路径打印代码,明确文件位置:

from pytube import YouTube
import os

# 替换成你的视频链接测试
yt = YouTube("https://www.youtube.com/watch?v=示例链接")
stream = yt.streams.get_highest_resolution()
file_path = stream.download()
# 打印关键路径信息
print(f"视频实际保存路径:{file_path}")
print(f"Bot当前工作目录:{os.getcwd()}")

运行后,你会看到视频的真实文件名和存储位置,后续操作必须用这个真实路径,不能硬写video.mp4。

2. 修正FFmpeg调用路径

如果你的Bot需要用FFmpeg转码,必须把下载得到的file_path作为输入路径,而非硬编码的文件名:

import subprocess

# 用真实路径调用FFmpeg
subprocess.run([
    "ffmpeg", 
    "-i", file_path,  # 这里用下载得到的真实路径
    "-c:v", "libx264", 
    "-c:a", "aac", 
    "./processed_video.mp4"
])

3. 适配Replit文件系统限制

Replit的临时存储会自动清理文件,建议创建持久化目录存放下载文件:

# 先创建持久化目录(不存在则自动创建)
os.makedirs("./bot_downloads", exist_ok=True)
# 指定下载路径到持久化目录
file_path = stream.download(output_path="./bot_downloads")

4. 修正Discord发送文件的代码

发送文件时直接使用下载得到的file_path,不要用固定文件名:

import discord

# 在video命令里发送文件
await ctx.send(
    content=f"已下载视频:{yt.title}",
    file=discord.File(file_path)
)

完整可测试的video命令示例

把你的原有video命令替换成以下代码,验证功能:

@bot.command()
async def video(ctx, url: str):
    from pytube import YouTube
    import os
    import discord

    # 创建持久化下载目录
    os.makedirs("./bot_downloads", exist_ok=True)
    
    try:
        # 下载视频
        yt = YouTube(url)
        # 选择带音频的MP4流(避免无声音频问题)
        stream = yt.streams.filter(progressive=True, file_extension="mp4").first()
        file_path = stream.download(output_path="./bot_downloads")
        
        # 发送到Discord频道
        await ctx.send(f"✅ 下载完成:{yt.title}", file=discord.File(file_path))
        
        # 清理临时文件(可选,节省Replit存储空间)
        os.remove(file_path)
    except Exception as e:
        await ctx.send(f"❌ 出错了:{str(e)}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 23:05:06