@malsem32

Что делать, почему ffmpeg не работает?

63756092e9e5c104469833.jpeg
вот такая ошибка вылазит. Все работало в pycharm, но стоит закинуть на хост и оно не работает, я не знаю что это и в чем проблема....
sync def play_next(inter) -> coroutines:  # Если бот в голосовом канале
    try:
        voice = inter.bot.voice_clients[0]
        song = queue[inter.guild.id].pop(0)
        if song is None:
            queue.clear()
            await voice.disconnect()
        else:
            with YoutubeDL(YDL_OPTIONS) as ydl:
                if 'https://' in song:
                    info = ydl.extract_info(song, download=False)
                    link = info['formats'][0]['url']
                    voice.play(
                        disnake.FFmpegPCMAudio(executable='data_files/ffmpeg.exe', source=link, **FFMPEG_OPTIONS),
                        after=lambda e: run(play_next(inter)))
                else:
                    info = ydl.extract_info(f'ytsearch:{song}', download=False)['entries'][0]
                    link = info['formats'][0]['url']
                    voice.play(
                        disnake.FFmpegPCMAudio(executable='data_files/ffmpeg.exe', source=link, **FFMPEG_OPTIONS),
                        after=lambda e: run(play_next(inter)))
    except:
        voice = inter.bot.voice_clients[0]
        asyncio.run_coroutine_threadsafe(leave(inter), bot.loop)

может кому код надо я хз
буду рад любому совету или помощи
  • Вопрос задан
  • 615 просмотров
Решения вопроса 1
@rPman
на linux типы файлов не определяются их именем (расширением) хотя эта практика широко стала там применяться для кроссплатформенности, запускаемые бинарники там расширения не имеют.

Приложения на linux устанавливаются с помощью пакетного менеджера, в зависимости от того какая там операционка, для ubuntu это apt (а более низкоуровневая dpkg)

установить ffmpeg
sudo apt install ffmpeg
узнать где он размещен
whereis ffmpeg
ffmpeg: /usr/bin/ffmpeg /usr/share/ffmpeg /usr/share/man/man1/ffmpeg.1.gz

или спросить пакетный менеджер, какие файлы куда он установил
dpkg -L ffmpeg
...
/usr/bin/ffmpeg
/usr/bin/ffplay
/usr/bin/ffprobe
...


хотя для запуска достаточно будет писать ffmpeg без пути
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
На хосте надо установить ffmpeg.

Можно просто скачать исполняемый файл и положить в /usr/local/bin/ или /usr/local/sbin/ например.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы