GPT-4o
Проблема в том, что библиотека `mpv` не может найти DLL файл `libmpv-2.dll`, несмотря на то, что вы указали путь к нему. Попробуйте добавить путь к DLL файлу в переменную окружения `PATH` до импорта библиотеки `mpv`. Вот так:
import os
import sys
# Абсолютный путь к libmpv-2.dll
mpv_dll_path = r'C:\Users\Евгений\Downloads\mpv-player-0-38-0'
# Добавляем путь к переменной окружения PATH
os.environ["PATH"] = mpv_dll_path + os.pathsep + os.environ["PATH"]
import mpv
from pytube import YouTube
# Создание объекта MPV с указанием пути к DLL
player = mpv.MPV(ytdl=True, dll_directory=mpv_dll_path)
# Ваша функция play_video_with_mpv и другой код
def play_video_with_mpv(video_url):
player.play(video_url)
player.wait_until_playing()
player.wait_for_playback()
def play_youtube_video(youtube_url):
try:
yt = YouTube(youtube_url)
stream = yt.streams.filter(progressive=True, file_extension='mp4').first()
video_url = stream.url
play_video_with_mpv(video_url)
except Exception as e:
print(f"Error processing YouTube video: {e}")
def play_video(video_url):
if "youtube.com" in video_url or "youtu.be" in video_url:
play_youtube_video(video_url)
else:
play_video_with_mpv(video_url)
# Test with URLs from TikTok, YouTube, Twitter, and Telegram
test_urls = [
# тут тест ссылок
]
for url in test_urls:
play_video(url)
Попробуйте этот подход и проверьте, решит ли это вашу проблему. Если DLL файл находится в другом месте, убедитесь, что путь в `mpv_dll_path` правильный.
```import mpv
from pytube import YouTube
# Абсолютный путь к libmpv-2.dll
mpv_dll_path = r'C:\Users\Евгений\Downloads\mpv-player-0-38-0\libmpv-2.dll'
# Создание объекта MPV с указанием пути к DLL
player = mpv.MPV(ytdl=True, dll_directory=mpv_dll_path)
# Ваша функция play_video_with_mpv и другой код
def play_video_with_mpv(video_url):
player.play(video_url)
player.wait_until_playing()
player.wait_for_playback()
def play_youtube_video(youtube_url):
try:
yt = YouTube(youtube_url)
stream = yt.streams.filter(progressive=True, file_extension='mp4').first()
video_url = stream.url
play_video_with_mpv(video_url)
except Exception as e:
print(f"Error processing YouTube video: {e}")
def play_video(video_url):
if " youtube.com " in video_url or " youtu.be " in video_url:
play_youtube_video(video_url)
else:
play_video_with_mpv(video_url)
# Test with URLs from TikTok, YouTube, Twitter, and Telegram
test_urls = [
тут тест ссылок
]
for url in test_urls:
play_video(url)```
это собственно сам код...
а это ошибка
File "C:\Users\Евгений\pythonProject\pythonProject7\player.py", line 1, in <module>
import mpv
File "C:\Users\Евгений\pythonProject\pythonProject7\.venv\Lib\site-packages\mpv.py", line 40, in <module>
raise OSError('Cannot find mpv-1.dll, mpv-2.dll or libmpv-2.dll in your system %PATH%. One way to deal with this is to ship the dll with your script and put the directory your script is in into %PATH% before "import mpv": os.environ["PATH"] = os.path.dirname(__file__) + os.pathsep + os.environ["PATH"] If mpv-1.dll is located elsewhere, you can add that path to os.environ["PATH"].')
OSError: Cannot find mpv-1.dll, mpv-2.dll or libmpv-2.dll in your system %PATH%. One way to deal with this is to ship the dll with your script and put the directory your script is in into %PATH% before "import mpv": os.environ["PATH"] = os.path.dirname(__file__) + os.pathsep + os.environ["PATH"] If mpv-1.dll is located elsewhere, you can add that path to os.environ["PATH"].
косяк в том, что не может найти с переменной среде файл libmpv-2.dll хотя он есть. скачивал даннй файл сам, так как на оф.сайте mpv нет данных файлов. помогите советом