Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wincg: add desktop target capture library and sample app #67

Merged
merged 4 commits into from
Dec 7, 2023

Conversation

dvrogozh
Copy link
Contributor

@dvrogozh dvrogozh commented Dec 7, 2023

This PR adds desktop target (DT) capture library implementation for Windows along with simple sample app (screen-grab.exe) to demonstrate library usage.

DT capture library uses 1) IDXGIOutputDuplication Windows API to get access to duplicated desktop image and 2) ffmpeg to encode sequence of duplicated images into video bitstream. As of now capture library supports only AVC, HEVC and AV1 HW encoding via ffmpeg-qsv plugins path. Library also provides access to captured cursor state.

Authored-by: Pavel Evsikov pavel.evsikov@intel.com
Co-authored-by: Dmitry Rogozhkin dmitry.v.rogozhkin@intel.com

dvrogozh and others added 3 commits December 6, 2023 13:31
Issue: VSMGWL-68993

Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com>
This commit adds desktop target (DT) capture library implementation
for Windows along with simple sample app (screen-grab.exe) to
demonstrate library usage.

DT capture library uses 1) IDXGIOutputDuplication Windows API to
get access to duplicated desktop image and 2) ffmpeg to encode
sequence of duplicated images into video bitstream. As of now
capture library supports only AVC, HEVC and AV1 HW encoding via
ffmpeg-qsv plugins path. Library also provides access to captured
cursor state.

Co-authored-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com>
Signed-off-by: Pavel Evsikov <pavel.evsikov@intel.com>
Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com>
We now implemented default build path which check depdencies and
does not build components which can't be built. So -Dstreamer=disabled
is not not needed.

Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com>
@dvrogozh
Copy link
Contributor Author

dvrogozh commented Dec 7, 2023

wincg workflow stepped into github.com/intel org limitation to use only actions <...>, verified in the GitHub Marketplace. I raised this concern with the action owners since I believe getting this badge might help them to promote/scale it, see msys2/setup-msys2#341. In a meanwhile I will consider some workarounds for this issue.

Within current github.com/intel org project this requires
additional setting for github project to allow msys2/setup-msys2
action since it does not have verified badge. Request for the
badge was sent to action owner, see [1].

See[1]: msys2/setup-msys2#341
Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com>
@dvrogozh
Copy link
Contributor Author

dvrogozh commented Dec 7, 2023

Adjust github project settings and allowed msys2/setup-msys2@v2. ci is passing. PR is ready now.

@dvrogozh dvrogozh merged commit 3234582 into intel:main Dec 7, 2023
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants