赞
踩
MSYS2
https://github.com/msys2/msys2-installer/releases/download/2024-01-13/msys2-x86_64-20240113.exe
FFMPEG Source
https://ffmpeg.org/releases/ffmpeg-5.1.2.tar.gz
X264 Source
http://www.videolan.org/developers/x264.html
Initializing Toolschain
pacman -S mingw-w64-x86_64-toolchain
pacman -S base-devel
pacman -S yasm nasm gcc
pacman -S vim
pacman -S mingw-w64-x86_64-pkg-config
pacman -S mingw-w64-x86_64-zlib
/home/55829>pacman -S mingw-w64-x86_64-toolchain
:: There are 19 members in group mingw-w64-x86_64-toolchain:
:: Repository mingw64
1) mingw-w64-x86_64-binutils 2) mingw-w64-x86_64-crt-git 3) mingw-w64-x86_64-gcc 4) mingw-
7) mingw-w64-x86_64-gcc-libs 8) mingw-w64-x86_64-gcc-objc 9) mingw-w64-x86_64-gdb 10) ming
13) mingw-w64-x86_64-libmangle-git 14) mingw-w64-x86_64-libwinpthread-git 15) mingw-w64-x86
19) mingw-w64-x86_64-winstorecompat-git
Enter a selection (default=all):
resolving dependencies...
looking for conflicting packages...
Packages (45) mingw-w64-x86_64-bzip2-1.0.8-3 mingw-w64-x86_64-expat-2.5.0-1 mingw-w64-x86_64-g
mingw-w64-x86_64-libiconv-1.17-3 mingw-w64-x86_64-libsystre-1.0.1-5 mingw-w64-x8
mingw-w64-x86_64-mpfr-4.2.1-2 mingw-w64-x86_64-ncurses-6.4.20231217-1 mingw-w64-
mingw-w64-x86_64-sqlite3-3.44.2-1 mingw-w64-x86_64-tcl-8.6.12-2 mingw-w64-x86_64
mingw-w64-x86_64-windows-default-manifest-6.4-4 mingw-w64-x86_64-xxhash-0.8.2-2
mingw-w64-x86_64-binutils-2.41-3 mingw-w64-x86_64-crt-git-11.0.0.r547.g4c8123efb-
mingw-w64-x86_64-gcc-libgfortran-13.2.0-3 mingw-w64-x86_64-gcc-libs-13.2.0-3 min
mingw-w64-x86_64-headers-git-11.0.0.r547.g4c8123efb-1 mingw-w64-x86_64-libgccjit-
mingw-w64-x86_64-libwinpthread-git-11.0.0.r547.g4c8123efb-1 mingw-w64-x86_64-make
mingw-w64-x86_64-winpthreads-git-11.0.0.r547.g4c8123efb-1 mingw-w64-x86_64-winsto
Total Download Size: 162.26 MiB
Total Installed Size: 1082.96 MiB
:: Proceed with installation? [Y/n] Y
:: Retrieving packages...
mingw-w64-x86_64-gcc-fortran-13.2.0-3-any
mingw-w64-x86_64-gcc-objc-13.2.0-3-any
mingw-w64-x86_64-libgccjit-13.2.0-3-any
mingw-w64-x86_64-gcc-ada-13.2.0-3-any
mingw-w64-x86_64-gdb-multiarch-14.1-1-any
mingw-w64-x86_64-gcc-13.2.0-3-any
mingw-w64-x86_64-binutils-2.41-3-any
mingw-w64-x86_64-python-3.11.7-1-any
mingw-w64-x86_64-gdb-14.1-1-any
mingw-w64-x86_64-crt-git-11.0.0.r547.g4c8123efb-1-any
mingw-w64-x86_64-gettext-0.22.4-3-any
mingw-w64-x86_64-tk-8.6.12-2-any
mingw-w64-x86_64-tcl-8.6.12-2-any
mingw-w64-x86_64-isl-0.... 1442.0 KiB 2.47 MiB/s 00:01 [##############################] 100%
mingw-w64-x86_64-gcc-li... 881.5 KiB 2.27 MiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-xz-5.4... 673.3 KiB 1855 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-zstd-1... 621.6 KiB 1666 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-header... 6.0 MiB 2.32 MiB/s 00:03 [##############################] 100%
mingw-w64-x86_64-libico... 719.8 KiB 760 KiB/s 00:01 [##############################] 100%
mingw-w64-x86_64-gmp-6.... 577.8 KiB 1689 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-mpfr-4... 535.8 KiB 1571 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-readli... 411.1 KiB 1076 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-mpdeci... 321.9 KiB 975 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-tools-... 300.6 KiB 908 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-tzdata... 229.1 KiB 692 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-expat-... 155.8 KiB 433 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-make-4... 135.3 KiB 468 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-mpc-1.... 128.7 KiB 447 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-xxhash... 116.4 KiB 380 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-zlib-1... 104.1 KiB 355 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-openss... 7.9 MiB 1684 KiB/s 00:05 [##############################] 100%
mingw-w64-x86_64-bzip2-... 90.9 KiB 288 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-pkgcon... 84.3 KiB 244 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-libtre... 80.0 KiB 246 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-libffi... 42.5 KiB 111 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-winpth... 39.9 KiB 95.4 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-termca... 27.3 KiB 89.1 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-libwin... 28.7 KiB 76.2 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-winsto... 23.3 KiB 60.9 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-libman... 22.2 KiB 57.3 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-libsys... 9.8 KiB 27.2 KiB/s 00:00 [##############################] 100%
mingw-w64-x86_64-window... 3.1 KiB 9.54 KiB/s 00:00 [##############################] 100%
Total (45/45) 162.3 MiB 16.6 MiB/s 00:10 [##############################] 100%
(45/45) checking keys in keyring [##############################] 100%
(45/45) checking package integrity [##############################] 100%
(45/45) loading package files [##############################] 100%
(45/45) checking for file conflicts [##############################] 100%
(45/45) checking available disk space [##############################] 100%
:: Processing package changes...
( 1/45) installing mingw-w64-x86_64-libwinpthread-git [##############################] 100%
( 2/45) installing mingw-w64-x86_64-gcc-libs [##############################] 100%
( 3/45) installing mingw-w64-x86_64-zstd [##############################] 100%
( 4/45) installing mingw-w64-x86_64-zlib [##############################] 100%
( 5/45) installing mingw-w64-x86_64-binutils [##############################] 100%
( 6/45) installing mingw-w64-x86_64-headers-git [##############################] 100%
( 7/45) installing mingw-w64-x86_64-crt-git [##############################] 100%
( 8/45) installing mingw-w64-x86_64-gmp [##############################] 100%
( 9/45) installing mingw-w64-x86_64-isl [##############################] 100%
(10/45) installing mingw-w64-x86_64-libiconv [##############################] 100%
(11/45) installing mingw-w64-x86_64-mpfr [##############################] 100%
(12/45) installing mingw-w64-x86_64-mpc [##############################] 100%
(13/45) installing mingw-w64-x86_64-windows-default-m... [##############################] 100%
(14/45) installing mingw-w64-x86_64-winpthreads-git [##############################] 100%
(15/45) installing mingw-w64-x86_64-gcc [##############################] 100%
(16/45) installing mingw-w64-x86_64-gcc-ada [##############################] 100%
(17/45) installing mingw-w64-x86_64-gcc-libgfortran [##############################] 100%
(18/45) installing mingw-w64-x86_64-gcc-fortran [##############################] 100%
(19/45) installing mingw-w64-x86_64-gcc-objc [##############################] 100%
(20/45) installing mingw-w64-x86_64-expat [##############################] 100%
(21/45) installing mingw-w64-x86_64-gettext [##############################] 100%
(22/45) installing mingw-w64-x86_64-libtre-git [##############################] 100%
(23/45) installing mingw-w64-x86_64-libsystre [##############################] 100%
(24/45) installing mingw-w64-x86_64-ncurses [##############################] 100%
(25/45) installing mingw-w64-x86_64-bzip2 [##############################] 100%
(26/45) installing mingw-w64-x86_64-libffi [##############################] 100%
(27/45) installing mingw-w64-x86_64-mpdecimal [##############################] 100%
(28/45) installing mingw-w64-x86_64-openssl [##############################] 100%
Optional dependencies for mingw-w64-x86_64-openssl
mingw-w64-x86_64-ca-certificates
(29/45) installing mingw-w64-x86_64-termcap [##############################] 100%
(30/45) installing mingw-w64-x86_64-readline [##############################] 100%
(31/45) installing mingw-w64-x86_64-tcl [##############################] 100%
(32/45) installing mingw-w64-x86_64-sqlite3 [##############################] 100%
(33/45) installing mingw-w64-x86_64-tk [##############################] 100%
(34/45) installing mingw-w64-x86_64-xz [##############################] 100%
(35/45) installing mingw-w64-x86_64-tzdata [##############################] 100%
(36/45) installing mingw-w64-x86_64-python [##############################] 100%
(37/45) installing mingw-w64-x86_64-xxhash [##############################] 100%
(38/45) installing mingw-w64-x86_64-gdb [##############################] 100%
Optional dependencies for mingw-w64-x86_64-gdb
mingw-w64-x86_64-python-pygments: for syntax highlighting
(39/45) installing mingw-w64-x86_64-gdb-multiarch [##############################] 100%
Optional dependencies for mingw-w64-x86_64-gdb-multiarch
mingw-w64-x86_64-python-pygments: for syntax highlighting
(40/45) installing mingw-w64-x86_64-libgccjit [##############################] 100%
(41/45) installing mingw-w64-x86_64-libmangle-git [##############################] 100%
(42/45) installing mingw-w64-x86_64-make [##############################] 100%
(43/45) installing mingw-w64-x86_64-pkgconf [##############################] 100%
(44/45) installing mingw-w64-x86_64-tools-git [##############################] 100%
(45/45) installing mingw-w64-x86_64-winstorecompat-git [##############################] 100%
/home/55829>
/home/55829>pacman -S base-devel
resolving dependencies...
looking for conflicting packages...
Packages (13) binutils-2.41-4 bison-3.8.2-5 diffstat-1.65-1 diffutils-3.10-1
dos2unix-7.5.1-1 flex-2.6.4-3 m4-1.4.19-2 make-4.4.1-1 patch-2.7.6-2
pkgconf-2.1.0-1 texinfo-7.1-2 texinfo-tex-7.1-2 base-devel-2022.12-2
Total Download Size: 9.59 MiB
Total Installed Size: 59.08 MiB
:: Proceed with installation? [Y/n]
:: Retrieving packages...
binutils-2.41-4-x86_64 5.4 MiB 4.32 MiB/s 00:01 [##############################] 100%
make-4.4.1-1-x86_64 505.9 KiB 381 KiB/s 00:01 [##############################] 100%
dos2unix-7.5.1-1-x86_64 442.3 KiB 324 KiB/s 00:01 [##############################] 100%
bison-3.8.2-5-x86_64 777.2 KiB 552 KiB/s 00:01 [##############################] 100%
texinfo-7.1-2-x86_64 1435.3 KiB 902 KiB/s 00:02 [##############################] 100%
diffutils-3.10-1-x86_64 379.8 KiB 1049 KiB/s 00:00 [##############################] 100%
patch-2.7.6-2-x86_64 96.8 KiB 246 KiB/s 00:00 [##############################] 100%
pkgconf-2.1.0-1-x86_64 61.7 KiB 211 KiB/s 00:00 [##############################] 100%
flex-2.6.4-3-x86_64 303.8 KiB 486 KiB/s 00:01 [##############################] 100%
m4-1.4.19-2-x86_64 238.1 KiB 401 KiB/s 00:01 [##############################] 100%
diffstat-1.65-1-x86_64 29.2 KiB 82.2 KiB/s 00:00 [##############################] 100%
base-devel-2022.12-2-any 2.4 KiB 6.74 KiB/s 00:00 [##############################] 100%
texinfo-tex-7.1-2-x86_64 25.6 KiB 45.6 KiB/s 00:01 [##############################] 100%
Total (13/13) 9.6 MiB 3.70 MiB/s 00:03 [##############################] 100%
(13/13) checking keys in keyring [##############################] 100%
(13/13) checking package integrity [##############################] 100%
(13/13) loading package files [##############################] 100%
(13/13) checking for file conflicts [##############################] 100%
(13/13) checking available disk space [##############################] 100%
:: Processing package changes...
( 1/13) installing binutils [##############################] 100%
( 2/13) installing m4 [##############################] 100%
( 3/13) installing bison [##############################] 100%
( 4/13) installing diffstat [##############################] 100%
( 5/13) installing diffutils [##############################] 100%
( 6/13) installing dos2unix [##############################] 100%
( 7/13) installing flex [##############################] 100%
( 8/13) installing texinfo [##############################] 100%
( 9/13) installing texinfo-tex [##############################] 100%
(10/13) installing make [##############################] 100%
(11/13) installing patch [##############################] 100%
Optional dependencies for patch
ed: for patch -e functionality
(12/13) installing pkgconf [##############################] 100%
(13/13) installing base-devel [##############################] 100%
:: Running post-transaction hooks...
(1/1) Updating the info directory file...
/home/55829>
/home/55829>pacman -S yasm nasm gcc
resolving dependencies...
looking for conflicting packages...
Packages (9) isl-0.26-1 mpc-1.3.1-1 msys2-runtime-devel-3.4.10-4
msys2-w32api-headers-11.0.1.r0.gc3e587c06-2
msys2-w32api-runtime-11.0.1.r0.gc3e587c06-2 windows-default-manifest-6.4-2
gcc-13.2.0-2 nasm-2.16.01-1 yasm-1.3.0-3
Total Download Size: 40.70 MiB
Total Installed Size: 311.03 MiB
:: Proceed with installation? [Y/n]
:: Retrieving packages...
yasm-1.3.0-3-x86_64 341.0 KiB 240 KiB/s 00:01 [##############################] 100%
isl-0.26-1-x86_64 745.0 KiB 480 KiB/s 00:02 [##############################] 100%
msys2-runtime-devel-3.4... 339.1 KiB 346 KiB/s 00:01 [##############################] 100%
msys2-w32api-runtime-11... 2.0 MiB 694 KiB/s 00:03 [##############################] 100%
nasm-2.16.01-1-x86_64 323.4 KiB 573 KiB/s 00:01 [##############################] 100%
mpc-1.3.1-1-x86_64 78.5 KiB 102 KiB/s 00:01 [##############################] 100%
msys2-w32api-headers-11... 5.2 MiB 1365 KiB/s 00:04 [##############################] 100%
windows-default-manifes... 3.0 KiB 3.41 KiB/s 00:01 [##############################] 100%
gcc-13.2.0-2-x86_64 31.7 MiB 7.60 MiB/s 00:04 [##############################] 100%
Total (9/9) 40.7 MiB 9.69 MiB/s 00:04 [##############################] 100%
(9/9) checking keys in keyring [##############################] 100%
(9/9) checking package integrity [##############################] 100%
(9/9) loading package files [##############################] 100%
(9/9) checking for file conflicts [##############################] 100%
(9/9) checking available disk space [##############################] 100%
:: Processing package changes...
(1/9) installing yasm [##############################] 100%
(2/9) installing nasm [##############################] 100%
(3/9) installing isl [##############################] 100%
(4/9) installing mpc [##############################] 100%
(5/9) installing msys2-runtime-devel [##############################] 100%
(6/9) installing msys2-w32api-headers [##############################] 100%
(7/9) installing msys2-w32api-runtime [##############################] 100%
(8/9) installing windows-default-manifest [##############################] 100%
(9/9) installing gcc [##############################] 100%
:: Running post-transaction hooks...
(1/1) Updating the info directory file...
/home/55829>
gcc & pkg-config
/home/55829>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-msys/13.2.0/lto-wrapper.exe
Target: x86_64-pc-msys
Configured with: /c/S/B/src/gcc-13.2.0/configure --build=x86_64-pc-msys --prefix=/usr --libexecdir=/usr/lib --enable-bootstrap --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --with-arch=nocona --with-tune=generic --disable-multilib --enable-__cxa_atexit --with-dwarf2 --enable-languages=c,c++,lto --enable-graphite --enable-threads=posix --enable-libatomic --enable-libgomp --disable-libitm --enable-libquadmath --enable-libquadmath-support --disable-libssp --disable-win32-registry --disable-symvers --with-gnu-ld --with-gnu-as --disable-isl-version-check --enable-checking=release --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --enable-linker-build-id --enable-libstdcxx-filesystem-ts
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 13.2.0 (GCC)
/home/55829>pkg-config --version
0.29.2
/home/55829>pacman -S vim
resolving dependencies...
looking for conflicting packages...
Packages (1) vim-9.1.0000-1
Total Download Size: 8.66 MiB
Total Installed Size: 56.86 MiB
:: Proceed with installation? [Y/n]
:: Retrieving packages...
vim-9.1.0000-1-x86_64 8
(1/1) checking keys in keyring
(1/1) checking package integrity
(1/1) loading package files
(1/1) checking for file conflicts
(1/1) checking available disk space
:: Processing package changes...
(1/1) installing vim [################################] 100%
/home/55829>
/home/55829>pacman -S mingw-w64-x86_64-pkg-config
resolving dependencies...
looking for conflicting packages...
:: mingw-w64-x86_64-pkg-config and mingw-w64-x86_64-pkgconf are in conflict. Remove mingw-w64-x86_64-pkgconf? [Y/n]
Packages (2) mingw-w64-x86_64-pkgconf-1~2.1.0-1 [removal] mingw-w64-x86_64-pkg-config-0.29.2-6
Total Download Size: 0.25 MiB
Total Installed Size: 0.68 MiB
Net Upgrade Size: 0.18 MiB
:: Proceed with installation? [Y/n]
:: Retrieving packages...
mingw-w64-x86_64-pkg-confi... 254.3 KiB 204 KiB/s 00:01 [###############################] 100%
(1/1) checking keys in keyring [###############################] 100%
(1/1) checking package integrity [###############################] 100%
(1/1) loading package files [###############################] 100%
(1/1) checking for file conflicts [###############################] 100%
(2/2) checking available disk space [###############################] 100%
:: Processing package changes...
(1/1) removing mingw-w64-x86_64-pkgconf [###############################] 100%
(1/1) installing mingw-w64-x86_64-pkg-config [###############################] 100%
/home/55829>
/home/55829>pacman -S mingw-w64-x86_64-zlib
warning: mingw-w64-x86_64-zlib-1.3-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...
Packages (1) mingw-w64-x86_64-zlib-1.3-1
Total Installed Size: 0.39 MiB
Net Upgrade Size: 0.00 MiB
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [#########################################################################] 100%
(1/1) checking package integrity [#########################################################################] 100%
(1/1) loading package files [#########################################################################] 100%
(1/1) checking for file conflicts [#########################################################################] 100%
(1/1) checking available disk space [#########################################################################] 100%
:: Processing package changes...
(1/1) reinstalling mingw-w64-x86_64-zlib [#########################################################################] 100%
/home/55829>
msys2_shell.cmd
set MSYS2_PATH_TYPE=inherit
[x64 Native Tools Command Prompt for VS 2022] ==> [mingw64]
C:\Program Files\Microsoft Visual Studio\2022\Enterprise>C:\Tools\msys64\msys2_shell.cmd -mingw64
Compiling X264
/home/55829>mkdir build
/home/55829>dir
build ffmpeg-5.1.2 x264
/home/55829>cd x264
/home/55829/x264>CC=cl ./configure --prefix=$HOME/build --enable-static
platform: X86_64
byte order: little-endian
system: WINDOWS
cli: yes
libx264: internal
shared: no
static: yes
bashcompletion: no
asm: yes
interlaced: yes
avs: yes
lavf: no
ffms: no
mp4: no
gpl: yes
thread: win32
opencl: yes
filters: crop select_every
lto: no
debug: no
gprof: no
strip: no
PIC: no
bit depth: all
chroma format: all
You can run 'make' or 'make fprofiled' now.
/home/55829/x264>
/home/55829/x264>
/home/55829/x264>
/home/55829/x264>make -j8
dependency file generation...
/home/55829/x264>make install
install -d /home/55829/build/bin
install x264.exe /home/55829/build/bin
install -d /home/55829/build/include
install -d /home/55829/build/lib/pkgconfig
install -m 644 ./x264.h x264_config.h /home/55829/build/include
install -m 644 x264.pc /home/55829/build/lib/pkgconfig
install -d /home/55829/build/lib
install -m 644 libx264.lib /home/55829/build/lib
/home/55829/x264>
/home/55829/x264>echo $PKG_CONFIG_PATH
/mingw64/lib/pkgconfig:/mingw64/share/pkgconfig
/home/55829/x264>
/home/55829/x264>export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/build/lib/pkgconfig
/home/55829/x264>
/home/55829/x264>echo $PKG_CONFIG_PATH
/mingw64/lib/pkgconfig:/mingw64/share/pkgconfig:/home/55829/build/lib/pkgconfig
/home/55829/x264>
x264 x264 - H.264 (MPEG4 AVC) encoder library
Compiling FFMPEG
/home/55829/ffmpeg-5.1.2>CC=cl ./configure --prefix=$HOME/install --enable-shared --enable-libx264 --enable-gpl --arch=x86 --toolchain=msvc --extra-cflags=-l$HOME/build/include --extra-ldflags=-L$HOME/build/lib
config.h
#define CC_IDENT "Microsoft (R) C/C++"
/home/55829/ffmpeg-5.1.2>make -j8
GEN libavdevice/libavdevice.version
GEN libavfilter/libavfilter.version
GEN libavformat/libavformat.version
GEN libavcodec/libavcodec.version
GEN libpostproc/libpostproc.version
GEN libswresample/libswresample.version
GEN libswscale/libswscale.version
GEN libavutil/libavutil.version
CC libavdevice/avdevice.o
cl: 命令行 warning D9027 :源文件“C:/Tools/msys64/home/55829/build/include.lib”被忽略
avdevice.c
CC libavdevice/dshow_crossbar.o
CC libavdevice/dshow.o
cl: 命令行 warning D9027 :源文件“C:/Tools/msys64/home/55829/build/include.lib”被忽略
cl: 命令行 warning D9027 :源文件“C:/Tools/msys64/home/55829/build/include.lib”被忽略
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。