Skip to content

AlsoSylv/SylvScreenCapture

Repository files navigation

SylvScreenShare is a WIP Rust program to capture video game footage.

This works by injecting into the program, and hooking the present function.

Currently the following APIs are implemented:

API Status Reason
DX12 ✅ Working N/A
DX11 ✅ Working N/A
DX10 ✅ Working N/A
DX9 ❌ Broken Needs CPU Buffer
DX9ex ❌ Broken Unimplemented
DX8 N/A Unplanned
VK ✅ Working N/A
OGL 🚧 WIP Needs projection matrix

Support for savings videos is WIP, as there are not currently hardware encoder bindings that support weak linkage

The control flow is as follows, barring broken APIs

flowchart  TD
A[Startup] -->B(Injection)
B  -->|DX11+, OpenGL, Vulkan|C(Create NT Handle)
B  -->|DX9Ex, DX10| D[Create  DX  Handle]
B  -->|DX9-| E(WIP CPU Buffer)
C  -->CopyDst(Copy Into Shared Memory)
D  -->CopyDst(Copy Into Shared Memory)
E  -->|Map  Buffer|CopyDst(Copy Into Shared Memory)

A  --> G(Is Running)
G  -->|NT  Handle != Null| CopySrc(Copy from shared memory)
G  -->|Handle != Null| CopySrc
CopySrc  --> G
G  -->|Close|N(Null and Free resources)
N  --> Exit
Loading

About

A proof of concept Rust program implementing game capture on windows

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors