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
Copy file name to clipboardExpand all lines: README.md
+15-15
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,18 @@
1
1
ffmpeg-windows-build-helpers
2
2
============================
3
3
4
-
This helper script lets you cross compile a windows-based 32 or 64-bit version of ffmpeg/mplayer/mp4box.exe, etc, including their dependencies and libraries that they use.
5
-
Note that I do offer custom builds, price negotiable. Ping me at [email protected] and I'll do the work for you :)
4
+
This helper script lets you cross compile a windows-based 32 or 64-bit version of ffmpeg.exe/mplayer/mp4box.exe, etc, including their dependencies and libraries that they use.
5
+
Note that I do offer custom builds, price negotiable. Ping me at [email protected] and we can negotiate, I'll do the work for you :)
6
6
7
-
The script allows the user to either build on a Linux host (which uses cross compiles to build windows binaries). Windows users can use windows bash or virtualbox.
8
-
Building on linux takes less time overall. On Windows 10, you can use the bash shell (provided that you've installed the Windows Subsystem for Linux as explained [here](http://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/). NB if you use WSL Ubuntu 20.04 you need to do an extra step: https://github.com/rdp/ffmpeg-windows-build-helpers/issues/452
9
-
Building in windows takes longer but avoids the need of deploying a Linux installation for the same purpose.
10
-
I do have some "distribution release builds" of running the script here: https://sourceforge.net/projects/ffmpegwindowsbi/files
7
+
The script allows the user to build using a Linux host (which uses cross compiles to build windows binaries). Windows users can use wsl or virtualbox (which run linux).
8
+
Building on native linux box might take less time overall.
9
+
NB if you use WSL Ubuntu 20.04 you need to do an extra step: https://github.com/rdp/ffmpeg-windows-build-helpers/issues/452 or look in the "extra" directory for a script to do various builds on WSL.
11
10
12
11
**Cross-compiling from a Linux environment:**
13
12
14
-
You can build the project on Linux with a cross compiler toolchain, taking about 2 hours for the "options" build.
13
+
Takes about 2 hours.
15
14
16
-
Deploy a Linux VM on the host of your choice (>= 20.04 for Ubuntu), or natively on an extra computer or a dual boot system, and also, you could even create a VM temporarily, on a hosting provider such as Digital Ocean. Cheapest way: install windows 10 bash shell. Another option: linux on a virtualbox VM. Another option, typically fastest: temporarily rent a box (ex: DigitalOcean or vultr or oracle cloud free ). If you're on a "too old" version of linux you may have luck with building it inside a "docker" see the docker folder. Else:
15
+
Deploy a Linux VM on the host of your choice (>= 20.04 for Ubuntu), or natively on an extra computer or a dual boot system, or via a hosting provider such as Digital Ocean. Cheapest way: install windows 10 wsl bash shell. Another option: linux on a virtualbox VM. Another option, typically fast: temporarily rent a box (ex: DigitalOcean or vultr).
17
16
18
17
Download the script by cloning this repository via git:
19
18
@@ -25,30 +24,31 @@ Download the script by cloning this repository via git:
25
24
$ ./cross_compile_ffmpeg.sh
26
25
27
26
Answer the prompts.
28
-
It should end up with a working, statically-built ffmpeg.exe binary within the "`sandbox/*/ffmpeg_git`" director(ies).
27
+
It should end up with a working, statically-built ffmpeg.exe binary within the "`sandbox/*/ffmpeg_git`" director(ies). You're done!
29
28
30
-
Another option instead of running `./cross_compile_ffmpeg.sh` is to run
29
+
If you're on a "too old" version of linux (or a distro besides Ubuntu, which is the most supported) you may have luck with building it inside a "docker" see the docker directory.
30
+
31
+
Another option which might save time (but doesn't have as many options, just creates an ffmpeg/x264/fdk-aac) instead of running `./cross_compile_ffmpeg.sh` is to run
Note the "quick" part here which attempts to use the locally installed `mingw-w64` package from your distribution for the cross compiler, thus skipping the time-intensive cross-compiler toolchain build step. It's not as well tested as running the normal one, however, which builds gcc from scratch.
37
37
38
-
For Mac OSX users, simply follow the instructions for Linux above.
38
+
For Mac OSX users, simply follow the instructions for Linux above and built it natively in OS X terminal.
39
39
40
40
To view additional arguments and options supported by the script, run:
41
41
42
42
./cross_compile_ffmpeg.sh -h
43
43
44
44
to see all the various options available.
45
45
46
-
For long running builds, do run them overnight as they take a while.
46
+
For long running builds, do run them overnight as they take a while. You can just let it go...
47
47
48
48
If you want to build a "shared" build (there's a command line option for that :) then link it into your MSVC project see https://stackoverflow.com/questions/11701635/use-ffmpeg-in-visual-studio/11701737
49
49
50
-
Also note that you can also "cross compile" mp4box, mplayer,mencoder and vlc binaries if you pass in the appropriate command line parameters.
51
-
The VLC build is currently broken, send a PM if you'd want it fixed.
50
+
Also note that you can also "cross compile" mp4box, mplayer,mencoder and vlc binaries if you pass in the appropriate command line parameters. And a few others.
51
+
Some of them are currently broken, send a PM if you'd want it fixed.
52
52
53
53
To enable Intel QuickSync encoders (supported on Windows vista and above), which is optional, pass the option `--build-intel-qsv=y` to the cross-compilation script above.
54
54
There is also an LGPL command line option for those that want that.
0 commit comments