Windows下编译live555源码
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源码的更多相关文章
- <转>windows下编译lua源码
因为之前一直使用 lua for windows 来搭建lua的使用环境,但是最新的 lua for windows 还没有lua5.2,我又想用这个版本的lua,所以被逼无奈只能自己编一下lua源码 ...
- windows下编译lua源码
所有的lua源码都放在了 src 文件夹下,当然,不同的lua版本目录结构有可能不一样,但是都会有 src 这个文件夹,只有这个才是我们编译必须的.而且lua越做越精简了,5.1的版本里面还有一些te ...
- Nginx (一)Windows下编译Nginx源码以及安装 nginx for windows方法步骤
转载自: http://apps.hi.baidu.com/share/detail/11192699#content Nginx介绍: Nginx ("engine x")是一个 ...
- 《Lucene in Action第二版》学习总结---如何在Windows下编译luceneinAction2Edition源码包
1. 下载此源码包,位置是: www.manning.com/hatcher3,得到:lia2e.tar.gz,然后解压缩得到目录:lia2e,为了以后能辨识,我将此目录改名为:luceneinAct ...
- Windows,linux下编译qt源码(比较简单)
一.linux下静态编译qt源码 1.取到qt源码并解压到文件夹 2.cd到qt目录下 3.使用configure生成makefile ./configure–prefix /opt/qtstatic ...
- Windows 10 x64 下编译 Hadoop 源码
Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中 ...
- ubuntu下编译VLC源码
http://blog.csdn.net/beitiandijun/article/details/9225591ubuntu下编译VLC源码 分类: 视频处理 2013-07-02 17:33 57 ...
- vs2010编译live555源码
最近加入了公司的C++视频小组,利用中秋这个假期将研究了一些live555的源码,现在先将如何编译使用vs2010编译live555,整理出来,对以后分析代码有很大帮助. 1.下载live555源码, ...
- 比特币学习笔记(二)---在windows下调试比特币源码
根据我一贯的学习经验,学习开源代码的话,单单看是不够的,必须一边看一边调试才能尽快理解,所以我们要想法搭建windows下bitcoin源码的调试环境. 紧接着昨天的进度,想要调试linux下的比特币 ...
随机推荐
- POI读写大数据量EXCEL
另一篇文章http://www.cnblogs.com/tootwo2/p/8120053.html里面有xml的一些解释. 大数据量的excel一般都是.xlsx格式的,网上使用POI读写的例子比较 ...
- Securi-Pi:使用树莓派作为安全跳板
导读 像很多 LinuxJournal 的读者一样,我也过上了当今非常普遍的“科技游牧”生活,在网络之间,从一个接入点到另一个接入点,我们身处现实世界的不同地方却始终保持连接到互联网和日常使用的其它网 ...
- 如何用sql语句复制一张表
如何用sql语句复制一张表 1.复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete ...
- Django学习笔记第七篇--实战练习三--关于更有层级的url请求、404错误以及其他响应函数
一.关于更有层级的URL: 可以实现每一个APP一个子URL目录,例如app1的所有操作都在http://www.localhost1.com:5443/app1/xxxx 在工程主文件夹下的工程同名 ...
- springMVC的HandleMapping
http://blog.chinaunix.net/uid-20415521-id-1949916.html SpingMVC中的HandlerMapping (2007-05-22 11:33) 分 ...
- 深入学习AngularJS中数据的双向绑定机制
来自:http://www.jb51.net/article/80454.htm Angular JS (Angular.JS) 是一组用来开发Web页面的框架.模板以及数据绑定和丰富UI组件.它支持 ...
- 使用 MySQL 管理层次结构的数据
概述 我们知道,关系数据库的表更适合扁平的列表,而不是像 XML 那样可以直管的保存具有父子关系的层次结构数据. 首先定义一下我们讨论的层次结构,是这样的一组数据,每个条目只能有一个父条目,可以有零个 ...
- 转发URL请求
如何用Netty实现一个轻量级的HTTP代理服务器 - Newland - 博客园 https://www.cnblogs.com/jietang/p/8926325.html 现在迫切希望有一个HT ...
- centos下vsftpd不能显示文件,不能创建文件及文件夹
centos下vsftpd登录正常,但不能显示文件,不能创建文件及文件夹 这是由于selinux的机制 通过命令 [root@localhost www]# getsebool -a|grep ftp ...
- java基础02
使用 myeclipse写第一个java程序 之后 右键 点击 src 创建 Class /** * package:包的声明! * 代表我们当前的java源文件在项目中的位置! * 必须位于除了 ...