doc/indevs: Document kmsgrab input device
This commit is contained in:
parent
52194f0bcb
commit
ec1573f879
@ -331,6 +331,68 @@ ffmpeg -channels 16 -format_code Hi50 -f decklink -i 'UltraStudio Mini Recorder'
|
|||||||
|
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
|
@section kmsgrab
|
||||||
|
|
||||||
|
KMS video input device.
|
||||||
|
|
||||||
|
Captures the KMS scanout framebuffer associated with a specified CRTC or plane as a
|
||||||
|
DRM object that can be passed to other hardware functions.
|
||||||
|
|
||||||
|
Requires either DRM master or CAP_SYS_ADMIN to run.
|
||||||
|
|
||||||
|
If you don't understand what all of that means, you probably don't want this. Look at
|
||||||
|
@option{x11grab} instead.
|
||||||
|
|
||||||
|
@subsection Options
|
||||||
|
|
||||||
|
@table @option
|
||||||
|
|
||||||
|
@item device
|
||||||
|
DRM device to capture on. Defaults to @option{/dev/dri/card0}.
|
||||||
|
|
||||||
|
@item format
|
||||||
|
Pixel format of the framebuffer. Defaults to @option{bgr0}.
|
||||||
|
|
||||||
|
@item format_modifier
|
||||||
|
Format modifier to signal on output frames. This is necessary to import correctly into
|
||||||
|
some APIs, but can't be autodetected. See the libdrm documentation for possible values.
|
||||||
|
|
||||||
|
@item crtc_id
|
||||||
|
KMS CRTC ID to define the capture source. The first active plane on the given CRTC
|
||||||
|
will be used.
|
||||||
|
|
||||||
|
@item plane_id
|
||||||
|
KMS plane ID to define the capture source. Defaults to the first active plane found if
|
||||||
|
neither @option{crtc_id} nor @option{plane_id} are specified.
|
||||||
|
|
||||||
|
@item framerate
|
||||||
|
Framerate to capture at. This is not synchronised to any page flipping or framebuffer
|
||||||
|
changes - it just defines the interval at which the framebuffer is sampled. Sampling
|
||||||
|
faster than the framebuffer update rate will generate independent frames with the same
|
||||||
|
content. Defaults to @code{30}.
|
||||||
|
|
||||||
|
@end table
|
||||||
|
|
||||||
|
@subsection Examples
|
||||||
|
|
||||||
|
@itemize
|
||||||
|
|
||||||
|
@item
|
||||||
|
Capture from the first active plane, download the result to normal frames and encode.
|
||||||
|
This will only work if the framebuffer is both linear and mappable - if not, the result
|
||||||
|
may be scrambled or fail to download.
|
||||||
|
@example
|
||||||
|
ffmpeg -f kmsgrab -i - -vf 'hwdownload,format=bgr0' output.mp4
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@item
|
||||||
|
Capture from CRTC ID 42 at 60fps, map the result to VAAPI, convert to NV12 and encode as H.264.
|
||||||
|
@example
|
||||||
|
ffmpeg -crtc_id 42 -framerate 60 -f kmsgrab -i - -vf 'hwmap=derive_device=vaapi,scale_vaapi=w=1920:h=1080:format=nv12' -c:v h264_vaapi output.mp4
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@end itemize
|
||||||
|
|
||||||
@section libndi_newtek
|
@section libndi_newtek
|
||||||
|
|
||||||
The libndi_newtek input device provides capture capabilities for using NDI (Network
|
The libndi_newtek input device provides capture capabilities for using NDI (Network
|
||||||
|
Loading…
x
Reference in New Issue
Block a user