【问题标题】:Get video title from ytdl-core从 ytdl-core 获取视频标题
【发布时间】:2016-12-13 03:02:21
【问题描述】:

我已经下载了 ytdl-core,我将它与 discord.js 一起使用。我有一个命令可以将 YouTube 视频的音频播放到语音聊天中。有人知道我可以从链接中获取视频标题字符串的方法,还是获取标题的简单方法?更简单的方法只是以某种方式从链接中获取视频标题。任何帮助表示赞赏!谢谢!

【问题讨论】:

    标签: javascript json node.js video youtube


    【解决方案1】:

    使用getInfo(),但由于ytdl-core 的变化,info.title 不再有效。

    例子:

    getInfo('https://www.youtube.com/watch?v=YQHsXMglC9A', (info) => {
        // console.log(info.title) Alert! this is Wrong
        console.log(info.videoDetails.title) // "Adele - Hello"
    });
    
    

    【讨论】:

      【解决方案2】:

      您可以使用下面的功能,它对我来说非常适合:

      function getTitleVideo (videoUrl){
         return new Promise ((resolve, reject) => {
            ytdl.getBasicInfo (videoUrl, (err, info) => {
                  resolve (info.title)
            })
         })
      } 
      

      【讨论】:

        【解决方案3】:

        当您通过 Node.JS 管道将音频流式传输到 WebSocket 时。
        您可以使用已经获取的信息来提高效率!

        var stream = YTDL('https://youtu.be/H7NuU-dDRLU');
        
        /* Spit-out information when recieved */
        stream.on('info', (info) => {
            console.log(info.title);     // Tobu - Roots
            console.log(info.video_id);  // H7NuU-dDRLU
        });
        

        注意:如果只是需要获取信息,请改用YTDL.getInfo

        【讨论】:

        • 我想使用 title 和 id 作为文件名,如何在我的代码中做到这一点:video.pipe(fs.createWriteStream('videos/'+ info.title+ ' ' +info .video_id+'.mp4'));我知道这与异步调用有关,但也许你知道解决方案
        【解决方案4】:

        你要找的是getInfo()

        https://github.com/fent/node-ytdl-core#ytdlgetinfourl-options-callbackerr-info

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

        【讨论】:

          猜你喜欢
          • 2018-03-09
          • 2018-05-29
          • 2020-05-05
          • 2019-09-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-16
          • 1970-01-01
          相关资源
          最近更新 更多