Live555 是一个经典的 C++ 开源流媒体解决方案, 像诸如 VLC 等软件都采用它实现流媒体播放相关功能, 从 ChangeLog 上看它创建于 2002 年, 并且还在持续更新中

但由于它较老, 并且主要用在 Linux 下, 所以源码在 Windows 平台下编译有些问题, 下面是在 VC 2015 Community 下编译 Live555 的步骤

先下载 live555-latest.tar.gz 并解压

打开 live/win32config 文件进行如下修改:

  • 注释掉 !include <ntwin32.mak>, 在前面加 # 即可

  • c:\Program Files\DevStudio\Vc 修改为你的 VC 路径, 比如 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC

  • LINK = $linklink -out: 替换为 LINK = link ws2_32.lib /out:

  • LIBRARY_LINK = lib -out: 替换为 LIBRARY_LINK = lib /out:

  • msvcirt.lib 替换为 msvcrt.lib

调出 VC 命令行, 切换到 live 目录下运行 genWindowsMakefiles 此命令会为各个项目生成 mak 文件, 但是 VC 2003 之后的版本无法通过 IDE 打开 mak 格式的工程文件, 需要通过 nmake 命令进行编译, 比如:

nmake /B -f liveMedia.mak

需要先编译以下 lib: 1. liveMedia.mak 2. groupsock.mak 3. UsageEnvironment.mak 4. BasicUsageEnvironment.mak

可以将以上编译的过程通过以下批处理自动化:

call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86

cd live
del /S *.mak
call genWindowsMakefiles

cd liveMedia
del *.obj *.lib
nmake /B -f liveMedia.mak
cd ..\groupsock
del *.obj *.lib
nmake /B -f groupsock.mak
cd ..\UsageEnvironment
del *.obj *.lib
nmake /B -f UsageEnvironment.mak
cd ..\BasicUsageEnvironment
del *.obj *.lib
nmake /B -f BasicUsageEnvironment.mak
cd ..\testProgs
del *.obj *.lib
nmake /B -f testProgs.mak
cd ..\mediaServer
del *.obj *.lib
nmake /B -f mediaServer.mak
cd ..\proxyServer
del *.obj *.lib
nmake /B -f \proxyServer.mak
cd ..

cd ..
pause