设置:在后端使用 ffmpeg 流式传输上传视频的网站。根据客户端设备的需要提供不同的视频格式。
我的理解是,一些网站以多种格式保存相同的视频,而其他网站则在客户端设备调用 HTML5 视频时将非 HTML5 视频(例如)即时转换为 HTML5 视频。
为什么要一个比一个?
设置:在后端使用 ffmpeg 流式传输上传视频的网站。根据客户端设备的需要提供不同的视频格式。
我的理解是,一些网站以多种格式保存相同的视频,而其他网站则在客户端设备调用 HTML5 视频时将非 HTML5 视频(例如)即时转换为 HTML5 视频。
为什么要一个比一个?
大多数网站/托管平台会将相同的视频保留为多种 HTML5 视频兼容格式(截至目前的 mp4 和 webm),以便按需交付。动态处理视频需要 CPU/GPU,如果太多人同时观看视频,这可能会导致服务器负载下降。上游转码 + 存储/CDN 通常更便宜,并且可扩展性更好。
实时视频流是另一回事,因为您可以获得 MPEG2(或其他)输入,这通常需要使用 ffmpeg 或像 Wowza 媒体服务器转码器这样的附加功能即时转换为多个 H264/AAC 再现。
编辑:
为什么网站仍然托管 Flash 和非 Flash(即 HTML5)版本的视频?
大多数没有,你也不需要。他们使用 MP4 文件在 Flash 和 HTML5 上交付。您可以找到 FLV 或 F4V(Adobe 风格的 MP4),但它们要么是传统的、面向广告的或仅 Flash 的环境文件(FLV 可用于存储提示点,例如在视频的某个点触发动画)。Youtube 表示最常用的 MP4 文件,但您会发现它们同时提供 flv 和 3gp 文件(移动)。
HTML5 是通用的,可以在任何客户端上播放。Flash 仅限于 PC。到目前为止,他们应该已经抛弃了 Flash。
您可以在 SO 或 Google 上找到描述 Flash 与 HTML5 优缺点的文章。当今市场的势头是 HTML5 首先是 Flash 后备。HTML5 视频“仅”在80% 的当前浏览器中可用。你会明白为什么像 Youtube 或 Brightcove 这样的主要玩家不会放过剩下的 20% 的观众。Vimeo 已转向 HTML5 视频优先策略。Flash 仍然有一些理由 HTML5 视频尚未涵盖(或刚刚开始):
Flash 不能在 iOS 和 Android 上播放——这对 HTML5 视频来说是一个明显的胜利,但对 Flash 来说是一个主要缺点。目前关于 Flash 的一个越来越多的警告是它是一个插件。这引发了安全和性能问题。例如,微软已经宣布他们将在未来几年放弃对 Silverlight 的支持,并且正在转向 HTML5 视频。Java(客户端)越来越受阻。
现在不是一个网络插件的好日子......