电子应用程序可以播放本地支持的任何视频吗?
Can electron apps play any videos supported locally?
我知道浏览器通常将播放器限制为 mp4
和 webm
类型的媒体,但我想知道基于电子的应用程序是否有可能 运行 MKV、AVI等格式的本地视频。我找不到明确的消息来源告诉我什么可用,什么不可用。
Electron 仍然局限于网络技术...
这意味着即使您可以通过节点 API 访问文件系统和诸如此类的东西,内容呈现还是发生在 BrowserWindow
内,它对视频播放的支持与基于 webkit 的浏览器大致相同。
为此,您可以使用 HTML5 视频或 canvas,这几乎就是它的本机功能。 (理论上也支持 Flash,但我认为获得它所需的工作量 运行 不值得......另外,它是 Flash,所以,不。 )
...但这并不完全正确
尽管本机支持到此为止,但您可以采用多种途径来解决这些限制。我将列出一些最常见的:
- 在后台将您的 MKV/AVI 视频 转换为一种受支持的格式。这样做的缺点是需要整个视频文件出现在您的文件系统中(即不适用于流)。
- 即时将您的 MKV/AVI 流 转码为受支持的格式。这非常灵活,但对您的环境有一些严格的要求,例如在本地安装 ffmpeg(或类似的东西)。如果您想分发您的应用程序,祝您好运。
- 嵌入能够 MKV/AVI 播放的播放器。 最常见的示例是通过节点绑定嵌入到
libvlc
的 VLC 播放器。如果您想这样做,请查看 wcjs-player
和 wcjs-prebuilt
模块,它们是 webchimera.js 视频播放器的节点包装器,它在后台使用 VLC。 (我不隶属于他们,目前只是在我的一个项目中使用这些模块进行了类似的事情,到目前为止取得了成功。)
我确定还有其他解决方案,但这些是我在研究该主题时发现的最合乎逻辑的解决方案。希望这对您有所帮助!
如果您像我一样在搜索“.mkv Electron”之类的内容后遇到此主题,请注意当前的最高响应不再准确。
Electron 现在可以原生播放带有 <video>
元素的 .mkv 文件 以及可能包括 .Avi 在内的许多其他格式。不要像我一样尝试进入 webchimera 这个可怕的兔子洞,并试图让它与 electron 一起工作。
我知道浏览器通常将播放器限制为 mp4
和 webm
类型的媒体,但我想知道基于电子的应用程序是否有可能 运行 MKV、AVI等格式的本地视频。我找不到明确的消息来源告诉我什么可用,什么不可用。
Electron 仍然局限于网络技术...
这意味着即使您可以通过节点 API 访问文件系统和诸如此类的东西,内容呈现还是发生在 BrowserWindow
内,它对视频播放的支持与基于 webkit 的浏览器大致相同。
为此,您可以使用 HTML5 视频或 canvas,这几乎就是它的本机功能。 (理论上也支持 Flash,但我认为获得它所需的工作量 运行 不值得......另外,它是 Flash,所以,不。 )
...但这并不完全正确
尽管本机支持到此为止,但您可以采用多种途径来解决这些限制。我将列出一些最常见的:
- 在后台将您的 MKV/AVI 视频 转换为一种受支持的格式。这样做的缺点是需要整个视频文件出现在您的文件系统中(即不适用于流)。
- 即时将您的 MKV/AVI 流 转码为受支持的格式。这非常灵活,但对您的环境有一些严格的要求,例如在本地安装 ffmpeg(或类似的东西)。如果您想分发您的应用程序,祝您好运。
- 嵌入能够 MKV/AVI 播放的播放器。 最常见的示例是通过节点绑定嵌入到
libvlc
的 VLC 播放器。如果您想这样做,请查看wcjs-player
和wcjs-prebuilt
模块,它们是 webchimera.js 视频播放器的节点包装器,它在后台使用 VLC。 (我不隶属于他们,目前只是在我的一个项目中使用这些模块进行了类似的事情,到目前为止取得了成功。)
我确定还有其他解决方案,但这些是我在研究该主题时发现的最合乎逻辑的解决方案。希望这对您有所帮助!
如果您像我一样在搜索“.mkv Electron”之类的内容后遇到此主题,请注意当前的最高响应不再准确。
Electron 现在可以原生播放带有 <video>
元素的 .mkv 文件 以及可能包括 .Avi 在内的许多其他格式。不要像我一样尝试进入 webchimera 这个可怕的兔子洞,并试图让它与 electron 一起工作。