openh264 Windows 平台x64版本编译

  • 需求Windows x64支持h264编码的视频

        pjsip如果需要支持h264编码格式的视频,需要引入openh264。

  • openh264源码下载

        https://github.com/cisco/openh264

  • 编译工具 MinGW-w64 , vs2019, nasm, Windows SDK
  1.  MinGW-w64, https://sourceforge.net/projects/mingw-w64/

openh264 Windows 平台x64版本编译_第1张图片

        2. nasm,  https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/, x64需要下载win64/,并把解压后的 nasm.exe 文件拷贝到 \MinGW\bin 目录下

openh264 Windows 平台x64版本编译_第2张图片

        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目录加到环境变量中

    • openh264 Windows 平台x64版本编译_第3张图片

       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

openh264 Windows 平台x64版本编译_第4张图片

 

你可能感兴趣的:(FreeSwitch,windows,x64,openh264)