[FFmpeg-devel] [PATCH v4 1/1] avdevice/gdigrab add use_captureblt option

fgodt fgodtdev at hotmail.com
Thu Jan 16 03:08:37 EET 2020


On 2020/1/15 上午3:01, Calvin Walton wrote:
> On Sat, 2020-01-11 at 17:18 +0800, fgodtdev at hotmail.com wrote:
>> From: FgoDt <fgodtdev at hotmail.com>
>>
>> Add use_captureblt option for disable or use CAPTUREBLT flag, when
>> useing the bitblt function with CAPTUREBLT may caused the Windows
>> mouse cursor flicker. most time we don't need this flag to capture
>> window
>> I tested on Windows 10 works fine
> I have a suggestion for improving the documentation, see below.
>
> Can you please test for me: If you use use_captureblt=0 and
> draw_mouse=0 is the mouse cursor visible or not in the recorded video?
The mouse cursor not in video
>> + at item use_captureblt
>> +gdigrab use CAPTUREBLT flag to capture window or desktop by default,
>> which may make Windows mouse cursor flickering.
>> +If not capture layered window you can set value @code{0} disable
>> CAPTUREBLT flag, to fix Windows cursor flickering.
>> +Default value is @code{1}
>> +
>> +Note the value @code{1} is essential to capture layered  window
> @item use_captureblt
>
> By default, this is set to @code{1}, which means that gdigrab will use
> the CAPTUREBLT flag when grabbing images of a window. With this flag
> set, gdigrab will capture the entire contents of a window even if it is
> covered by other windows on the screen.
>
> If this option is set to @code{0}, the image captured will match what
> you see on the screen: the contents of any windows covering the
> selected window will be visible in the capture.
>
> Depending on your Windows version and graphics settings, you may see
> the mouse cursor flicker on your screen while capturing with this
> option set to @code{1}. If that happens, you can disable CAPTUREBLT by
> setting this option to @code{0}.
>
Thanks for you suggestion, but there is issue, without the CAPTUREBLT 
flag not change any thing for normal window in captured video, the worke 
same like use CAPTUREBLT flag. So the can capture window even if it is 
covered.

fgodt



More information about the ffmpeg-devel mailing list