如何使用 YouTube-dl python api 获取 YouTube 链接的 mp3 url?

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)

Vin*_*nto 5

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 才能播放。