- 需求Windows x64支持h264编码的视频
pjsip如果需要支持h264编码格式的视频,需要引入openh264。
- openh264源码下载
https://github.com/cisco/openh264
- 编译工具 MinGW-w64 , vs2019, nasm, Windows SDK
- MinGW-w64, https://sourceforge.net/projects/mingw-w64/
2. nasm, https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/, x64需要下载win64/,并把解压后的 nasm.exe 文件拷贝到 \MinGW\bin 目录下
3. 有的教程提示需要安装MSYS2, https://www.msys2.org/,是为了直接运行脚本进行编译。我这里不需要,直接通过调用编译工具进行编译。(MSYS2可选)
- 编译脚本配置,直接献上我的脚本,可以基于这个改造
call "D:\setup\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
set MSYS=D:\setup\mingw-w64\mingw64\bin // 相当于在环境变量窗口新建一个MSYS的变量
PATH=%MSYS%;%path%;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64 // 解决编译过程找不到USER32.Lib的问题
set INCLUDE=%INCLUDE%
set LIB=%LIB%
bash -c "make ARCH=x86_64 OS=msvc"
pause
- 安装说明
-
它实际上是将经典的开源 C语言 编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。而且还可以使用一些 Windows 不具备的,Linux平台下的开发工具。一句话来概括:MinGW 就是 GCC 的 Windows 版本 。安装过程选择win32/posix 随意,只要知道这个东西是因为跨平台衍生出来的一个东西就可以了,不同平台,操作线程的方法有差异。
-
关于LIB,需要把windows sdk x64下的lib目录加到环境变量中
-
ARCH=x86_64 // x64
i386 // win32
-
关于make命令,其实运行的是mingw-w64\bin\mingw32-make.exe, mingw32-make重命名make.exe,直接用来编译Makefile,脚本在openh264根目录下运行,可以编译出
common.lib
console_common.lib
decoder.lib
encoder.lib
openh264.lib
processing.lib
openh264_dll.lib
openh264.dll
h264dec.exe
h264enc.exe