【问题标题】:Playing Youtube, Vimeo and any other video services' videos in one's own player [closed]在自己的播放器中播放 Youtube、Vimeo 和任何其他视频服务的视频 [关闭]
【发布时间】:2013-08-21 22:31:19
【问题描述】:

我知道 Youtube 和 Vimeo 都有嵌入代码,可让您将他们的播放器嵌入任何网页。但是,我希望构建一个外观一致的网络播放器。更重要的是,我正在寻找一个可以播放来自尽可能多的视频托管服务的视频的播放器。我是从 Youtube 和 Vimeo 开始的,但我想逐步增加对视频服务的支持。我想如果视频托管服务之间有一些一致的接口,这可能会更容易,就像某种协议一样。然后我突然想到,URL 是这类事情的通用协议;无需重新发明协议。因此,如果只有 Youtube 和 Vimeo 提供了一个可以在我的播放器中播放的视频文件的 URL,那么我可以很容易地找到所有这些服务之间的一些交叉部分。

这就是我在这里的原因;我在问是否有人知道这些服务是否提供了可用于自定义视频播放器的原始视频文件或文件(用于不同格式、flv、H.264、WebM 等)的 URL?或者这是托管服务由于广告收入而禁止的事情?

【问题讨论】:

  • 这个问题似乎离题了,因为它与编程没有直接关系。

标签: video youtube youtube-api vimeo


【解决方案1】:

由于您推测的许多原因(还有他们不希望您下载视频的问题),您不太可能找到可以让您直接访问文件本身的视频托管服务。但是,至少 Youtube 提供了将视频嵌入到无铬播放器的能力——这样,根本没有 Youtube 控件,因此您可以覆盖自己的 JavaScript 工具栏,将其连接到播放器 API 等。其他托管服务也这样做。

Vimeo,除非最近发生了一些变化,否则它也有一个播放器 API,但没有为您提供隐藏其控件的选项,因此它不是一个完美的无缝体验。

以下是嵌入 YouTube 无铬播放器的方法:

var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

function onYouTubeIframeAPIReady() {
  var player;
  player = new YT.Player('player', {
    videoId: 'voNEBqRZmBc',
    playerVars: { 'autoplay': 1, 'controls': 0 },
  });
}

您还可以通过查看已经尝试成为各种视频共享网站的包装器的播放器的代码来找到一些信息,例如http://www.videojs.com

【讨论】:

    【解决方案2】:

    Vimeo 允许 PRO 成员访问他们通过 API 上传的任何视频的源文件。

    如果这对您有用,您可以使用https://vimeo.com/help/contact 的表单请求访问新 API

    【讨论】:

      猜你喜欢
      • 2014-05-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-23
      • 2015-05-20
      • 1970-01-01
      • 2015-07-03
      • 1970-01-01
      • 2018-12-20
      相关资源
      最近更新 更多