hei*_*erg 0 python api youtube-api httprequest
我需要一个 mp3 网址。这样我就可以使用该 URL 直接在 vlc 中打开它,以便 vlc 可以作为流媒体播放。我在 stackoverflow 上找到了以下代码。我可以对其进行任何更改以获取 mp3 url。
我正在制作pyMusicFs
import youtube_dl
ydl = youtube_dl.YoutubeDL({'outtmpl': '%(id)s%(ext)s'})
# Add all the available extractors
ydl.add_default_info_extractors()
result = ydl.extract_info('http://www.youtube.com/watch?v=BaW_jenozKc'
, download=False # We just want to extract the info
)
if 'entries' in result:
# Can be a playlist or a list of videos
Video = result ['entries'] [0]
else:
# Just a video
video = result
print(video)
video_url = video['url']
print(video_url)
Run Code Online (Sandbox Code Playgroud)
该extract_info方法将返回所有可用格式,但是否包含 MP3 取决于 YouTube。我想我从未见过带有 MP3 链接的视频,但大多数视频都包含M4A版本(只有音频)。
更新:使用您的示例代码,您可以获得 m4a 音频:
for format in video['formats']:
if format['ext'] == 'm4a':
audio_url = format['url']
Run Code Online (Sandbox Code Playgroud)
PS:您必须有最新版本的 VLC 才能播放。