我正在开发的一个应用程序中有一个令人抓狂的差距,那就是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和我的程序打包在一起,然后在加载之前进行转换。
2条答案
按热度按时间mkshixfv1#
看看这个项目:
根据已知的支持格式:
它支持:
看一下它的源代码,看看是否可以类似地实现它。
你说你需要AVI支持,但AVI只是一个容器-如果你需要其他的编解码器比这个项目所支持的,那么你仍然需要转码它第一。
如果你不能这样做,那么你可以尝试使用类似的东西:
并将mplayer与您的应用程序或其他播放器捆绑在一起。
70gysomp2#
根据this SO的回答,Electron现在在
<video>
标签中支持多种视频格式,包括.mkv
、.avi
等格式,不需要依赖外部播放器。