65.9K
CodeProject 正在变化。 阅读更多。
Home

HTML5 视频:了解 Azure 媒体服务、AES、PlayReady 和视频传输中的压缩和 DRM

starIconstarIconstarIconstarIconstarIcon

5.00/5 (2投票s)

2015年6月11日

CPOL

6分钟阅读

viewsIcon

13154

在本教程中(使用 Azure 媒体服务创建和使用 HTML5 视频系列教程的第二部分),我将介绍如何使用视频录制工具导入内容,以及如何加密或保护视频,以便只有获得许可的观众才能观看。

在之前的教程中,我概述了 HTML5 视频和我们可以使用的许多传输标准。在本教程中(使用 Azure 媒体服务创建和使用 HTML5 视频系列教程的第二部分),我将介绍如何使用视频录制工具导入内容,以及如何加密或保护视频,以便只有获得许可的观众才能观看。最后,我们将介绍压缩编解码器、容器和传输之间的区别。

在进行任何操作之前,您需要先在 Azure 中创建媒体服务帐户。这里有一个关于如何操作的教程。如果您没有 Azure 帐户,您可以注册一个 30 天试用版(价值 200 美元),或者联系我,了解如何获得一个BizSpark 帐户,以便您的团队中每位开发人员每月获得 150 美元,为期三年。

最新更新

以下是 Microsoft 媒体服务产品的最新更新列表。

  • 实时编码
    • 可与动态打包、动态加密、子剪辑、动态清单操作、广告标记插入以及无缝直播到点播功能结合使用
  • Azure 媒体播放器
    • 自动平台检测和播放
      • 为浏览器/设备选择最佳格式。
    • 统一的 HTML5 和 JS API
    • 受保护内容的播放
      • AES 和 PlayReady
    • 视频播放器调试
      • 日志记录、监视比特率流的质量、诊断信息

什么是 RTMP?

我们需要一种格式来从我们的视频录制工具中获取内容,我将在下一篇教程中介绍。为此,我们使用 RTMP 将内容提供给 Azure。

实时消息协议最初是 Macromedia(现为 Adobe 所有)开发的一种专有协议,用于在 Flash 播放器和服务器之间通过互联网传输音频、视频和数据。然而,如今它不依赖于 Flash,正如我们将在今天的示例中看到的那样。

我在之前的文章中讨论了几种流媒体形式,但我遗漏了 RTMP。这种方法的缺点是它需要专门的 Web 服务器,这些服务器只提供用户当前正在观看的视频内容帧。另一方面,自适应流媒体不需要特殊的服务器或协议。

这是一种将容器(.mp4、FLV)交付给您的视频播放器的传输这是媒体服务团队高级项目经理 Cenk Dingiloglu 提供的一堂更深入的课程

RTMP 是我们用于从视频录像机(笔记本电脑、手机或外部设备上的摄像头)获取视频内容并在我们的频道上分发的协议。我们频道的观众可以通过多种方式接收此视频,包括 HLS、Smooth Streaming 或 MPEG-DASH。

mpeg 4 和 h.264 有什么区别?

我经常听到的一个常见问题是“这两者有什么区别?”人们通常会交替使用这些词,但它们实际上是两种非常不同的东西。

.MP4 (MPEG-4):一个容器(也可以是压缩编解码器)

MP4 无疑是目前最流行的视频格式,因为它允许将音频、视频、字幕和图像组合在一个文件中。此外,它几乎可以在所有设备上播放,远远超过 AVI、WMV、MOV 等其他格式;它可以在许多在线视频网站(如 YouTube)上分享。它使用 MPEG-4 视频编码和 AAC 音频压缩进行压缩。

H.264:一种视频压缩编解码器

H.264 是目前常用的视频编解码器之一,是高清视频的流行压缩标准。由于 H.264 可以在相对较低的比特率下实现高质量视频,因此常用于 AVCHD 摄像机、HDTV、蓝光和高清 DVD。MP4 (.mp4) 是 H.264 编码的视频格式之一。

H.264 具有比基本 MPEG-4 压缩更先进的压缩方法。H.264 的优势之一是高压缩率。它的效率大约是 MPEG-4 编码的 1.5 – 2 倍。

因此,H.264 相对于 MPEG-4 压缩的两个主要优势是

  1. 文件大小更小
  2. 实时播放的视频质量更好

现在我们可以看到 MP4 是一种文件容器格式,而 H.264 实际上是一种视频压缩编解码器,它需要一个视频容器来承载编码的视频。

保护您的内容

您的视频已经发布到互联网上,但是如果您想保护它免受盗版侵扰呢?我知道,我知道,“信息想要自由”,但您仍然需要为您的工作获得报酬。

您是否曾尝试在 Hulu、Xfinity 或 Amazon 等在线资源上观看视频,但它却提示您无权访问,需要升级订阅?他们正在使用加密标准来保护这些资产。

他们通常可以通过令牌传递来实现这一点,令牌传递是一个加密对象,它向应用程序或视频说明您有权访问哪些内容,这被称为“特权”或 DRM。我今天碰巧在 Netflix 上遇到了一个 DRM 错误。

我们来看看 Comcast 这样的大型提供商,他们拥有Xfinity 点播目录。如果我点击一个视频而未登录我的帐户,它可能会显示“HBO 不是您订阅的一部分。要观看《副总统》,您需要订阅 HBO。”在我选择节目之前,它也明确表示我需要订阅才能播放,这由“HBO 订阅者专用”文本和旁边带有一个钥匙的“播放”按钮标记。

当我登录到我的帐户时,Comcast 会给我一个令牌,其中说明了我的身份以及我有权访问的服务。当我点击“播放”按钮时,该令牌会传递给视频服务,该服务会打开它,查看我的权限,并声明我是否可以观看此内容。

AES 与 PlayReady 加密

AES 是高级加密标准的缩写,它不仅限于视频内容,也适用于电信、金融和政府通信。这适用于各种流媒体协议,例如 HLS、Smooth Streaming 和 MPEG-DASH。这是普渡大学提供的关于该标准的技术概述

Microsoft PlayReady 是一项经过工作室认可的广泛加密技术,可保护您的内容免受盗版侵害,并且它在当今最流行的各种设备上都受支持。现在,您可以使用 PlayReady 来保护视频点播和直播流。

整合所有内容

现在我们了解了压缩、容器和传输协议是什么,让我们把它们整合起来。

在下一课中,我们将录制视频内容并使用 RTMP 导入,使用 H.264 压缩标准对其进行编码,将其存储在 .mp4 容器中,并使用上一教程中列出的各种协议之一从我们的频道进行流式传输。

了解更多关于 Azure 媒体服务的信息

以下是一些很棒的资源,可以更深入地了解媒体、Azure 以及如何快速进行设置

或我们团队更广泛的 HTML、CSS 和 JS 学习系列

本文是 Microsoft Web 开发技术系列的一部分。我们很高兴与您分享Microsoft Edge和新的EdgeHTML 渲染引擎。在您的 Mac、iOS、Android 或 Windows 设备上获取免费虚拟机或远程测试:http://dev.modern.ie/

© . All rights reserved.