Windos下编译live555源码

  • 环境

    Win7 64位 + VS2012

  • 步骤

    1)源码下载并解压

    在官网上下载最新live555源码,并对其进行解压。

    2)VS下建立工程项目

    • 新建Win32项目

      项目名称为BasicUsageEnvironment,解决方案名称为live555,项目配置属性为静态库,不勾选预编译头

    • 在新建的项目中依次添加新项目,项目名称分别为UsageEnvironment、GroupSock 、LiveMedia,项目对应的配置属性为静态库,不勾选预编译头。

      上面四个项目对应的属性配置如下截图:

    • 在新建项目中添加新项目,项目名称为MediaServer,项目配置属性为控制台应用程序,空项目

      上面项目对应的属性配置信息如下截图:

    建立完成后,项目的目录具体如下

    3)环境配置

    • 拷贝相关文件

      将解压后的源码路径中对应的BasicUsageEnvironment、UsageEnvironment、groupsock、mediaServer、liveMedia目录下的include文件夹、.cpp文件、.hh文件和.h文件拷贝到上面创建项目对应的目录下;

    • 在项目中添加相关.hh、.cpp、.h文件

      在VS下面,分别对5个项目添加现有项,具体项目为上一步拷贝的include中的.hh、.cpp和.h文件;

    • 添加依赖头文件

      针对每个项目,分别添加对应的依赖库。具体为项目->属性->C/C++->常规->附件包含目标,然后添加相关路径,具体路径如下:

      ..\BasicUsageEnvironment\include
      ..\GroupSock\include
      ..\LiveMedia\include
      ..\UsageEnvironment\include

      注意:此处其实并不是每个项目都必须添加上面四个,但是添加了上面四个不会错误,具体添加,可以依据对应.cpp中所用的.hh和.h文件来确定。

    4)编译live555

    • 编译静态lib库

      分别对UsageEnvironment、GroupSock、LiveMedia、BasicUsageEnvironment四个项目编译对应的lib库,具体方法如下:

      针对每个项目,首先将对应的项目设为启动项目,然后针对当前的这个项目,进行生成,具体为选中项目,右击,选择生成即可。

      注意:可能会出现‘_snprintf’错误,解决此错误的方法是在选择项目->属性->配置属性->C/C++->预处理器->预处理器定义,添加如下信息:_CRT_SECURE_NO_DEPRECATE

      编译完成后,会在自己的live555工程下面的Debug文件夹下生成对应的四个lib库文件。

    • 编译MediaServer

      添加库目录

      在MediaSever项目源码的live555MediaServer.cpp文件中添加如下程序:

      #pragma comment (lib, "Ws2_32.lib")
      #pragma comment (lib, "../Debug/BasicUsageEnvironment.lib")
      #pragma comment (lib, "../Debug/GroupSock.lib")
      #pragma comment (lib, "../Debug/LiveMedia.lib")
      #pragma comment (lib, "../Debug/UsageEnvironment.lib")

      注意,此步可以选中MediaServer项目,在对应项目->属性->链接器->输入->附件依赖库中添加四个lib库。

      将MediaServer设为启动项目,点击运行即可。如果编译成功,运行的结果如下图:

    5)利用VLC播放器播放live服务器下的视频

    • VLC播放器安装设置

      下载并安装VLC播放,并对其进行设置,具体如下:

    • VLC播放器播放Live555下视频

      将.264的视频文件放在MediaServer文件夹下,然后打开VLC的媒体,在网络协议出填写对应的IP地址,点击播放即可。

  • 参考文献

    http://blog.csdn.net/ithzhang/article/details/37988815

    http://blog.csdn.net/hjl240/article/details/48159243

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

