Попытка транслировать YouTube через Python - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь транслировать YouTube через Python, минуя часть загрузки.Однако я получаю ошибку от моего текущего решения.Код:

import pafy, vlc
url = str(raw_input())
video = pafy.new(str(url))
best = video.getbest()
playurl = best.url()
Instance = vlc.Instance()
player = Instance.media_player_new()
Media = Instance.media_new(playurl)
Media.get_mrl()  
player.set_media(Media)
player.play()

ошибка, которую я получаю:

  File "musicdownplay.py", line 5, in <module>
  playurl = best.url()
  TypeError: 'unicode' object is not callable

Я объявил в виде строки, поэтому я не могу найти ошибку

1 Ответ

0 голосов
/ 06 февраля 2019

Согласно API , video.getbest() возвращает объект Stream.

А объект Stream имеет атрибут Stream.url, а нефункция Stream.url().

Из документов:

Stream.url

URL прямого доступа к потоку.Это можно использовать для потоковой передачи мультимедиа в mplayer или vlc или для загрузки с помощью wget или curl.Для прямой загрузки используйте метод Stream.download ().

TL; DR: измените playurl = best.url() на playurl = best.url

...