公司在2015年5月立项做一款硬件类产品,使用SOC(CPU+DSP)芯片方案做一款高清会议室终端,除了会议功能之外,需要具备多路无线投屏功能。项目从5月份立项、历经搭建团队、研发、生产、测试,至2016年1月完成一期功能和试产,期间经历很多困难和曲折,现分一个系列做下回顾,本篇讲下Miracast的HDCP。
关于Miracast的基础知识,大家可以baidu自行搜索,作为入门进行学习。如果进入开发阶段,则需要学习三篇白皮书:Wi-Fi_Display_Specification_v1.1、WiFi_P2P_Technical_Specification_v1.2及HDCP Interface Independent Adaptation Specification Rev2_2_FINAL。
我们的产品需求是在SOC芯片上(Linux)实现同时支持多路的Miracast Sink功能。
整个Miracast的过程包括无线链路的建立、呼叫建立、媒体接受、解码、呈现等。本篇范围只包括无线链路建立和呼叫建立过程。
开发和测试HDCP,需要购买HDCP协会的key。购买key,必须要成为会员才能购买key(5k美刀/10k个),会员需要每年缴纳年费(1.5w美刀)。会员和购买过程不算复杂,但也需要花点时间了解。
由于Key的泄露失效时间有延迟,现在也有很多国内小厂家都不去购买正版KEY,而去通过各种渠道从其他厂家采购或者借用key,甚至很多面向市场的dongle和机顶盒,都是使用的同一个key。
开发过程不算复杂,主要内容就是3块:Miracast流程修改、HDCP2.X信令实现、HDCP2.X加密媒体解密、硬件加速算法使用。
整个过程投入了2人2个月,共4人月的工作量。
由于当时KEY的采购周期也需要1个月左右,影响调试,所以我们也从其他厂家那里借用了一个key用来调试。
开发过程挺辛苦,但需要做掉两点:相信一定能够调出来,熟读HDCP 2.X的Specification。