在Node. js/ Electron应用程序中播放本地.avi视频

laik7k3q  于 2022-12-16  发布在  Electron
关注(0)|答案(2)|浏览(310)

我正在开发的一个应用程序中有一个令人抓狂的差距,那就是HTML5视频实现中似乎很少(或根本没有)支持AVI。所以,我需要一个跨平台的解决方案,并能与我的电子应用程序打包。

  • 视频在本地托管
  • 我不反对动态编码(ffmpeg avi -〉mp4和原生使用HTML5?)
  • WebChimera似乎死于VLC和电子的变化(开发人员跟不上)(有另一个npm包可以做到这一点吗?)
  • 调用本机VLC示例的 Package 器可能可以工作--但是如何确保VLC在系统上与我的 Package 一起可用呢?
  • 我应该在一个单独的窗口中生成一个本地应用程序吗(例如,Linux上的Totem)?(看起来很笨拙)
  • 最新的videoj-java插件显然有问题(https://github.com/Afterster/videojs-java/issues/2),在电子堆栈中添加另一层(java)似乎有点令人不快。
  • FFBinaries(https://github.com/vot/ffbinaries-node)看起来很有前途......但奇怪的是,FFPlay不适用于Linux(尽管我怀疑我的Linux用户可能已经安装了ffmpeg)。

NB:文件肯定是AVI格式的,我无法更改。
任何提示/指针非常感谢!

更新

在我的系统上,使用ffmpeg转换:

ffmpeg -i infile.AVI -vcodec copy -acodec copy outfile.mp4

根本不需要时间(它们是短视频):

real    0m0.138s
user    0m0.100s
sys     0m0.032s

所以我倾向于把ffmpeg和我的程序打包在一起,然后在加载之前进行转换。

mkshixfv

mkshixfv1#

看看这个项目:

根据已知的支持格式:

  • https://github.com/RIAEvangelist/electron-video-player#known-supported-video-types

它支持:

  • mp4
  • 韦姆
  • 奥格
  • 移动(MPEG4| H.264标准)
  • 视频图像接口(MPEG4| H.264标准)
  • mkv(MPEG4| H.264标准)
  • m4v(MPEG4| H.264标准)

看一下它的源代码,看看是否可以类似地实现它。
你说你需要AVI支持,但AVI只是一个容器-如果你需要其他的编解码器比这个项目所支持的,那么你仍然需要转码它第一。
如果你不能这样做,那么你可以尝试使用类似的东西:

并将mplayer与您的应用程序或其他播放器捆绑在一起。

70gysomp

70gysomp2#

根据this SO的回答,Electron现在在<video>标签中支持多种视频格式,包括.mkv.avi等格式,不需要依赖外部播放器。

相关问题