我正在使用ytdl-core和discord.js创建一个不和谐的机器人,并添加一个音乐命令。有没有办法使用ytdl.getInfo来获取所提供网址的缩略图?
编辑:
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])发布于 2021-07-28 03:52:18
如果您仔细查看这些链接,您会发现这两个链接都是像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发布于 2019-05-27 14:20:25
是的,你可以
只需运行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
Adele Hello hq缩略图:https://i.ytimg.com/vi/YQHsXMglC9A/hqdefault.jpg
我不知道它是否适用于所有的视频。我认为你可以这样做,尝试hq缩略图,如果找不到,使用默认缩略图。
编辑: Adele Hello maxres缩略图:https://i.ytimg.com/vi/YQHsXMglC9A/maxresdefault.jpg
https://stackoverflow.com/questions/56310914
复制相似问题