这是本文档旧的修订版!
SPICE
1.流媒体重定向
1.1 重定向原理
1.2 截流的可行性
1.2.1 视频播放器
- 利用directshow架构开源播放器来自制:便于在解码时截流,便于修改播放区域渲染,但用户只能使用此播放器播放视频
- 自制directshow解码器并hook或修改流行播放器的解码器设置:便于截流、修改渲染,但需对每一款播放器进行研究适配,大概率需要侵入式修改(杀软会报警)
- Hook MF架构里的 Media Sources 来截取流:只适用使用MF架构的wmp播放器(国内基本没人用), 不方便修改播放区域渲染
- 基于WDDM驱动实现虚拟 DXVA 硬解:适用所有播放器(仍然需针对播放器来设置解码器), 不方便修改播放区域渲染,实现有一定难度
1.2.2 浏览器
- 利用chrome开源浏览器来自制浏览器,在解码层进行截流,并方便修改播放区域渲染,但难度大
- 利用chrome插件截流:便于实现
- m3u8 等未加密流可直接获取源地址
1.3 流传输
- 虚拟机与客户端(盒子)可 tcp 连接:直接推流
- 不可连接:映射usb字符设备进行流传输,或开辟 spice 新通道 (未实现)