澳门在线威尼斯官方 > 威尼斯澳门在线 > 目前无法实现的5件事,现代播放器原理

原标题:目前无法实现的5件事,现代播放器原理

浏览次数:133 时间:2019-11-16

HTML5 目前无法实现的5件事

2011/12/13 · HTML5 · HTML5

英文原文:Five Things You Can’t Do With HTML5 (yet),编译:威尼斯澳门在线 ,Web App Trend

一直以来,很多人都专注于HTML5能够实现什么(或者是如何将各种方法连接起来,实现一个更加优雅的解决方案)。而现在,也不少人想将目光投向那些HTML5无法实现的事情。MSDN上微软员工thebeebs的一篇博文回答了这个问题:

1:HTML5无法实现DRM

如果你有一家多媒体公司,你需要控制或者限制你的视频内容——通常是在多媒体内容中添加数字版权加密技术(DRM)。不幸的是,HTML5无法加入DRM。HTML5的问题是,它会将多媒体内容的格式完全暴露出来,要解决这个问题并不困难(相关的技术和策略可以在W3C bug system上看到)。我个人认为,这个问题确实有必要解决。抛开各界对DRM的争议,至少对许多公司而言,支持DRM还是非常有意义的——看看Lovefilm的blog ,你就知道目前各个多媒体公司面临的困难了。

2:HTML5不能播放直播视频

HTML5已经能够很好地处理静态的视频文件了,但它现在还无法处理直播的视频。尽管HTML5能够提供优质的视频查询和视频点播服务,但是它却无法支持用户观看在线的足球比赛。Apple使用HTTP Live Streaming弥补了HTML5的这一缺失。它通过HTTP传输H.264的文件块,但是这一技术只能在Safari上运行。(顺便提一句,有些人以为HTML5不支持视频的随机播放,但其实HTML5是支持这一功能的。)Streaming Media杂志的网站上能够找到非常丰富的HTML5视频资源。

3:HTML5上的音频处理也不完美

你也许会认为:既然HTML5都能够解决视频播放问题了,那音频播放自然不在话下咯。但音频处理最大的问题就是怎样处理延迟的问题。当你的应用程序或是游戏要求音频文件与屏幕上显示的操作保持同步时,这个问题就凸显出来了。其中一个问题就是不同的浏览器处理音频文件的方式可能也有所不同。如果想了解更多相关的信息,可以看看IE博客上的相关介绍,Grant Skinner的SoundJS JavaScript library提供了一种不错的解决方案。

4:HTML5上不能与摄像头交互

与Flash有所不同,HTML5不支持用户与摄像头交互(或者是PC机上的麦克风),这使得基于web的会议很难实现。当然也不是完全没有办法,在HTML5Labs上,你可以找到一个Media Capture API的相关标准,它是W3C标准中有关音频处理的部分。HTML5Labs是由最早的Microsoft标准和一些web标准(如W3C)演化而来的。所以它目前还处在发展之中,一旦音频处理问题解决了,就开始着手解决视频问题了。你可以在HTML5Labs网站上找到许多相关的资料

5:HTML5上无法实现视频的全屏播放

使用插件全屏观看视频是没有问题的。但是,如果是使用HTML5,这可能还有点困难(至少是现在)。但针对这一问题,现在已经有一些相关的支持协议了。Chris Pearce在Thundering Herd博客中介绍了他是如何使用HTML全屏API在Firefox上实现视频的全屏播放的。这个API提供了“全屏”的HTML组件。Chrome上也有相关的解决方案。

以上就是HTML5目前无法实现的5件事,但是HTML5不久将解决上述这些问题。

赞 收藏 评论

威尼斯澳门在线 1

七牛云于 6 月底发布了一个针对视频直播的实时流网络 LiveNet 和完整的直播云解决方案,很多开发者对这个网络和解决方案的细节和使用场景非常感兴趣。
结合七牛实时流网络 LiveNet 和直播云解决方案的实践,我们用七篇文章,更系统化地介绍当下大热的视频直播各环节的关键技术,帮助视频直播创业者们更全面、深入地了解视频直播技术,更好地技术选型。

本系列文章大纲如下:
(一)采集
(二)处理
(三)编码和封装
(四)推流和传输
(五)延迟优化
(六)现代播放器原理
(七)SDK 性能测试模型

在上一篇延迟优化中,我们分享了不少简单实用的调优技巧。本篇是《视频直播技术详解》系列之六:现代播放器原理。


近年来,多平台适配需求的增长导致了流媒体自适应码率播放的兴起,这迫使 Web 和移动开发者们必须重新思考视频技术的相关逻辑。首先,巨头们分分发布了 HLS、HDS 和 Smooth Streaming 等协议,把所有相关细节都隐藏在它们专供的 SDK 中。开发者们没法自由的修改播放器中的多媒体引擎等逻辑:你没法修改自适应码率的规则和缓存大小,甚至是你切片的长度。这些播放器可能用起来简单,但是你没有太多去定制它的选择,即便是糟糕的功能也只能忍受。

但是随着不同应用场景的增加,可定制化功能的需求越来越强。仅仅是直播和点播之间,就存在不同的 buffer 管理、ABR 策略和缓存策略等方面的差别。这些需求催生了一系列更为底层关于多媒体操作 API 的诞生:Flash 上面的 Netstream,HTML5 上的 Media Source Extensions,以及 Android 上的 Media Codec,同时业界又出现了一个基于 HTTP 的标准流格式 MPEG-DASH。这些更高级的能力为开发者提供了更好的灵活性,让他们可以构建适合自己业务需求的播放器和多媒体引擎。

今天我们来分享一下如何构建一个现代播放器,以及构建这样一个播放器需要哪些关键组件。通常来说,一个典型的播放器可以分解成三部分:UI、 多媒体引擎和解码器,如图 1 所示:

图 1. 现代播放器架构

本文由澳门在线威尼斯官方发布于威尼斯澳门在线,转载请注明出处:目前无法实现的5件事,现代播放器原理

关键词:

上一篇:快速入门createjs,一篇文章带你快速入门createjs

下一篇:没有了