В pytube не могу определить стрим на YouTube при помощи исключения exceptions.LiveStreamError

Добрый день при помощи библиотеки pytube не могу определить стрим на YouTube

from pytube import YouTube
from pytube import exceptions

video = 'https://www.youtube.com/watch?v=Dx5qFachd3A'

try:
   yt = YouTube(video)
   print (yt.title)

except exceptions.LiveStreamError:
    print('exceptions.LiveStreamError')

Выдаётся вот такая ошибка:

Traceback (most recent call last):
  File "./test2.py", line 7, in <module>
    yt = YouTube(video)
  File "/usr/local/lib/python3.6/dist-packages/pytube/__main__.py", line 92, in __init__
    self.descramble()
  File "/usr/local/lib/python3.6/dist-packages/pytube/__main__.py", line 132, in descramble
    apply_descrambler(self.player_config_args, fmt)
  File "/usr/local/lib/python3.6/dist-packages/pytube/extract.py", line 281, in apply_descrambler
    formats = json.loads(stream_data["player_response"])["streamingData"]["formats"]
KeyError: 'formats'

Использую python3 pytube устанавливал так: pip3 install pytube3 --upgrade

Подскажите пожалуйста в чём моя ошибка? Или как мне при помощи библиотеки pytube определить что по ссылке стрим, а не видео?


Ответы (1 шт):

Автор решения: frozencoast

Проблема не в коде, а в самом pytube3. Решается она фиксом, при наличии установленного GIT:

pip3 uninstall -y pytube3
pip3 install "git+https://github.com/tooxo/pytube.git@fix_609"
→ Ссылка