You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
*`aom`: AV1 Video Codec (Experimental and very slow!)
56
78
*`librav1e`: rust based AV1 encoder (only available if [`cargo` is installed](https://doc.rust-lang.org/cargo/getting-started/installation.html))
57
-
*`libdav1d`: Fastest AV1 decoder developed by the VideoLAN and FFmpeg communities and sponsored by the AOMedia (only available if `meson` and `ninja` are installed)
79
+
*`libdav1d`: Fastest AV1 decoder developed by the VideoLAN and FFmpeg communities and sponsored by the AOMedia (only available if `meson` and `ninja` are available)
58
80
*`fdk_aac`: Fraunhofer FDK AAC Codec
59
81
*`xvidcore`: MPEG-4 video coding standard
60
82
*`VP8/VP9/webm`: VP8 / VP9 Video Codec for the WebM video file format
@@ -100,45 +122,113 @@ $ ./build-ffmpeg --build
100
122
* H264 `h264_amf`
101
123
102
124
103
-
### Apple M1 (Apple Silicon) Support
125
+
##Build Script Usage
104
126
105
-
The script also builds FFmpeg on a new MacBook with an Apple Silicon M1 processor.
Note: Because of the NSS (Name Service Switch), glibc does not recommend static links.
139
+
```
106
140
107
-
### LV2 Plugin Support
141
+
### Notes on static linking
108
142
109
-
If Python is available, the script will build a ffmpeg binary with lv2 plugin support.
143
+
- Because of the NSS (Name Service Switch), glibc does **not recommend** static links. See [more details here](https://sourceware.org/glibc/wiki/FAQ#Even_statically_linked_programs_need_some_shared_libraries_which_is_not_acceptable_for_me.__What_can_I_do.3F).
110
144
111
-
## Continuous Integration
145
+
- The libnpp in the CUDA SDK cannot be statically linked.
146
+
- Vaapi cannot be statically linked.
112
147
113
-
ffmpeg-build-script is very stable. Every commit runs against Linux and macOS
114
-
with https://github.com/markus-perl/ffmpeg-build-script/actions to make sure everything works as expected.
115
148
116
-
## Requirements
149
+
## Common full build (macOS, Linux)
117
150
118
-
### macOS
151
+
1) Install the [prerequisites](#requirements-to-build), above.
152
+
1) Install optional dependencies, as desired.
153
+
- If you have an NVIDIA GPU and want to enable CUDA acceleration, please refer to [these instructions](#Cuda-installation) to install the SDK.
119
154
120
-
* XCode 10.x or greater
155
+
- If you have an AMD GPU and want to enable AMF acceleration, please refer to [these instructions](#amf-installation) to install the drivers.
121
156
122
-
### Linux
157
+
- If you want to enable Vaapi acceleration (for most GPUs), please refer to [these instructions](#Vaapi-installation) to install the driver.
123
158
124
-
* Debian >= Buster, Ubuntu => Focal Fossa, other Distributions might work too
125
-
* Rocky Linux 8
126
-
* A development environment and curl is required
159
+
- If you want the `librav1e` AV1 encoder, please install [rust](https://doc.rust-lang.org/cargo/getting-started/installation.html) to get `cargo` for the build process. Be sure to start a new shell before building, so that `cargo` is in the new path. If desired, it can be removed with `rustup self uninstall` after the build is complete.
160
+
161
+
- If you want the `dav1d` AV1 decoder, please ensure that `python3` is installed. If using the system python installation, also ensure that `meson` and `ninja` are installed before running (otherwise the script will try to install them using `pip3`).
162
+
163
+
- If you want the `Lv2` filter plugin, please ensure that `python3` is installed.
164
+
165
+
1) Run the downoaded build script from the current directory, with your desired [options](#build-script-usage).
166
+
```bash
167
+
$ ./build-ffmpeg [your parameters here] --build
168
+
```
169
+
- Packages will be under the `packages/` subdirectory.
170
+
- Build results will be under the `workspace/` subdirectory.
171
+
172
+
Upon completion, build-ffmpeg will prompt you for whether to install.
173
+
174
+
1) Once installed, if you are satisfied with your ffmpeg build, the ffmpeg-build-script directory can be removed completely.
175
+
176
+
### CUDA installation
177
+
178
+
CUDA is a parallel computing platform developed by NVIDIA. To be able to compile ffmpeg with CUDA support, you first
179
+
need a compatible NVIDIA GPU and the NVIDIA compiler nvcc from the CUDA toolkit.
180
+
181
+
- Ubuntu: To install the CUDA toolkit on Ubuntu, run
0 commit comments