Screen capture. Optimizing performances on my pipeline.

Marianna Smidth Buschle msb at qtec.com
Thu Jun 9 12:16:50 UTC 2022


What about using 'videocrop'?

Something like:

d3d11screencapturesrc monitor-handle={0} ! d3d11convert ! tee name=t

t. ! queue ! videocrop top=0 left=0 right=0 bottom=-1 ! 
video/x-raw(memory:SystemMemory),width=3840,height=100 ! d3d11download

t. ! queue ! videocrop top=-1 left=0 right=0 bottom=0 ! 
video/x-raw(memory:SystemMemory),width=3840,height=100 ! d3d11download

t. ! queue ! videocrop top=0 left=-1 right=0 bottom=0 ! 
video/x-raw(memory:SystemMemory),width=100,height=2160 ! d3d11download

t. ! queue ! videocrop top=0 left=0 right=-1 bottom=0 ! 
video/x-raw(memory:SystemMemory),width=100,height=2160 ! d3d11download


This way you will get the 4 areas separately


Best regards

Marianna

On 09.06.2022 14.00, gstreamer-devel-request at lists.freedesktop.org wrote:
> Hi all,
> I have a pipeline this:
>
> d3d11screencapturesrc monitor-handle={0} ! d3d11convert ! d3d11download
>
> using these caps:
>
> video/x-raw(memory:SystemMemory),width=3840,height=2160,sync=false
>
>
> This pipeline captures the screen using Windows DDUPL API thank to the
> gstreamer "d3d11screencapturesrc"
> and then return the captured frame with a callback to my program.
> If I capture in 4K at 60FPS it copies 60 frames per second into memory
> and this is quite heavy.
>
> Is there a way to optimize it?
> I only need to get the color information of some portion of that frames
> (top border, bottom border, right border, left border).
>
> Is there a way to optimize this pipeline?
>
> Thanks
> Davide

-- 
Best regards / Med venlig hilsen
“Marianna Smidth Buschle”



More information about the gstreamer-devel mailing list