ffmpeg流媒体视频网站 - 即时转换与托管多种格式

时间:2014-04-17 21:35:51

标签: ffmpeg video-streaming html5-video libav video-conversion

设置:在后端使用ffmpeg流式传输上传视频的网站。根据客户端设备的需要提供不同的视频格式。

我的理解是,如果客户端设备需要HTML5视频,有些网站会以多种格式保留相同的视频,而其他网站会将非HTML5视频(例如)转换为HTML5视频。

为什么一个人超过另一个?

1 个答案:

答案 0 :(得分:4)

大多数网站/托管平台将以多种HTML5视频兼容格式(截至今天的mp4和webm)保留相同的视频,以便按需提供。即时处理视频需要CPU / GPU,如果有太多人同时观看视频,可能会导致服务器负载受损。上游转码+存储/ CDN通常更便宜,并且可扩展性更好。

实时视频流是另一个故事,因为您可以获得MPEG2(或其他)输入,这通常需要使用ffmpeg即时转换为多个H264 / AAC再现,或者像Wowza Media Server Transcoder一样添加。

修改

为什么网站仍会托管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率先闪现回落。 HTML5视频仅在80% of current browsers中可用。你会理解为什么像Youtube或Brightcove这样的主要玩家不会放弃剩下的20%观众。 Vimeo首先切换了HTML5视频strategy。 Flash仍然有一些理由HTML5视频尚未涵盖(或者只是开始):

  • DRM
  • 广告:您现在可以理解为什么Youtube和其他人尚未首次启用HTML5视频。
  • 自适应流媒体(需要更好的视频用户体验):虽然MPEG DASH正在快速发展,HLS将在Apple设备(以及其他一些设备)上运行,但HTML5视频的浏览器采用率仍然很低。 Flash已经建立了良好的RTMP和HDS支持。
  • 不需要跨浏览器调整:HTML5视频在浏览器/版本之间可能不一致(事件未按预期触发,需要前缀供应商......)。另一方面,Flash只需要一种类型的视频文件格式,并且可以在安装了Flash插件的任何浏览器中按预期工作。
  • 技术转换的成本:从长远来看,您将通过HTML5视频节省资金(如果您想开发HTML5视频,则无需支付费用 - 网络开发人员可以进行HTML5视频开发,而且它们可以比Flash专家便宜) 。短期转向HTML5视频第一战略是要求对技术进行重大更新 - 因此需要成本。

Flash无法在iOS和Android上播放 - 这是HTML5视频的明显胜利,也是Flash的主要缺点。 关于闪存的一个不断增长的警告是它是一个插件。这引发了安全性和性能问题。例如,微软宣布他们将在未来几年内放弃对Silverlight的支持,并正在向HTML5视频发展。 Java(客户端)越来越受阻。

现在不是成为网络插件的好日子......