|
1 | | -# FFmpeg Builder |
| 1 | +# FFmpeg GitHub Action Builds (MSVC) |
| 2 | + |
| 3 | +This repository provides **FFmpeg builds** compiled with **MSVC (Microsoft Visual C++)**, leveraging GitHub Actions to automate the process. Each release includes complete precompiled binaries, libraries, and development files, optimized for various platforms and configurations. |
2 | 4 |
|
3 | 5 | [](https://github.com/System233/ffmpeg-builds/actions/workflows/build.yml) |
4 | 6 |
|
5 | | -Build results: [Download](https://github.com/System233/ffmpeg-msvc-prebuilt/releases) |
| 7 | +## Contents of the Release Packages |
| 8 | + |
| 9 | +Each release provides the following for all build variants, architectures, and licenses: |
| 10 | + |
| 11 | +1. **Precompiled binaries** (`ffmpeg`, `ffplay`, `ffprobe`, etc.). |
| 12 | +2. **Dynamic and static libraries** for FFmpeg and included dependencies. |
| 13 | +3. **Header files** for development. |
| 14 | +4. **pkg-config (.pc) files** for library integration. |
| 15 | +5. **CMake configuration files** for easy integration with CMake-based projects. |
| 16 | +6. **SHA1 checksum files** for verifying integrity. |
| 17 | + |
| 18 | +The files are packaged into **.zip** archives for each configuration, making it easy to download and integrate into your workflow. |
| 19 | + |
| 20 | +## Downloading and Using the Builds |
| 21 | + |
| 22 | +1. Visit the **[Releases](https://github.com/System233/ffmpeg-msvc-prebuilt/releases)** section. |
| 23 | +2. Download the `.zip` archive and its corresponding `.sha1` checksum file for your desired configuration. |
| 24 | +3. Verify the archive integrity using the `.sha1` checksum file. |
| 25 | + ```sh |
| 26 | + sha1sum -c <filename>.sha1 |
| 27 | + ``` |
| 28 | +4. Extract the archive to access binaries, libraries, and development files. |
| 29 | + |
| 30 | +## Features |
| 31 | + |
| 32 | +### Built with MSVC |
| 33 | + |
| 34 | +- Ensures compatibility with Windows development environments. |
| 35 | +- Generates high-performance binaries optimized for modern Windows platforms. |
| 36 | + |
| 37 | +### Build Variants |
| 38 | + |
| 39 | +- **Shared**: Includes dynamic libraries and runtime dependencies. |
| 40 | +- **Static**: Fully self-contained binaries for standalone usage. |
| 41 | + |
| 42 | +### Supported Architectures |
| 43 | + |
| 44 | +- **amd64** (x86_64) |
| 45 | +- **x86** (32-bit) |
| 46 | +- **arm** (armv7l) |
| 47 | +- **arm64** (aarch64) |
| 48 | + |
| 49 | +### Licensing Options |
| 50 | + |
| 51 | +- **GPL Builds**: Includes additional components like **x264** and **x265** encoders. |
| 52 | +- **LGPL Builds**: Excludes GPL-licensed components for more permissive licensing. |
| 53 | + |
| 54 | +### Included Dependencies |
6 | 55 |
|
7 | | -## Build Info |
| 56 | +All builds include the following libraries: |
8 | 57 |
|
9 | | -- Binaries: Now includes ffmpeg, ffplay and ffprobe executable files, as well as related header files and lib. |
10 | | -- Arch support: x64, x86, arm and arm64. |
11 | | -- Linker: static, shared |
12 | | -- License: GPLv3, LGPLv2.1 |
| 58 | +- [nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers.git) |
| 59 | +- [zlib](https://github.com/madler/zlib.git) |
| 60 | +- [libjxl](https://github.com/libjxl/libjxl.git) |
| 61 | + - [openexr](https://github.com/AcademySoftwareFoundation/openexr.git) |
| 62 | +- [freetype](https://gitlab.freedesktop.org/freetype/freetype.git) |
| 63 | +- [harfbuzz](https://github.com/harfbuzz/harfbuzz.git) |
| 64 | +- [SDL2](https://github.com/libsdl-org/SDL.git) |
| 65 | +- [x264](https://code.videolan.org/videolan/x264.git) (GPL builds only) |
| 66 | +- [x265](https://bitbucket.org/multicoreware/x265_git.git) (GPL builds only) |
13 | 67 |
|
14 | | -## Enabled dependencies |
| 68 | +## License |
15 | 69 |
|
16 | | -- freetype2 (filter) |
17 | | -- harfbuzz (filter) |
18 | | -- libjxl (jxl,exr) |
19 | | -- SDL2 (ffplay) |
20 | | -- zlib (libpng,png/apng) |
| 70 | +- The scripts in this repository are licensed under the **MIT License**. |
| 71 | +- The binaries inherit the licensing terms of FFmpeg and its dependencies, which may include **GPL** or **LGPL**. |
0 commit comments