我正在尝试使用<video>
标签功能。我用以下代码对我的文件进行了编码ffmpeg
:
ffmpeg -i 1.vob -f ogg -vcodec libtheora -b 800k -g 300 -acodec libvorbis -ab 128k out.ogv
我已将此文本放在index.html
:
<video src="out.ogv" controls></video>
我已将此文件加载到nginx
文档根目录并index.html
在 Firefox 3.5 中打开。我看到第一帧,看到控件,但无法播放视频。即使在我的服务器上,该视频也能正常播放。
我应该如何编码视频以在浏览器中查看?
升级版:
如果我从中间开始播放视频,一切正常。
根据此页面,您必须将 mime 类型添加到服务器,在 Apache 中它将是:
嗯,只是好奇,您是否尝试过将扩展名重命名为 .ogg 而不是 .ogm?
编辑:
您有机会阅读此页面吗?
我还没有真正研究过 html5(仍在等待它成为最终版本)但我相信你需要阅读你的 html
我不太清楚你的问题。我看到的唯一一件事是正在运行的视频使用 30 fps 的帧速率。根据手册页 ffmpeg 将使用 25:
我不是这方面的专家,这是我在查看工作文件时发现的唯一东西。
如果你从中间播放它并且它可以工作,在我看来,HTML 没有问题,但视频本身有问题。
我不熟悉视频的 OGG 格式,但我使用了大量来自 Adobe FMS 的 FLV 流媒体,并且我们在丢失 META 数据时遇到了类似的问题。文件开头缺少元 = 肯定会死,但如果你从中间开始播放文件,那是 A-OK。
我在 ffmped2theora 上取得了很好的成功,而普通的 ffmpeg 无法帮助我:
将 1.vob 转换为 1.ogv
这可能是你的视频,当我在 Firefox 3.5 下将它命名为 video.ogg 时,它对我来说很好。尝试导出一些其他的 ogg 视频,也许使用各种导出程序只是为了测试,看看是否可以播放。我所做的只是将以下内容用作 Apache 文档根目录中的 index.html 文件:
我找到的最详细的资源是Dive into HTML5。
使用视频标签并不是一个好主意,因为虽然标签本身仍然存在,但对标准编解码器的要求已被删除。有些会支持 ogg,有些会支持 H.264,有些则不支持。Theora 的硬件加速也受到限制,因此上网本和手机之类的东西不能很好地处理它。