【问题标题】:How can I get the video's thumbnail using ytdl.getInfo?如何使用 ytdl.getInfo 获取视频的缩略图?
【发布时间】:2019-10-12 03:14:29
【问题描述】:

我正在使用 ytdl-core 和 discord.js 创建一个不和谐机器人,并正在添加一个音乐命令。有没有办法使用 ytdl.getInfo 来获取所提供 URL 的缩略图?

编辑:

let validate = await ytdl.validateURL(args[0])
    if(!validate) return message.channel.send("This URL doesn't seem to be valid. Please put a valid YouTube URL after the command.")
    let vidInfo = await ytdl.getInfo(args[0])

【问题讨论】:

  • 请添加您的代码。

标签: javascript node.js bots discord discord.js


【解决方案1】:

如果您对链接看起来非常好,您会发现它们都创建为https://i.ytimg.com/vi/video_id/default.jpg,因此如果您有视频的 ID,您可以轻松地将其定义为变量并将其放入链接中,就像

let videoID = //however you want to get the ID
https://i.ytimg.com/vi/${videoID}/default.jpg

【讨论】:

    【解决方案2】:

    是的,你可以
    通过运行ytdl.getInfo(),您可以发现对象的第一个属性之一是thumbnail_url。所以会是

    const ytdl = require('ytdl-core');
    
    ytdl.getInfo('https://www.youtube.com/watch?v=YQHsXMglC9A', function(err, info) {
      console.log(info.thumbnail_url) // "Adele - Hello" thumbail
    });
    

    但是默认缩略图非常小。所以我继续看视频,发现(通过检查元素)用于背景的图片与默认图片相同,但名称中使用“hqdefault”而不是“default”。

    示例:
    阿黛尔你好缩略图:https://i.ytimg.com/vi/YQHsXMglC9A/default.jpg
    阿黛尔你好总部缩略图:https://i.ytimg.com/vi/YQHsXMglC9A/hqdefault.jpg

    我不知道它是否适用于所有视频。我认为你可以这样做,尝试 hq thumbnail,如果没有找到使用默认缩略图。

    编辑:Adele Hello maxres 缩略图:https://i.ytimg.com/vi/YQHsXMglC9A/maxresdefault.jpg

    【讨论】:

      猜你喜欢
      • 2011-05-12
      • 2015-07-30
      • 2010-11-19
      • 2012-03-28
      • 1970-01-01
      • 1970-01-01
      • 2013-06-05
      • 2018-03-25
      • 2020-05-16
      相关资源
      最近更新 更多