nodejs 获取油管下载链接的方式
只能在 node 环境运行,react-native 没 node 环境不行。有兴趣的人可以去改编成更通用的版本,以适配非 node 环境
const ytdl = require('ytdl-core')
const url = process.argv
if (!url) {
console.log('usage: ', 'npx ts-node youtube/yt.ts "https://www.youtube.com/watch?v=jNQXAC9IVRw"')
process.exit()
}
ytdl.getBasicInfo(url).then(res=>{
const formats = res.player_response.streamingData.formats
let format = formats
for (let i=1; i<formats.length; i++) {
if (formats.width > format.width) {
format = formats
}
}
const videoUrl = format?.url
const sizeMB = format.bitrate*Number(format.approxDurationMs)/8/1000/1024/1024
const durationSecond = Number(format.approxDurationMs)/1000
const thumbnails = res.player_response.videoDetails.thumbnail.thumbnails
let thumbnail = thumbnails
for (let i=1; i<thumbnails.length; i++) {
if (thumbnail.width < thumbnails.width) {
thumbnail = thumbnails
}
}
const coverUrl = thumbnail?.url
console.log({videoUrl, coverUrl, sizeMB, durationSecond})
}) 我刚刚还在弄自己的博客,用的hexo,node版本问题折腾了好久。有些modules 新版node没有。我从18换到14才成功跑起来。 How 发表于 2024-1-13 05:12
我刚刚还在弄自己的博客,用的hexo,node版本问题折腾了好久。有些modules 新版node没有。我从18换到14才成 ...
nvm 切换一下很方便
页:
[1]