虚拟机:QEMU,支持 linux, mac,有 win 的第三方移植 OS:Tiny Core Linux
虚拟一个 linux 的好处是,有大把的现成应用可用。 ---------------------------------------- 另外,变通下:是否可以将需发布的内容,预先转化为音视频,静态 pdf 或图片,这样对“阅读器”的要求就能大幅降低。甚至,一个基于 QT 开发的跨平台的应用就能满足要求。
依赖 OS 原生播放器或阅读器是无法实现很好实现“防拷贝”的。这源于各平台的差异,和相关软件的功能,都不在你的掌控范围(你没法保证各 OS 上的原生应用都能具备某种类似 DRM 的功能,你也没法区分各应用的发出的读取和拷贝操作)。按客户的描述,他们可能是希望实现“ DVD 防拷贝”的效果,但不切实际的扩展了非视频内容。
要支持各种格式文件,又要兼容各大 OS 平台,还要在应用级别控制拷贝,较易实施的方案是:在被保护内容上套上自定义的壳,同时把文件 IO 和解码控制在自己手里。 那么,何不自定义“播放器”,“阅读器”呢?然后,连同被保护内容一起,装入一个可独立运行的“虚拟机”内,不是更容易掌控么?更容易有统一体验么?何必拘泥于“原生应用”?
涉及的技术: 各 OS 平台“可移动磁盘自动运行”的机制; 一个可跨平台运行的虚拟机; 一个精简的带 GUI 的 linux 镜像,提供操作界面和有限的文件管理; 自定义基于 linux 的“播放器”、“阅读器”,限制应用级别的一切复制操作; 应用加密算法,来保护“内容”,流媒体可区别对待;
综上:将一个可即插即用的虚拟机塞到 U 盘,支持各大 OS 的自动运行机制,在该虚拟机跑一个自定义的 linux,在自定义的“应用”上完成阅读和播放。