下载时使用嵌入python的youtubedl获取视频信息

2024-09-29 22:28:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在将youtube dl嵌入我的python代码中以下载如下视频

ydl_opts = {
    'outtmpl': f'%(id)s.%(ext)s',
    'format': 'bestaudio/best',
    'forcejson': 'forcejson',
    'postprocessors': [{
        'key': 'FFmpegExtractAudio',
        'preferredcodec': 'mp3',
        'preferredquality': '128',
    }],
}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    status = ydl.download([youtube_link])
print(status) # Returns 0 if successful

它很好地下载,并返回status,成功时返回0

但我还需要获得一些视频信息,比如持续时间、标题、作者等。Youtube dl在下载过程中会获得这些信息,我可以使用forcejsonopt强制打印。但是我怎样才能得到它,这样我就可以将它存储在一个变量中,而不必使用ydl.extract_info(youtube_link)再次运行它(这会再次下载网页,有时需要10-20秒)


Tags: 代码信息idformat视频youtubestatuslink
1条回答
网友
1楼 · 发布于 2024-09-29 22:28:27

您可以传递download=False以避免下载视频

def extract_info(self, url, download=True, ie_key=None, extra_info={},
                 process=True, force_generic_extractor=False):
    '''
    Returns a list with a dictionary for each video we find.
    If 'download', also downloads the videos.
    extra_info is a dict containing the extra values to add to each result
    '''

相关问题 更多 >

    热门问题