差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
| public:it:spice [2022/02/07 09:15] – [1.2 截流的可行性] oakfire | public:it:spice [2022/08/03 09:04] (当前版本) – [1.3 流传输] oakfire | ||
|---|---|---|---|
| 行 2: | 行 2: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| - | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| 行 23: | 行 22: | ||
| * 利用chrome开源浏览器来自制浏览器,在解码层进行截流,并方便修改播放区域渲染,但难度大 | * 利用chrome开源浏览器来自制浏览器,在解码层进行截流,并方便修改播放区域渲染,但难度大 | ||
| - | * chrome 播放标签video的架构:https:// | + | * chrome 播放标签video的架构:https:// |
| * 利用chrome插件截流:便于实现 | * 利用chrome插件截流:便于实现 | ||
| * m3u8 等未加密流可直接获取源地址 | * m3u8 等未加密流可直接获取源地址 | ||
| 行 32: | 行 31: | ||
| * 虚拟机与客户端(盒子)可 tcp 连接:直接推流 | * 虚拟机与客户端(盒子)可 tcp 连接:直接推流 | ||
| * 不可连接:映射usb字符设备进行流传输,或开辟 spice 新通道 (未实现) | * 不可连接:映射usb字符设备进行流传输,或开辟 spice 新通道 (未实现) | ||
| + | * [[https:// | ||
| + | * 参考 [[https:// | ||
| + | * 参考 [[https:// | ||
| + | * [[.: | ||
| + | * [[.: | ||
| + | |||
| + | |||
| + | ===== 2.代码解析 ===== | ||
| + | ==== 2.1 spice-streaming-agent ==== | ||
| + | * [[https:// | ||
| + | * host服务器端要使用spice-server >= 0.14.1,如果版本没升级,其它都配置了,运行spice-streaming-agent时也会报错:< | ||
| + | * windows spice client(virt-viewer) 的 display2 会显示为黑屏,原因参考[[https:// | ||
| + | |||
| + | === 2.1.1 编译 === | ||
| + | * Ubuntu20.04 | ||
| + | * 安装 meson: <code bash> | ||
| + | sudo apt install python3 python3-pip ninja-build | ||
| + | sudo pip3 install meson | ||
| + | sudo pip3 install pyparsing | ||
| + | </ | ||
| + | * 安装依赖库: | ||
| + | sudo apt install build-essential libspice-protocol-dev libssl-dev libglib2.0-dev libpixman-1-dev libopus-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libjpeg-dev libdrm-dev libxcb-xfixes0-dev libxrandr-dev | ||
| + | </ | ||
| + | * 编译 <code bash> | ||
| + | git clone https:// | ||
| + | cd spice-streaming-agent | ||
| + | git submodule update --init --recursive | ||
| + | meson build && cd build | ||
| + | ninja | ||
| + | # 生成 build/ | ||
| + | </ | ||
| + | * spice-common 的 meson.build 里对 python 模块 pyparsing 的检查代码需要修改,详见 [[https:// | ||
| + | |||
| + | |||
| + | |||