0

我想在 NodeJS 中编写一个 SmoothStreaming Player。我在流媒体平台上看电视,但我想用我的树莓派通过 HDMI 在上面看电视。该播放器是用 C# 编写的,是一个 Silverlight 播放器。

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

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

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

谢谢!:)

4

1 回答 1

0

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

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

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

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

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

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

于 2015-09-03T10:53:35.170 回答