电子应用可以播放本地支持的任何视频吗

reb*_*ard 3 video node.js electron

我知道浏览器通常会限制播放器mp4webm媒体类型,但我想知道基于电子的应用程序是否可以运行MKV和AVI等格式的本地视频.我找不到明确的消息来源告诉我什么是不可用的.

ppa*_*jer 7

Electron仍然局限于网络技术......

这意味着即使您可以通过节点API访问文件系统和其他内容,内容呈现也会发生在BrowserWindow与基于webkit的浏览器相同的视频播放支持中.您可以使用HTML5视频或画布来实现此目的,这就是本机的.(理论上也支持Flash,但在我看来,运行它所需的工作量并不值得......而且,它是Flash,所以,不.)

......但这并不完全正确

即使原生支持在那里结束,您也可以采用各种途径来解决这些限制.我将列出一些最常见的:

  • 将您的MKV/AVI视频在后台转换为支持的格式之一.这样做的缺点是需要整个视频文件出现在您的文件系统上(即不适用于流).
  • 将MKV/AVI流动态转码为支持的格式.这非常灵活,但对您的环境有一些严格的要求,比如在本地安装ffmpeg(或类似的东西).如果你想分发你的应用程序,祝你好运.
  • 嵌入一​​个能够播放MKV/AVI的播放器.最常见的例子是通过节点绑定嵌入的VLC播放器libvlc.如果你想这样,请查看wcjs-player&wcjs-prebuiltmodules,它们是webchimera.js视频播放器的节点包装器,它在后台使用VLC.(我与他们没有关联,目前只使用模块在我的一个项目中使用类似的东西,到目前为止成功.)

我确信还有其他解决方案,但这些是我在研究这个主题时发现的最合乎逻辑的解决方案.希望这可以帮助!

  • 只是一个抬头.WebChimera.js不再受支持,因为"NPAPI"将很快被弃用.更多信息:https://gitter.im/RSATom/WebChimera (2认同)