NodeJS中的SmoothStreaming播放器

时间:2015-08-28 18:15:28

标签: c# node.js video drm smooth-streaming

我想在NodeJS中编写SmoothStreaming播放器。我正在流媒体平台上看电视,但我想使用我的Raspberry Pi使用HDMI在其上观看电视。播放器是用C#编写的,是一个Silverlight播放器。

我想实现C#的LicenseAcquirer和SmoothStreamingMediaElement以使用Raspberry Pi播放视频。我认为它应该是可能的,但我不知道如何开始,我不知道LicenseAcquirer如何为许可服务器准备请求,以及如何使用DRM密钥解密视频。< / p>

这个想法是获取许可证,下载视频块,解密视频块并使用omx播放器播放。

有可能吗?我在哪里可以获得有关LicenseAcquirer和SmoothStreamingMediaElement的信息?

谢谢! :)

1 个答案:

答案 0 :(得分:0)

我不确定你要做什么,但你不能自己解密视频块 - 这就是DRM保护的重点。

DRM是平台附带的黑匣子。 Silverlight捆绑了Microsoft PlayReady DRM,它可以为您解密和呈现受保护的内容。您不应该访问解密的内容。

LicenseAcquirer是Silverlight的System.Windows.dll程序集中的一个类。如果要查看其内容,可以使用一些反向工程工具,如Reflector或DotPeek。其目的是成为Silverlight的接口,以便从服务器请求许可。它本身不会生成许可证请求,也不会自行处理许可证响应。它只是在agcore.dll中实现的本机代码的包装器。

更改LicenseAcquirer逻辑的重点可能是添加一些额外的数据。例如,流媒体服务需要一些识别客户的信息,以了解客户是否可以访问许可内容。

SmoothStreamingMediaElement是整个Silverlight播放器,它实现了Microsoft Smooth Streaming Protocol并使用已在Silverlight中实现的Microsoft PlayReady。您只需要为受保护内容的Smooth Streaming清单提供URL,它就可以播放它(除非有一些额外的保护来访问许可证)。

SmoothStreamingMediaElement不是Silverligh的标准组成部分。它是Smooth Streaming Client SDK的一部分,可用作(未维护的)源代码。