readme.txt
1 * On Linux and other Unix flavors OpenCV uses default or user-built ffmpeg/libav libraries.
2 If user builds ffmpeg/libav from source and wants OpenCV to stay BSD library, not GPL/LGPL,
3 he/she should use --enabled-shared configure flag and make sure that no GPL components are
4 enabled (some notable examples are x264 (H264 encoder) and libac3 (Dolby AC3 audio codec)).
5 See https://www.ffmpeg.org/legal.html for details.
6
7 If you want to play very safe and do not want to use FFMPEG at all, regardless of whether it's installed on
8 your system or not, configure and build OpenCV using CMake with WITH_FFMPEG=OFF flag. OpenCV will then use
9 AVFoundation (OSX), GStreamer (Linux) or other available backends supported by opencv_videoio module.
10
11 There is also our self-contained motion jpeg codec, which you can use without any worries.
12 It handles CV_FOURCC('M', 'J', 'P', 'G') streams within an AVI container (".avi").
13
14 * On Windows OpenCV uses pre-built ffmpeg binaries, built with proper flags (without GPL components) and
15 wrapped with simple, stable OpenCV-compatible API.
16 The binaries are opencv_ffmpeg.dll (version for 32-bit Windows) and
17 opencv_ffmpeg_64.dll (version for 64-bit Windows).
18
19 See build_win32.txt for the build instructions, if you want to rebuild opencv_ffmpeg*.dll from scratch.
20
21 The pre-built opencv_ffmpeg*.dll is:
22 * LGPL library, not BSD libraries.
23 * Loaded at runtime by opencv_videoio module.
24 If it succeeds, ffmpeg can be used to decode/encode videos;
25 otherwise, other API is used.
26
27 If LGPL/GPL software can not be supplied with your OpenCV-based product, simply exclude
28 opencv_ffmpeg*.dll from your distribution; OpenCV will stay fully functional except for the ability to
29 decode/encode videos using FFMPEG (though, it may still be able to do that using other API,
30 such as Video for Windows, Windows Media Foundation or our self-contained motion jpeg codec).
31
32 See license.txt for the FFMPEG copyright notice and the licensing terms.
33