Discord Bot Python ffmpeg错误

时间:2017-06-04 12:31:31

标签: python discord

所以我运行以下代码,这是更大文件的一部分。即使我已经安装了ffmpeg并将其设置为$ PATH变量,它仍然会抛出以下错误。我在运行OSX El Capitan的Mac上运行。此代码使用discord模块for python 3.5.2。

            author_channel = (message.author).voice_channel
            voice = await media_bot.join_voice_channel(author_channel)
            player = await voice.create_ytdl_player(video)
            player.start()

Traceback (most recent call last):
      File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/discord/voice_client.py", line 431, in create_ffmpeg_player
        p = subprocess.Popen(args, stdin=stdin, stdout=subprocess.PIPE, stderr=stderr)
      File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 947, in __init__
        restore_signals, start_new_session)
      File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 1551, in _execute_child
        raise child_exception_type(errno_num, err_msg)
    FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'

    The above exception was the direct cause of the following exception:

    Traceback (most recent call last):
      File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/discord/client.py", line 307, in _run_event
        yield from getattr(self, event)(*args, **kwargs)
      File "/Users/bobgaudinmusic/Desktop/Programming/python/Discord Bots/MediaBot/mediaBot.py", line 37, in on_message
        player = await voice.create_ytdl_player(video)
      File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/discord/voice_client.py", line 541, in create_ytdl_player
        player = self.create_ffmpeg_player(download_url, **kwargs)
      File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/discord/voice_client.py", line 434, in create_ffmpeg_player
        raise ClientException('ffmpeg/avconv was not found in your PATH environment variable') from e
    discord.errors.ClientException: ffmpeg/avconv was not found in your PATH environment variable

1 个答案:

答案 0 :(得分:0)

对我有用的解决方案涉及从源代码构建ffmpeg。

cd /usr/src
sudo git clone https://github.com/FFmpeg/FFmpeg.git
cd FFmpeg
sudo ./configure --enable-openssl
sudo make 
sudo make install

以前的命令应该工作,只是准备等待很长时间才能构建它。

来源:

https://github.com/Just-Some-Bots/MusicBot/wiki/Guide-for-Raspbian#1d-ffmpeg