【问题标题】:How to embed videos with a customized player and automatic transcoding?如何使用自定义播放器和自动转码嵌入视频?
【发布时间】:2019-06-11 09:01:29
【问题描述】:

我需要将视频嵌入到我的网络应用程序中并且有以下要求:

  • 视频需要自动转码成不同的 决议
  • 需要选择播放速度
  • 需要在移动设备上工作
  • 我需要修改播放器
  • 视频需要可由非软件开发人员上传 => 用于视频上传和管理的用户界面

从平台嵌入视频的问题在于,您通常必须使用 iframe 来执行此操作。但是,如果 iframe 来自另一个域,我无法访问其内容,因此无法修改播放器,因为我无法访问 iframe 中的视频元素。

我需要做的修改如下:

  • 在时间线中的特定提示点放置标记
  • 在提示点处暂停视频
  • 到达提示点时在视频下方显示一些附加信息

到目前为止,我发现的唯一可能的解决方案是在我的 Web 应用程序域的子域上自己托管一个平台,并调整该平台的代码以将 document.domain 属性设置为我的 Web 应用程序的域。这样我就可以访问平台提供的 iframe 内的视频标签。我不喜欢该解决方案的一点是,我不想自己托管平台,而且如果我不需要修改平台也很好。

【问题讨论】:

  • 没有单一的产品或解决方案可以做到这一切。 Mux.com 将完成大部分工作,但您需要完成章节和上传的小 UI。

标签: javascript video iframe video-streaming html5-video


【解决方案1】:

您可以使用 HTML5 提供的视频标签。

<video>
<src = "your src here">
</video>

首先根据所有分辨率创建视频并存储 然后使用 javascript Web API 为不同类型的分辨率更改 src

var videoplayer = document.getElementsByTagName("video")[0];

videoplayer.src = "new src here according to the resolution"

播放速度也可以用同样的方法改变

videoplayer.playbackRate = "value according to the user"

Here 是查看修改视频播放器的示例。

您可以使用javascript检测speed of the user并相应地渲染视频源。

如果你不想下载任何东西来检查网速,那么看看如何使用service-worker实现adaptive starting视频体验。

【讨论】:

  • 感谢您的回答。仅使用普通 HTML5 视频标签的问题是我需要自己对所有内容进行转码,然后链接每个分辨率。也不支持自适应分辨率。另一个问题是我必须提供某种用户界面来上传视频。
  • 您可以使用javascript来提供自适应分辨率。使用 window.innerWidth 获取浏览器的宽度,然后提供视频源。至于界面,您可以提供将视频上传到云端文件夹并从那里访问的链接。
  • 自适应分辨率是指根据网速调整分辨率。而且我仍然有用户需要对视频进行转码和上传的问题。 5个不同的版本。我希望自动完成转码。
  • 检查视频的 vimeo API。它提供了所有的功能,比如转码,并且它的播放器是可编辑的(它的 iframe 但它有 cuepoints 事件,可以让你实现你想要的功能)。
  • 我知道 vimeo API,也知道 cuepoint 功能。但我的问题是我找不到任何方法来更改播放器的时间线以显示 cuipoints。
猜你喜欢
  • 1970-01-01
  • 2010-09-28
  • 2018-08-05
  • 2017-11-03
  • 1970-01-01
  • 2016-06-07
  • 2014-05-16
  • 2018-12-16
  • 2018-05-25
相关资源
最近更新 更多