保存到离线而不使用 shaka 播放器创建播放器对象

Posted

技术标签:

【中文标题】保存到离线而不使用 shaka 播放器创建播放器对象【英文标题】:save to offline without creating player object using shaka player 【发布时间】:2017-08-31 05:17:11 【问题描述】:
Class: shaka.offline.Storage

有一个构造函数

new Storage(player)

Class: shaka.Player

有一个构造函数

new Player(video(non-null), opt_dependencyInjector(opt))

但我试图做的是保存一个视频网址,而页面中没有视频元素。有可能吗。

如果我能在电子申请的主要过程的后台做这件事就好了。

【问题讨论】:

【参考方案1】:

您可以使用 javascript 创建视频元素。它不会出现在页面上。

var video = document.createElement('video');
var player = new shaka.Player(video);
var storage = new shaka.offline.Storage(player);

目前,播放器需要在页面内运行。这意味着你不能在 service worker 中加载 Shaka Player。我不确定 electron 将如何处理后台进程,但它可能无法正常工作,因为播放器需要某些 API 可用,而这些 API 在 Service Worker 中不可用。

我们(Shaka 团队)目前也在努力更改 API,以便:(1) 您最初可以在没有视频元素的情况下初始化 Player 实例,以及 (2) 您可以在没有 Player 实例的情况下创建 Storage 实例。这些是能够在 service worker 中使用播放器的要求。

【讨论】:

感谢您的回复。另一个小问题是可以选择本地文件存储作为离线存储区域吗? 你能解释一下“本地文件存储”是什么意思吗?沙卡播放器使用IndexedDB存储数据,由浏览器存储在本地文件中。 我的意思是不使用indexedDB的可能是mongoDB、mysqlDB或者其他任何DB。 不,没有办法。 Shaka Player 仅支持 IndexedDB。您可以查看issue #1005 以获取有关如何修改播放器的信息。

以上是关于保存到离线而不使用 shaka 播放器创建播放器对象的主要内容,如果未能解决你的问题,请参考以下文章

shaka 播放器从不触发“错误”监听器

如何正确向 Shaka 播放器提供 MPEG-DASH 清单?

Shaka 播放器无法在谷歌浏览器上加载 HLS

在 Shaka Player 中更改字幕的文本大小

我们如何在 Shaka 播放器中获取当前渲染流的详细信息?

在 Chrome 上使用 Shaka Player 播放 HLS m3u8