【发布时间】:2015-06-11 09:02:48
【问题描述】:
我正在寻找一种跨浏览器视频解决方案,该解决方案能够使用本地 HTML 文件和本地字幕(.srt 文件)显示本地视频。 我尝试过不同的播放器(VideoJS、jwPlayer、带有 jquery.srt 的 HTML5 原生等)。 在线托管时一切正常,但本地托管时似乎没有一个正常工作。
很遗憾,我无法安装任何网络服务器或使用第三方扩展。
有人已经解决了吗?
HTML5 使用带有 .vtt 文件(或带有 jquery.srt 的 .srt 文件)的 track 标签: 与 IE10+ 完美兼容,但不适用于 Chrome 40+(相同评论 Viewing HTML5 video with captions offline)
<video controls preload="none" width="800" height="600" poster="test.jpg">
<source src="test.mp4" type='video/mp4' />
<track kind="subtitles" src="test_EN.vtt" srclang="en" label="English"></track>
<track kind="subtitles" src="test_FR.vtt" srclang="fr" label="French"></track>
</video>
jwPlayer v6 无法离线工作,您会收到以下消息:“不支持离线播放”。经过几次搜索后,您可以使用 jwPlayer v5 .swf 文件制作视频,但是......字幕不起作用。
<script type="text/javascript" src="jwplayer.js"></script>
<div id="oplayer">Loading the player...</div>
<script type="text/javascript">
jwplayer("oplayer").setup({file:"test.mp4",
image:"test.jpg",width:800,height:600,top:10,left:10,autostart:false,
tracks:[{file:"test_FR.srt",label:"FR",kind:"captions","default":true},
{file:"test_EN.srt",label:"EN",kind:"captions","default":true}]});
</script>
videoJS 也使用 HTML5,所以行为相同。
注意:
如果你想绕过 Chrome 的本地问题,你可以从命令行窗口使用附加参数“--allow-file-access-from-files”启动浏览器
【问题讨论】:
-
与其寻找不同的解决方案,也许您应该寻找修复您之前的尝试之一。你遇到了什么错误?
-
感谢您的回答,我已经添加了更多信息。
-
是否必须跨操作系统兼容?也许有一个非html的解决方案?需要播放多少个视频?
-
实际上视频是嵌入在一个html项目中的,所以,它不可能是一个非html的解决方案。也许我必须找到一种方法来获取潜艇并将它们放入 html 文件中。我不明白为什么 Chrome 不运行本地字幕文件(而 IE 可以!)
-
它是 IE 中的一个漏洞,它应该不起作用。 “嵌入在 HTML 项目中”是什么意思? HTML 项目只是文件系统中的文件,绝对没有理由不能双击其中一个视频。
标签: javascript html