0

我有兴趣创建一个 python 3.9 程序,从 YouTube 直播中流式传输音频,但不幸的是,我无法让该video.getbestaudio()函数工作,该函数仅返回 null 值。从而导致下一行出现空错误。

以防万一您需要知道我正在使用 Pafy 库来获取音频流和 python-vlc 库来播放音频。如果我使用不是直播的 YouTube 视频或使用该video.getbest()功能,该脚本也可以完全正常工作,但这也会创建一个显示视频流的窗口,这不是我想要的。

我想知道如何解决该错误并创建一个正常运行的 python 脚本。如果它们正常工作,我愿意使用其他方法。提前感谢您的帮助!

这是错误:

Traceback (most recent call last):
  File "C:\Users\mjten\Desktop\Programing\Python\lofi.py", line 8, in <module>
    playurl = best.url
AttributeError: 'NoneType' object has no attribute 'url'

这是我的代码:

import pafy
import vlc

url = 'https://www.youtube.com/watch?v=5qap5aO4i9A'

video = pafy.new(url)                                                                                                                       
best = video.getbestaudio()                                                                                                                 
playurl = best.url                                                                                                                          
player = vlc.MediaPlayer(playurl)                                                                                                           
player.play()

while True: pass

PS 对不起,我只是想同时找出一个工作示例。

4

1 回答 1

0

点安装pafy

点安装 youtube_dl

import pafy

def stream(url):
   video = pafy.new(url, ydl_opts={'nocheckcertificate': True})
    print(video)
    best = video.getbestaudio()
    stream_urls = best.url
    print(stream_urls)


stream('https://www.youtube.com/watch?v=5qap5aO4i9A')
于 2021-07-25T21:36:25.367 回答