live555是个流媒体C++开源库,VLC的Meida Player就使用了它的API完成的RTSP客户端,由于VLC的SDK没有提供相关record流到视频文件的API,所以我想用过live555的例子学习,但是live555它不自带二进制的发布,必须自己编译。

编译live555:

http://www.cnblogs.com/skyseraph/archive/2012/04/11/2442840.html

这个是打好的VS2013的包,编译live555的工程:

http://download.csdn.net/detail/zgzhaobo/7376487

live555的OpenRTSP例子程序可以打开接收流,并且进行存储为视频文件。当然听说FFMPEG也可以,但是我看了些例子,比较复杂,所以不看了。而且VLC也是使用live555来做的。所以就打算研究这个。

我是用VS2013编译的,但是照链接文章的方法,出现了Error U1052: File 'ntwin32.mak' not found的错误,原来是在VS2013安装的时候,把ntwin32.mak拷贝到VC的include目录下失败了,所以就没有,是从我的C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include这个目录拷贝的,这里面有ntwin32.mak 和win32.mak,这两个都需要。拷贝到VS2013的安装目录的VC目录的include目录下。编译就不会出错了。但是这个过程中还有一个错误:就是打开msvcirt.lib 这个库错误,心想,这是啥库啊,都没有听过,其实这个msvcirt.lib 是老版本的名字,不是新的,VS2013的SDK当然是新的了,所以要用CRT,msvcrt.lib 这个运行时库,原来是win32config这个文件里面这个域LINK_OPTS_0 的库名字写错了,把它改成msvcrt.lib 就行了。然后就完美成功生成相关lib了。唉,开源的东西真心蛋疼啊,windows上编译又不友好。

照上面的方法,默认编译出来的是x86的,需要编译成x64的。

就需要在VS2013的VS tools里面找到x64 Native Common Prompt的命令行工具进行编译。做个好人,还是把x64相关的win32config修改贴上来吧:

 1 # Comment out the following line to produce Makefiles that generate debuggable code:
 2 NODEBUG=1
 3
 4 # The following definition ensures that we are properly matching
 5 # the WinSock2 library file with the correct header files.
 6 # (will link with "ws2_32.lib" and include "winsock2.h" & "Ws2tcpip.h")
 7 TARGETOS = WINNT
 8
 9 # If for some reason you wish to use WinSock1 instead, uncomment the
10 # following two definitions.
11 # (will link with "wsock32.lib" and include "winsock.h")
12 #TARGETOS = WIN95
13 #APPVER = 4.0
14
15 !include    <ntwin32.mak>
16
17 UI_OPTS =        $(guilflags) $(guilibsdll)
18 # Use the following to get a console (e.g., for debugging):
19 CONSOLE_UI_OPTS =        $(conlflags) $(conlibsdll)
20 CPU=i386
21
22 TOOLS32    =        D:\MathxH\SoftWare\VS2013\VC
23 COMPILE_OPTS =        $(INCLUDES) $(cdebug) $(cflags) $(cvarsdll) -I. -I"$(TOOLS32)\include"
24 C =            c
25 C_COMPILER =        "$(TOOLS32)\bin\amd64\cl"
26 C_FLAGS =        $(COMPILE_OPTS)
27 CPP =            cpp
28 CPLUSPLUS_COMPILER =    $(C_COMPILER)
29 CPLUSPLUS_FLAGS =    $(COMPILE_OPTS)
30 OBJ =            obj
31 LINK =            $(link) -out:
32 LIBRARY_LINK =        lib -out:
33 LINK_OPTS_0 =        $(linkdebug) msvcrt.lib
34 LIBRARY_LINK_OPTS =
35 LINK_OPTS =        $(LINK_OPTS_0) $(UI_OPTS)
36 CONSOLE_LINK_OPTS =    $(LINK_OPTS_0) $(CONSOLE_UI_OPTS)
37 SERVICE_LINK_OPTS =     kernel32.lib advapi32.lib shell32.lib -subsystem:console,$(APPVER)
38 LIB_SUFFIX =        lib
39 LIBS_FOR_CONSOLE_APPLICATION =
40 LIBS_FOR_GUI_APPLICATION =
41 MULTIMEDIA_LIBS =    winmm.lib
42 EXE =            .exe
43 PLATFORM = Windows
44
45 rc32 = "$(TOOLS32)\bin\rc"
46 .rc.res:
47     $(rc32) $<

references:

http://superuser.com/questions/766437/capture-rtsp-stream-from-ip-camera-and-store

https://social.msdn.microsoft.com/Forums/vstudio/en-US/4db6024e-cb2c-4992-9fb8-4aeefc194733/ntwin32mak-not-found

