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

1.下载live555源码,下载地址:http://www.live555.com/liveMedia/public/live555-latest.tar.gz

2.live55简介

Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。目前,Live555已经被用于多款播放器的流媒体播放功能的实现,如VLC(VideoLan)、MPlayer。

3.live555 vs2010编译

1)lib文件生成

  • 新建解决方案Zhllive555,同时在解决方案下分别新建Visual C++ Empty Project,它们为:BasicUsageEnvironment、groupsock、liveMedia、UsageEnvironment工程。如下图:

  • 修改工程属性,将工程修改为lib工程,如下图:

  • 将下载下来的live源码中的include文件以及.cpp文件拷贝到对应工程目录下面,并且设置每个工程的vc++目录,如下图:

BasicUsageEnviroment除了需要引入自己的include文件夹下的文件外,同时还需要引入groupsock、UsageEnvironment文件夹下的include文件。

groupsock需要引入的文件为:自己include下的文件,BasicUsageEnvironment、UsageEnvironment文件夹下的include文件。

liveMedia需要引入的文件为:自己include下的文件,BasicUsageEnvironment、groupsock、UsageEnvironment文件夹下的include文件。

UsageEnvironment需要引入的文件为:自己include下的文件,BasicUsageEnvironment、groupsock文件夹下的include文件。

  • 将.cpp文件引入工程

  • 编译解决方案,会在outFile下生成BasicUsageEnvironment.lib、groupsock.lib、liveMedia.lib、UsageEnvironment.lib四个文件

2)mediaServer工程设置

  • 新建Empty Project,名称为mediaServer

工程整体如下图:

  • 修改mediaServer配置,添加C/C++ include Directories

  • 添加工程需要支持的lib文件,首先将lib文件拷贝到..\Debug文件夹下,然后修改mediaServer工程属性Linker,如图:

  • 设mediaServer为启动工程,运行即可,如下图:

整理好的工程可以从这儿下载

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

  1. VS2010编译Unigine_2010源码

    VS2010编译Unigine_2010源码[Debug版本] 1.Laucher工程属性改为控制台项目 2.Unigine工程编译时的Warnning LNK2019 a.属性--常规-目标文件名改 ...

  2. Windows下编译live555源码

    Windos下编译live555源码 环境 Win7 64位 + VS2012 步骤 1)源码下载并解压 在官网上下载最新live555源码,并对其进行解压. 2)VS下建立工程项目 新建Win32项 ...

  3. window10(64bit)+VS2010编译ACE_TAO源码库

    1.下载 ACE+TAO下载地址:http://download.dre.vanderbilt.edu/previous_versions/ VS2010下载地址:https://pan.baidu. ...

  4. Windows编译Nginx源码

    Windows下的Nginx战役,人不作就不会死!就像是拿着麦当劳的优惠券去买肯德基一样,别扭啊 Nginx是一款轻量级的Web 服务器.反向代理服务器.邮件服务器等等集一大串荣誉于一身的大牌人物!他 ...

  5. 用vs2013编译lua源码方法(一)

    用vs2013编译lua源码方法 来源:网络    编辑:admin 1.下载lua源码:lua-5.2.3.tar.gz,解压 2.用vs2013建立一个win32工程: 1)下载后解压到一个目录下 ...

  6. Windows 10 x64 下编译 Hadoop 源码

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

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

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

  8. 重新编译jdk源码,启用debug信息

    我有一个不知道是好还是不好的习惯,搞不懂的一些玩意儿,喜欢调试然后单步执行看这玩意儿到底是怎么运行的. 今天看到正则表达式的时候,appendReplacement()这个方法怎么也看不明白它是怎么工 ...

  9. (转载)Linux如何编译安装源码包软件

    一.什么是源码包软件: 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见:在国内源可见的软件几乎绝迹:大多开源软件都是国外出品:在国内较为出名的开源软件有fcitx;l ...

随机推荐

  1. Perl Symbolic Reference

    看一些模块的代码,很多时候通过*glob的方式来改变变量或者函数,这种方法称为Symbolic reference. 首先看一下*glob的结构,这个在之前的博文已经讲过,不做细述: SV = PVG ...

  2. MySQL数据库如何解决大数据量存储问题

    利用MySQL数据库如何解决大数据量存储问题? 各位高手您们好,我最近接手公司里一个比较棘手的问题,关于如何利用MySQL存储大数据量的问题,主要是数据库中的两张历史数据表,一张模拟量历史数据和一张开 ...

  3. Oracle Linux Server 7安装VMwareTools问题

    OracleLinuxServer7安装VMwareTools问题#./vmware-install.pl时报错:#-bash: ./vmware-instal.pl:/usr/bin/perl:ba ...

  4. 远程调试weinre的使用

    一.用途 *鉴于在浏览器调试移动端页面无法准确反映移动端实际情况并无法高效调试,故常常使用远程调试工具通过电脑连接手机进行调试,常用远程调试方式: 1.chrome连接安卓机远程调试 2.Mac连接苹 ...

  5. React-Native获取文本框的值

    要想获取文本框的值,首先我们需要看一下官方文档的解释: 这里的意思是说当文本框的内容改变的时候,文本框的输入的内容就会作为一个参数进行传递.因此我们就可以获取到文本框里面的内容就好了. constru ...

  6. null值的判断

    select * from Students where Address IS null --判断address是nulselect * from Students where Address is ...

  7. (zz)Lambda 表达式(C# 编程指南)

    https://msdn.microsoft.com/zh-cn/library/bb397687.aspx Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数.通过使用 lambd ...

  8. c#&.NET3.0高级程序设计-02 Enum Demo

    Enum 实例 using System; using System.Collections.Generic;   public class MyClass {     enum EmpType    ...

  9. 从汇编看c++的new和delete

    下面是c++源码: class X { private: int _x; public: X() : _x(xx) {} ~X() {} }; int main() { X* xp = new X; ...

  10. 数据库 count和sum区别

    最近备考软考,复习数据库时候,发现count和sum,貌似差不错.就仔细查了查. 表 人 id name number 1 贱人 3 2 好人 4 select count(number) from ...