From 30af29a712b820e8e28c4963fab0160128c23d3d Mon Sep 17 00:00:00 2001 From: Lou Logan Date: Wed, 13 Jun 2018 11:21:12 -0800 Subject: doc/devices: order alphabetically and add missing v4l2 outdev Signed-off-by: Lou Logan --- doc/indevs.texi | 221 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 110 insertions(+), 111 deletions(-) (limited to 'doc/indevs.texi') diff --git a/doc/indevs.texi b/doc/indevs.texi index 632d1e4743..5d4c02c597 100644 --- a/doc/indevs.texi +++ b/doc/indevs.texi @@ -408,116 +408,6 @@ ffmpeg -channels 16 -format_code Hi50 -f decklink -i 'UltraStudio Mini Recorder' @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 - -The libndi_newtek input device provides capture capabilities for using NDI (Network -Device Interface, standard created by NewTek). - -Input filename is a NDI source name that could be found by sending -find_sources 1 -to command line - it has no specific syntax but human-readable formatted. - -To enable this input device, you need the NDI SDK and you -need to configure with the appropriate @code{--extra-cflags} -and @code{--extra-ldflags}. - -@subsection Options - -@table @option - -@item find_sources -If set to @option{true}, print a list of found/available NDI sources and exit. -Defaults to @option{false}. - -@item wait_sources -Override time to wait until the number of online sources have changed. -Defaults to @option{0.5}. - -@item allow_video_fields -When this flag is @option{false}, all video that you receive will be progressive. -Defaults to @option{true}. - -@end table - -@subsection Examples - -@itemize - -@item -List input devices: -@example -ffmpeg -f libndi_newtek -find_sources 1 -i dummy -@end example - -@item -Restream to NDI: -@example -ffmpeg -f libndi_newtek -i "DEV-5.INTERNAL.M1STEREO.TV (NDI_SOURCE_NAME_1)" -f libndi_newtek -y NDI_SOURCE_NAME_2 -@end example - -@end itemize - @section dshow Windows DirectShow input device. @@ -945,6 +835,68 @@ Set the number of channels. Default is 2. @end table +@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 lavfi Libavfilter input virtual device. @@ -1083,6 +1035,54 @@ IIDC1394 input device, based on libdc1394 and libraw1394. Requires the configure option @code{--enable-libdc1394}. +@section libndi_newtek + +The libndi_newtek input device provides capture capabilities for using NDI (Network +Device Interface, standard created by NewTek). + +Input filename is a NDI source name that could be found by sending -find_sources 1 +to command line - it has no specific syntax but human-readable formatted. + +To enable this input device, you need the NDI SDK and you +need to configure with the appropriate @code{--extra-cflags} +and @code{--extra-ldflags}. + +@subsection Options + +@table @option + +@item find_sources +If set to @option{true}, print a list of found/available NDI sources and exit. +Defaults to @option{false}. + +@item wait_sources +Override time to wait until the number of online sources have changed. +Defaults to @option{0.5}. + +@item allow_video_fields +When this flag is @option{false}, all video that you receive will be progressive. +Defaults to @option{true}. + +@end table + +@subsection Examples + +@itemize + +@item +List input devices: +@example +ffmpeg -f libndi_newtek -find_sources 1 -i dummy +@end example + +@item +Restream to NDI: +@example +ffmpeg -f libndi_newtek -i "DEV-5.INTERNAL.M1STEREO.TV (NDI_SOURCE_NAME_1)" -f libndi_newtek -y NDI_SOURCE_NAME_2 +@end example + +@end itemize + @section openal The OpenAL input device provides audio capture on all systems with a @@ -1201,7 +1201,6 @@ Set the number of channels. Default is 2. @end table - @section pulse PulseAudio input device. -- cgit v1.2.3