http://bbs.csdn.net/topics/360035084

http://stackoverflow.com/questions/29041258/building-64bit-live555-with-visual-studio-2013

live555的编译及使用相关推荐

  1. live555 linux编译静态库,【Live555】liveMedia下载、配置、编译、安装、基本概念

    一.下载.编译.安装 1.下载 官网地址:http://www.live555.com/ 下载地址:http://www.live555.com/liveMedia/public/ 2.配置. 源码目 ...

  2. Live555 —— vs2017编译“Live555 Live555 Media Server“源码

    简介      Live555是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了标准流媒体传输,是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RT ...

  3. live555 android编译,Android live555组播拉流客户端

    背景: live555作为知名的流媒体开源框架,在实际项目中,经常使用到.在Android播放器中,可以使用其作为流媒体部分的拉流端,特别是对于RTSP及组播播放,live555相对还是很稳定的. 这 ...

  4. live555 linux编译静态库,ubuntu live555测试

    1.首先你得有这个live555源码,然后根据你的系统去编译得到所需的头文件以及库,这里好像都是静态库. 这个是github上的代码. 链接: https://github.com/xanview/l ...

  5. live555 android编译,用NDK编译Live555 - 亲测有效

    http://wendal.net/2014/04/29.html 针对 live555 2014.03.25和 live 2014.04.23 也就是当前最新咯. 准备工作 下载源码 http:// ...

  6. live555 编译 linux,在树莓派上搭建LIVE555 Streaming Media服务器端

    本文提供两种在树莓派上搭建Live555流媒体服务器端的方法: 1)直接在树莓派上对live555进行编译 2)交叉编译之后在传到树莓派上 注:前者相当简简单,而后者只需要传最后生成的可执行文件以及想 ...

  7. live555 windows下编译以及修订

    live555 的好处 live555 rtsp写得非常好用,client是相当可以的,不过他有个值得注意的地方就是他的发送缓存在windows下的修改,不注意会认为是网络出了问题,首先增加两个函数 ...

  8. live555编译、播放示例

    最近被安排搞onvif,onvif的视频传输,就是使用live555做服务器,使用其提供的URL.所以live555也得去了解学习.本文简单介绍live555的编译,然后在原有例程上给出一个示例. 1 ...

  9. Win10下用VS2017编译live555

    Win7下使用VS2013编译live555 一.live555简介 live555是一个为流媒体提供解决方案的跨平台C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等 ...

最新文章

  1. 超赞!YOLOv5的妙用:学习手语,帮助听力障碍群体
  2. UML作业第五次:分析系统,绘制状态图
  3. hdu2056 矩形重叠面积(水题)
  4. 11.1 安装配置Apache
  5. 关于界面软件测试点,电子商务网站--界面测试的测试点
  6. VS2010/MFC编程入门之五十三(Ribbon界面开发:为Ribbon Bar添加控件)
  7. Kitten编程猫 里的克隆体无法进行边缘检测
  8. Java并发编程包中atomic的实现原理
  9. b+树阶怎么确定_B站公布年度弹幕,这个排名我不太服气
  10. spring MongoDB 集成(分页)
  11. Eagle 画板-拼板-输出Gerber到SeeedStudio打样过程笔记
  12. ie11兼容性视图设置_ie11浏览器不兼容的解决办法
  13. JAVA中三个点“...”是什么意思
  14. 从5点来分析搜索引擎算法
  15. 看了这篇文章,终于知道怎么区分DV、OV、EV证书了
  16. 音视频常见问题分析和解决:延时和抖动
  17. 网络传输介质详细说明【包括线序】
  18. 浅谈游戏《Cuphead茶杯头》
  19. 深度分析蚂蚁金服RPC框架结构
  20. unity获取麦克风音量_深入探究Valve Index的耳机、麦克风设计过程

热门文章

  1. 编程小问题系列(6)——新年第一帖: 关于Silverlight在VS2010RC下无法正常运行的问题...
  2. Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!
  3. linux如何运行windows游戏,可运行在Linux下最好Windows软件和游戏
  4. Oracle对sum求和进行if,Excel中sumif函数和sumifs函数进行条件求和的异同
  5. php 更新数据库失败,php 更新数据库中断的解决方法
  6. 如何在Linux系统上部署接口测试环境
  7. Oracle 常用运维命令整理
  8. java 校验姓名只能包含中英文_java代码验证用户名,支持中英文(包括全角字符)、数字、下划线和减号 (全角及汉字算两位),长度为4-20位,中文按二位计数...
  9. tensorflow中的BN层实现
  10. HDU1531(差分约束+Bellman_ford)