从ytdl-core Express下载的360p以上视频中没有音频吗?

时间:2020-05-09 21:45:18

标签: node.js express audio youtube

我制作了一个可以从youtube链接的链接下载视频的api,但是我无法下载音频高于360p格式的视频。它仅下载视频,而没有音频。
有什么解决办法吗?

2 个答案:

答案 0 :(得分:0)

通常1080p或更好的视频没有音频编码。音频必须单独下载并通过适当的编码库合并。 ffmpeg是使用最广泛的工具,有许多可用的Node.js模块。使用ytdl.getInfo返回的格式对象下载特定的流,以进行组合以适应您的需求。查看https://github.com/fent/node-ytdl-core/blob/master/example/ffmpeg.js上的示例。

答案 1 :(得分:0)

您可以指定视频质量

const video = ytdl('http://www.youtube.com/watch?v=e_RsG3HPpA0',{quality: 18});
video.on('progress', function(info) {
  console.log('Download progress')
})
video.on('end', function(info) {
  console.log('Download finish')
})

video.pipe(fs.createWriteStream('video.mp4'));

请通过this link

检查质量值选项