Videos
I used to compile ffmpeg on a linux machine with MinGW, but now I'm able to compile on a windows machine, in my case Windows 10.
NOTE: For me it only worked for ffmpeg versions >= 3.0 and I tested using VS 2013 and 2015
Few steps but very important:
Download and install (except YASM):
- Visual Studio 2013 or 2015
- YASM
- MSYS2
Steps:
- Install MSYS2 to a fixed folder (eg.: C:\Dev\msys64)
- Run msys2.exe
- Execute command "pacman -S make gcc diffutils" and press "Y" to install
- Close msys2
- Rename C:\Dev\msys64\usr\bin\link.exe to some other name (eg.: msys2_link.exe)
- Copy and rename "yasm--win64.exe" to "C:\Dev\yasm.exe"
- Add "C:\Dev" to environment variables PATH
- Run VS2013/2015 x86 (for x86) or x64 for (x64) Command Prompt
- Execute "C:\Dev\msys64\msys2_shell.cmd -msys -use-full-path"
- On the msys2 window execute "which cl" and you should see the path of your VS
- Execute "which link" and you should also see the path of your VS
- Go to the ffmpeg source path (eg.: "cd /c/ffmpeg3.3")
- Run ./configure and make
I use this configuration:
./configure \
--toolchain=msvc \
--arch=x86_64 \
--enable-yasm \
--enable-asm\
--enable-shared \
--enable-w32threads \
--disable-programs \
--disable-ffserver \
--disable-doc \
--disable-static \
--prefix=/c/ffmpeg3.3/DLLS
NOTE2: If you used the last line --prefix=/c/ffmpeg3.3/DLLS, as a final step, run make install and the binaries will be copied to that path
Hope it helped.
Best of luck
Assuming with x64 you mean the standard 64-bit version, yes it is possible. See the fate page for all tested builds of FFmpeg, there's various 32- and 64-bit versions of Visual Studio in that list, including VS2013 and VS2015 64-bit. Search for "Microsoft (R) C/C++ Optimizing Compiler Version 18.00.40629 for x64" (or "19.00.24215.1") or "VS2013"/"VS2015", all the way at the bottom. For exact build options, see here for 2013 or here for 2015. The important part is to open a Windows shell with the 64-bit commandline build tools in your $PATH and open a msys shell from there, and then run configure using the --arch=x86_64 --target-os=win64 --toolchain=msvc options. For more detail, see the MSVC compilation wiki page.