Windows下编译live555源码的更多相关文章

  1. <转>windows下编译lua源码

    因为之前一直使用 lua for windows 来搭建lua的使用环境,但是最新的 lua for windows 还没有lua5.2,我又想用这个版本的lua,所以被逼无奈只能自己编一下lua源码 ...

  2. windows下编译lua源码

    所有的lua源码都放在了 src 文件夹下,当然,不同的lua版本目录结构有可能不一样,但是都会有 src 这个文件夹,只有这个才是我们编译必须的.而且lua越做越精简了,5.1的版本里面还有一些te ...

  3. Nginx (一)Windows下编译Nginx源码以及安装 nginx for windows方法步骤

    转载自: http://apps.hi.baidu.com/share/detail/11192699#content Nginx介绍: Nginx ("engine x")是一个 ...

  4. 《Lucene in Action第二版》学习总结---如何在Windows下编译luceneinAction2Edition源码包

    1. 下载此源码包,位置是: www.manning.com/hatcher3,得到:lia2e.tar.gz,然后解压缩得到目录:lia2e,为了以后能辨识,我将此目录改名为:luceneinAct ...

  5. Windows,linux下编译qt源码(比较简单)

    一.linux下静态编译qt源码 1.取到qt源码并解压到文件夹 2.cd到qt目录下 3.使用configure生成makefile ./configure–prefix /opt/qtstatic ...

  6. Windows 10 x64 下编译 Hadoop 源码

    Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中 ...

  7. ubuntu下编译VLC源码

    http://blog.csdn.net/beitiandijun/article/details/9225591ubuntu下编译VLC源码 分类: 视频处理 2013-07-02 17:33 57 ...

  8. vs2010编译live555源码

    最近加入了公司的C++视频小组,利用中秋这个假期将研究了一些live555的源码,现在先将如何编译使用vs2010编译live555,整理出来,对以后分析代码有很大帮助. 1.下载live555源码, ...

  9. 比特币学习笔记(二)---在windows下调试比特币源码

    根据我一贯的学习经验,学习开源代码的话,单单看是不够的,必须一边看一边调试才能尽快理解,所以我们要想法搭建windows下bitcoin源码的调试环境. 紧接着昨天的进度,想要调试linux下的比特币 ...

随机推荐

  1. 用SQL语句创建触发器

    --假设XSCJ数据库中增加一新表XS_HIS,表结构和表XS相同,用来存放从XS--表 --中删除的记录.创建一个触发器,当XS表被删除一行,把删除的记录写到日--志表XS_HIS中. CREATE ...

  2. poj 1386

    Play on Words Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11312   Accepted: 3862 De ...

  3. 【BZOJ4295】[PA2015]Hazard 乱搞

    [BZOJ4295][PA2015]Hazard Description 有n个人在轮流玩赌博机,一开始编号为i的人有a[i]元钱.赌博机可以抽象为一个长度为m的仅包含1和-1的序列,若抽到1,那么你 ...

  4. 记录初次使用tesseract的过程

    目录 简介 安装tesseract 安装成功 python应用识别图片 简介 这个谷歌的识别项目早就听说了,使用之后发现,真的很厉害.写下初次简单使用的过程吧. 安装tesseract 谷歌的开源识别 ...

  5. Node REPL

    Node 自带了交互式解释器,可以执行以下任务: 读取 - 读取用户输入,解析输入了Javascript 数据结构并存储在内存中. 执行 - 执行输入的数据结构 打印 - 输出结果 循环 - 循环操作 ...

  6. 简述泛型、用Maven创建Web项目以及在Web项目上整合SpringMVC

    表设计 Timestamp列是否取消"根据当前时间戳自动更新" 是否null及默认值选择合理不合理 外键命名规范及更新和删除时的动作是否合理   泛型 类型参数 --允许在外部指定 ...

  7. IPTABLES简介

    iptables防火墙工作原理 简介:iptables防火墙工作在网络层,针对TCP/IP数据包实施过滤和限制,iptables防火墙基于内核编码实现,具有非常稳定的性能和高效率: iptables属 ...

  8. java通过ping 判断网络是否正常

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i ...

  9. 页面加载异常 清除浏览器静态文件 js css 缓存 js动态加载js css文件,可以配置文件后辍,防止浏览器缓存

    js清除浏览器缓存的几种方法 - 兔老霸夏 - 博客园 https://www.cnblogs.com/Mr-Rocker/p/6031096.html js清除浏览器缓存的几种方法   一.CSS和 ...

  10. Spring数据访问和事务

    1.模型 2.解耦 3.实现 3.1 核心接口 3.2 代码分析 3.2.1 事务管理 3.2.2 数据访问 4.使用 4.1 编程模式 4.2 配置模式 4.2.1 声明式配置方式 4.2.2 注解 ...