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

Add support for zero-copy GPU screen capture including NVIDIA NvFBC #30

Open
2 tasks
danisla opened this issue Apr 19, 2022 · 8 comments
Open
2 tasks
Labels
encoding Audio or video encoders but not the OS interfaces enhancement New feature or request interface OS input, display, or audio interfaces performance Performance or latency issues, not critical but impacts usage

Comments

@danisla
Copy link
Member

danisla commented Apr 19, 2022

Per conversation in #7 (comment):

  • Figure out how to build the nvimage element without the NVIDIA Video Codec SDK requirement.
  • Update gst pipeline to support nvfbch264enc option.
@danisla danisla added the enhancement New feature or request label Apr 19, 2022
@xhejtman
Copy link
Contributor

It seems, you can include required headers into plugin source, nvenc does it. And use dynamic loader so that you do not need to link libs.

@ehfd ehfd added encoding Audio or video encoders but not the OS interfaces performance Performance or latency issues, not critical but impacts usage interface OS input, display, or audio interfaces labels Oct 12, 2022
@ehfd
Copy link
Member

ehfd commented Oct 21, 2022

Note that in GST 1.21.1, there are new variants of encoders which use CUDA directly instead of the NVENC AVI.

This was referenced Jan 3, 2023
@ehfd
Copy link
Member

ehfd commented Jan 18, 2023

Relevant: NVIDIA/libnvidia-container#118. If NVIDIA injects all needed nvfbc libraries no userspace driver installation neccessary inside the container.

@ehfd
Copy link
Member

ehfd commented Sep 7, 2023

nvcudah264enc/h265enc allows zero copy encoding in cudamemory, and may reduce the bits of latency we are looking for.

@ehfd
Copy link
Member

ehfd commented Oct 12, 2023

https://steamcommunity.com/groups/homestream/discussions/0/451850849186356998

Also: NVFBC is deprecated as from NVIDIA?

@xhejtman
Copy link
Contributor

https://steamcommunity.com/groups/homestream/discussions/0/451850849186356998

Also: NVFBC is deprecated as from NVIDIA?

maybe only for window 10, not as product.

NVFBC has been deprecated on Windows 10 and above for reasons explained in this document.

@ehfd ehfd changed the title Add support for NVIDIA FBC+NVENC Add support for zero-copy capture including NVIDIA FBC+NVENC Jun 15, 2024
@ehfd
Copy link
Member

ehfd commented Jun 15, 2024

Investigating PipeWire and kmsgrab (the latter might be implemented in GStreamer) is also key for other GPUs.

@ehfd ehfd changed the title Add support for zero-copy capture including NVIDIA FBC+NVENC Add support for zero-copy GPU screen capture including NVIDIA NvFBC Jun 15, 2024
@ehfd
Copy link
Member

ehfd commented Jul 11, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
encoding Audio or video encoders but not the OS interfaces enhancement New feature or request interface OS input, display, or audio interfaces performance Performance or latency issues, not critical but impacts usage
Projects
None yet
Development

No branches or pull requests

3 participants