Building from sources
Latest sources are available through GitHub's Git repository.
Required software
On any OS
- SFML 2.3 or later (older versions have bugs that significantly affect sfeMovie's stability)
- CMake
- A working build system supporting C++11 (Clang or GCC on Linux and macOS, Visual Studio 2013 or later on Windows)
Additionally on Windows
Optional software
- Boost (for tests only)
- libass binaries if you want support for textual (srt, ssa/ass, ...) subtitles
Configuration
sfeMovie uses CMake to generate the project files for your IDE and to select the audio and video decoders you want to enable.
To configure sfeMovie:
- Run the CMake GUI.
- Set the appropriate source directory, set a binary directory of your choice and run Configure
- If SFML isn't found automatically, add an entry with the name SFML_ROOT, type PATH and value the-directory-where-SFML-is-installed, then re-run Configure. Note that SFML 2.3 or later is required
- Set SFEMOVIE_ENABLED_DECODERS to any decoders you want from the "SFEMOVIE_AVAILABLE_DECODERS" list
- If you want to create a static sfeMovie library, set SFEMOVIE_BUILD_STATIC to TRUE. This assumes that you will also use static SFML libraries.
- If you want support for textual (srt, ssa/ass, ...) subtitles, set SFEMOVIE_ENABLE_ASS_SUBTITLES to TRUE and tell CMake where to find libass binaries. Bitmap subtitles are supported even without this option.
- On Windows, make sure the FFMPEG_BASH_EXE is correctly set to 'bash.exe' of your MSYS2 installation
- Run Configure and Generate
Build
Once the project has been generated by CMake:
- If you use a graphical IDE: build the ALL_BUILD target
- If you use Makefiles: run "make"
Then be patient! A full build usually needs around 15 minutes.
Installation
In the generated project:
- If you use a graphical IDE: build the INSTALL target (your IDE may need to be run with administrator privileges depending on the installation location you chose)
- If you use Makefiles: run "make install"
Using sfeMovie
- make sure your compiler supports C++11 and let the compiler know you want to enable the features for this standard if it's not the default behavior
- make sure you correctly set the headers and libraries search paths to find both sfeMovie's and SFML's headers and libraries
- dynamically link your product against sfeMovie and SFML 2.3 or later (at least sfml-graphics)
- release your software with the required libraries:
- sfeMovie
- avcodec
- avformat
- avutil
- swresample
- swscale
- SFML and its dependencies (at least system, window, graphics and audio modules)
You can use the provided sample as a starting point for your work.