如何从YouTube视频URL获取直接视频URL



我将使用React-Native播放YouTube和Vimeo视频。目前,我实施了React-Native-Video,并且不支持播放YouTube或Vimeo URL,而可以播放直接的视频URL。因此,我只想从YouTube视频URL中直接引用对文件(或流?)的引用。 例如

https://www.youtube.com/watch?v=PCwL3-hkKrg

是否有任何良好的第三方服务或网站可以解决此问题?无论您使用React-Native目前使用React-Native播放YouTube视频,您将使用哪种类型的代码或方式。

最后,我能够从keepvid网站获取youtube视频文件参考url。

因为我认为该网站不支持RESTFUL API,所以我获取了其HTML内容并解析以获取下载URL。我没有在这里编写代码,因为这很简单。我会为您提供帮助,我会很高兴。

您可以通过此代码获得YouTube的视频URL:

    // ES6 version
const videoUrls = ytplayer.config.args.adaptive_fmts
  .split(',')
  .map(item => item
    .split('&')
    .reduce((prev, curr) => (curr = curr.split('='),
      Object.assign(prev, {[curr[0]]: decodeURIComponent(curr[1])})
    ), {})
  )
  .reduce((prev, curr) => Object.assign(prev, {
    [curr.quality_label || curr.type]: curr
  }), {});
console.log(videoUrls);
// ES5 version
var videoUrls = ytplayer.config.args.adaptive_fmts
  .split(',')
  .map(function (item) {
    return item
      .split('&')
      .reduce(function (prev, curr) {
        curr = curr.split('=');
        return Object.assign(prev, {[curr[0]]: decodeURIComponent(curr[1])})
      }, {});
  })
  .reduce(function (prev, curr) {
    return Object.assign(prev, {
      [curr.quality_label || curr.type]: curr
    });
  }, {});
console.log(videoUrls);

我可以理解您想要的东西 - 从YouTube或Vimeo的URL下载或播放视频[流]。

仅可能的方法是使用WebView,因为不可能获取Vimeo nor YouTube的vime vile(而不是"直接URL" )的链接进行播放(也许可以下载)。

如果您必须撰写自定义控件,例如使用自己的Seekbar或按钮,...然后您可以通过与WebView控件结合使用来实现它,对吗?我不希望实施这会有太大麻烦。

相关内容

  • 没有找到相关文章

最新更新