9

我经营着一个网站,其中包含大约 700 个参考视频(不,它不是色情片——让你的思想摆脱阴沟:-))。

视频目前为 FLV 格式。我们使用 JWPlayer 来渲染这些视频。IIS6 托管。一切正常。

据我了解,H.264(不是 FLV,可能不是 OGG)是新兴的首选 HTML5 视频标准。今天,iPad 真的只尊重 H.264 或 YouTube。据推测,很快许多更重要的浏览器将效仿 Apple 并仅尊重 HTML5 标签。

好的,所以我想我可以弄清楚如何将我现有的视频转换为正确的 H.264 格式。有多种工具可用,包括 ffmpeg.exe。我还没有尝试过,但在摆弄编解码器设置后,我认为这不会成为问题。

我的问题更多是关于容器本身——即为所有用户规划优雅的过渡。渲染这些视频的最佳实践建议是什么?如果我只使用 HTML5 标签,那么大概任何不支持 HTML5 的浏览器都不会看到视频。如果我通过 JWPlayer 或其他播放器以 Flash 格式渲染它们,那么它们将无法在 iPad 上播放。我是否必须在这里进行丑陋的 UserAgent 检测才能确定要渲染的内容?

我知道 JWPlayer 支持 H.264 媒体,但播放器本身不是 Flash 组件,因此不能在 iPad 上播放吗?抱歉,如果我不清楚,但我正在摸索一个优雅的过渡计划,该计划适用于当前的浏览器、iPad 和即将到来的 HTML5 浪潮。我不是视频专家,所以欢迎任何建议,谢谢。

4

6 回答 6

8

请注意 Firefox 不支持带有视频标签的 H.264,因此如果您想要一个优雅的回退,那么您应该像下面这样呈现您的视频标签并拥有视频的 OGG 版本。

       <video controls id="video" width="320" height="240" preload autobuffer >
            <source src="http://mycdn.com/videos/vid1.ogg" type="video/ogg" />
            <source src="http://mycdn.com/videos/vid1.mp4" type="video/mp4" />
            <!--RENDERED ON BROWSERS WITH NO HTML5 VIDEO SUPPORT-->
            <object width="320" height="240">
            <param name="movie" value="myplayer.swf">
            <embed src="myplayer.swf" width="550" height="400">
            </embed>
            </object>
             <!---->
        </video>
于 2010-05-03T03:52:30.803 回答
4

我不确定这是一个答案还是只是一个评论,但我真的需要挑战原始问题的一个假设:“可能很快会有更多重要的浏览器效仿 Apple 并且只尊重 HTML5 标签。”

这只是没有任何我能看到的支持。

  1. 所有桌面浏览器都支持插件,包括 Flash。大多数非 Apple 智能手机/平板电脑都支持 Flash、支持任意插件或支持替代浏览器。
  2. 所有浏览器,甚至是 iPhone OS 浏览器,都支持对象标签,并且至少尝试用它做一些事情。他们甚至支持诸如选框和字体标签之类的东西!对象标签将存在很长时间,据我所知,它甚至是 HTML5 的一部分。
  3. Firefox,可能是各种 IE 版本之后的第二大浏览器,目前不支持 H.264。
  4. 微软已经明确表示他们不喜欢 Flash,并且希望人们使用 Silverlight,这支持了我的感觉,即对象标签将继续存在。他们隐约承诺只在 IE9 中支持原生 HTML5 视频标签。与此同时,他们将 Flash 插件作为 Vista 和 Win7 操作系统的一部分提供。

无论如何,要了解问题的实质:“我的问题更多是关于容器本身——也就是说,为所有用户规划优雅的过渡。渲染这些视频的最佳实践建议是什么”

HTML5 视频标签支持命名多个源,因此如果浏览器不支持直接 H.264 视频,您可以将原生 H.264 视频作为“主要”,将 Flash 播放器作为“后备”使用溪流。

<video>
<source src="../videos/primary.mp4" type="video/mp4" />
<object>
    <param name="movie" value="fallbackplayer.swf">
    <embed src="../videos/fallbackplayer.swf">
    </embed>
</object>
</video>
于 2010-05-03T03:53:36.777 回答
3

建议您为大家阅读视频以获得良好的跨浏览器实施。您也可以将 H.264 用于 Flash 后备,但正如 Lachlan 所说,您也应该使用 Ogg 渲染以获得完全的跨浏览器兼容性。

于 2010-05-06T11:42:30.120 回答
1

每个浏览器对视频编解码器的支持是这样的:

  • 火狐:Ogg Theora/Vorbis
  • 歌剧:Ogg Theora/Vorbis
  • Chrome:Ogg Theora/Vorbis 和 h.264
  • Safari:h.264(安装了 XiphQT 组件的 Ogg Theora/Vorbis)
  • IE9:h.264

我也建议使用 Ogg Theora 替代品。我知道您是否担心磁盘空间并不重要,但由于专利版税和对专利巨魔的恐惧,我们陷入了困境。

于 2010-05-03T15:31:02.837 回答
1

不直接回答您的问题,但doom9.org有大量关于视频转换/处理的精彩教程。可能对你有用

于 2010-05-03T17:32:03.633 回答
0

由于 Chrome 从未真正退出支持 h264 的插件,Firefox 也保留了它,并计划更好地支持该格式。

https://developer.mozilla.org/en-US/docs/HTML/Supported_media_formats (大约是页面下方的 1/3)

于 2013-03-19T14:59:45.247 回答