Go to file
Calvin Walton 08909fb56b Add Win32 GDI-based screen grabbing
Based on original code by Christophe Gisquet in 2010, updated to work
with current ffmpeg APIs.

Supports grabbing a single window or an area of the screen, including
support for multiple monitors (Windows does funky stuff with negative
coordinates here).

I've moved most of the configuration to AVOptions; the input file name
is now only the string "desktop", or "title=<windowname>" to select a
single window. The AVOptions are the same as x11grab where possible.

Code has been added to support a "show_region" mode, like x11grab, which
will draw a rectangle on the screen around the area being captured.

Instead of duplicating code for paletted image handling, I make use of
the GDI API's ability to output DIB (BMP) images, which can be run
through ffmpeg's existing BMP decoder.

Signed-off-by: Calvin Walton <calvin.walton@kepstin.ca>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 00:41:45 +02:00
compat Merge remote-tracking branch 'qatar/master' 2014-03-10 12:05:02 +01:00
doc Add Win32 GDI-based screen grabbing 2014-04-03 00:41:45 +02:00
libavcodec lavc/kbdwin: add missing stdint.h include 2014-04-02 20:01:37 +02:00
libavdevice Add Win32 GDI-based screen grabbing 2014-04-03 00:41:45 +02:00
libavfilter Merge remote-tracking branch 'qatar/master' 2014-04-02 18:25:15 +02:00
libavformat avformat/hlsenc: remove unneeded l prefix from %lf 2014-04-03 00:27:53 +02:00
libavresample Merge commit 'aba70bb5387f12dfa5e6cd8cb861c9c7e668151f' 2014-03-26 14:50:55 +01:00
libavutil lavu: add missing formats to av_pix_fmt_swap_endianness 2014-04-02 00:27:22 +02:00
libpostproc Automatically change MANGLE() into named inline asm operands when direct symbol reference in inline asm are not supported. 2014-03-18 23:39:30 +01:00
libswresample swresample/resample: sse float linear interpolation 2014-03-24 02:34:02 +01:00
libswscale swscale: add full bgra64 support 2014-04-02 19:44:08 +02:00
presets presets: specify the codecs. 2012-05-04 18:40:36 +02:00
tests swscale: add full bgra64 support 2014-04-02 19:44:08 +02:00
tools tools/uncoded_frame: fix audio codec generation 2014-03-29 09:25:14 +01:00
.gitignore Merge commit 'e7dfaf16a403972eb6aed5ce8f84c0085bd2fb5a' 2014-02-25 20:26:00 +01:00
arch.mak Merge commit 'b4dd424d96f09f9bafb88e47f37df65dc4529143' 2014-03-13 22:35:47 +01:00
Changelog Add Win32 GDI-based screen grabbing 2014-04-03 00:41:45 +02:00
cmdutils_common_opts.h Allow hiding the banner. 2013-12-29 22:57:20 +01:00
cmdutils_opencl.c cmdutils & opencl: add -opencl_bench option to test and show available OpenCL devices 2013-12-09 21:21:36 +01:00
cmdutils.c cmdutils/filter_codec_opts: do not discard all options for CODEC_ID_NONE 2014-03-28 17:29:26 +01:00
cmdutils.h Merge commit '85698be461c07be10d873dd34348bcfe9ffc56e0' 2014-03-29 14:33:39 +01:00
common.mak lavd: Add QTKit input device. 2014-03-30 20:45:07 +02:00
configure Add Win32 GDI-based screen grabbing 2014-04-03 00:41:45 +02:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1 cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
COPYING.LGPLv3
CREDITS CREDITS: redirect to Git log, remove current outdated content 2013-01-31 18:02:52 +01:00
ffmpeg_filter.c Merge remote-tracking branch 'qatar/master' 2013-11-24 05:21:19 +01:00
ffmpeg_opt.c ffmpeg_opt: check that a subtitle encoder is available before auto mapping streams 2014-03-16 15:15:02 +01:00
ffmpeg_vdpau.c Merge commit '7671dd7cd7d51bbd637cc46d8f104a141bc355ea' 2013-11-23 14:46:48 +01:00
ffmpeg.c Merge commit 'aa499568afc01d59215eef7e5b14b949a9671afc' 2014-03-25 19:25:10 +01:00
ffmpeg.h Merge commit '4754345027eb85cfa51aeb88beec68d7b036c11e' 2014-03-24 16:40:35 +01:00
ffplay.c ffplay: display information on stream cycling 2014-03-12 00:32:38 +01:00
ffprobe.c ffprobe: check av_frame_alloc() failure. 2013-12-30 10:58:01 +01:00
ffserver.c ffserver: merge RTSP's teardown & pause routines 2014-02-14 14:31:42 -03:00
INSTALL Merge remote branch 'qatar/master' 2011-04-08 02:50:13 +02:00
library.mak Merge commit 'b339182eba34f28de5f1a477cdd2c84f1ef35d90' 2014-02-17 02:22:01 +01:00
LICENSE Add libx265 encoder 2014-02-12 13:12:22 +00:00
MAINTAINERS lavd: Add QTKit input device. 2014-03-30 20:45:07 +02:00
Makefile Makefile: fix out of tree builds of .m files 2014-04-01 05:12:39 +02:00
README README: be a tiny bit more verbose 2012-04-06 10:23:26 +02:00
RELEASE RELEASE: update for 2.2 2014-03-01 17:09:12 +01:00
version.sh version.sh: add preprocessing guards 2013-11-30 21:42:03 +01:00

FFmpeg README
-------------

1) Documentation
----------------

* Read the documentation in the doc/ directory in git.
  You can also view it online at http://ffmpeg.org/documentation.html

2) Licensing
------------

* See the LICENSE file.

3) Build and Install
--------------------

* See the INSTALL file.