mirror of
https://github.com/spice2x/spice2x.github.io.git
synced 2026-09-28 09:48:17 +03:00
## Link to GitHub Issue or related Pull Request, if one exists fixes #875 ## Description of change Adds `-apistream`, an optional HTTP video stream of the mirrored screen. It listens on the API port +2. Two endpoints, sharing the same `screen`, `fps` and `q` parameters: /stream.mjpg JPEG frames, for clients with no container support /stream.h264 H.264 annex-b, for an app driving MediaCodec or VideoToolbox itself One encoder per connection, fed by a per-screen pump that always hands over the newest frame, so a slow reader drops frames instead of building a backlog. `capture.get_jpg` behaviour is unchanged. Additional documentation for developers: https://github.com/spice2x/spice2x.github.io/wiki/Video-Stream ## Testing
35 lines
1.3 KiB
Docker
35 lines
1.3 KiB
Docker
FROM ghcr.io/archlinux/archlinux:base-devel
|
|
|
|
RUN pacman --noconfirm -Syu git \
|
|
bash \
|
|
zip \
|
|
upx \
|
|
ninja \
|
|
cmake \
|
|
unzip \
|
|
nasm \
|
|
mingw-w64-crt \
|
|
mingw-w64-winpthreads \
|
|
mingw-w64-gcc \
|
|
mingw-w64-headers \
|
|
mingw-w64-binutils \
|
|
ccache
|
|
RUN useradd user -m && echo "ALL ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
|
RUN su user -c "cd /tmp/ && git clone https://aur.archlinux.org/yay-bin.git --depth=1 && cd yay-bin && makepkg --noconfirm -si && yay --noconfirm -S mingw-w64-cmake"
|
|
|
|
RUN mkdir -p /opt/llvm-mingw-xp \
|
|
&& curl -fsSL "https://github.com/mon/llvm-mingw-xp/releases/download/llvm-mingw-xp-22.1.0/llvm-mingw-llvm-mingw-xp-22.1.0-msvcrt-ubuntu-22.04-x86_64.tar.xz" \
|
|
| tar -xJ --strip-components=1 -C /opt/llvm-mingw-xp
|
|
ENV PATH="$PATH:/opt/llvm-mingw-xp/bin"
|
|
|
|
RUN curl -fsSL "https://github.com/mon/windows-dll-compat-checker/releases/download/v1.3/windows_dll_compat_checker-linux-x86_64.tar.xz" \
|
|
| tar -xJ -C /usr/local/bin
|
|
|
|
# libjpeg-turbo for JPEG encoding. Only the mingw-w64 toolchains get it;
|
|
# the WinXP targets build without JPEG support entirely.
|
|
RUN su user -c "yay --noconfirm -S mingw-w64-libjpeg-turbo"
|
|
|
|
# x264 for the API H.264 video stream. Only the mingw-w64 toolchains need it;
|
|
# the WinXP targets build without the stream encoder.
|
|
RUN su user -c "yay --noconfirm -S mingw-w64-x264"
|