详解vs2010编译live555

来源:互联网 发布:算法导论捷径 编辑:程序博客网 时间:2024/05/18 03:39


    公司项目需求,最近在学习流媒体方面的知识,了解到live555可以将视频,音频流化,通过rtsp协议传输,正符合公司项目的要求。

    网上看了几篇关于如何在VS2010下编译live555的博客,但是在编译过程中还是遇到了很多问题,浪费了很多时间,现在把自己的编译过程整理下来,希望能给其他人提供一点帮助,让他们少走一点弯路。


-----------------------------------------------------------------------------------


1.参考博客

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

    http://blog.csdn.net/lf8289/article/details/7785898

    特别感谢这两位的博客,讲的很详细!!!


2.live555介绍

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


3.live555源码下载

    live555官网提供了整套源码供我们下载,参考,我们下载live555-latest.tar.gz即可。

   http://www.live555.com/liveMedia/public/


4.lib编译

   (1)打开VS2010,新建一个解决方案,此处我命名为myLive555,在该解决方案下新建BasicUsageEnvironmentgroupsockliveMediaUsageEnvironment四个工程,应用类型为静态库

        (即生成的是lib动态链接库,我们也可以在工程名右击->属性->配置属性->常规->项目默认值->配置类型中配置这个属性)。

              

           

    (2)将源码对应目录下的文件复制到对应目录下(*.cpp*.c*.hh*.h以及include目录),我们可以使用控制台的命令去完成复制工作,这样比较省事。

          指令格式:copy源目录(文件) 目标路径

         

          然后将对应的文件添加到对应的项目目录(*.c,*.cpp添加至源文件,*.hh*.h添加至头文件)

         

    (3)分别对四个工程做以下配置

        设置动态链接库的输出属性,属性->配置属性->常规->输出目录,设置为..\outFile,他生成的lib文件将保存在上级目录的outFile文件夹下

       

       导入头文件,属性->配置属性->C/C++->附加包含目录。

       

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

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

       liveMedia需要引入的文件为:自己include下的文件,BasicUsageEnvironmentgroupsockUsageEnvironment文件夹下的include文件。

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

    (4)分别编译4个工程,我们可以在outFile下找到编译生成的四个动态链接库。


5.mediaServer编译

   mediaServer是一个支持rtsp协议传输的服务程序,他生成一个exe可执行程序。

    (1)myLive555下创建mediaServer工程,程序类型为控制台应用程序(win32),并把源码中的文件拷贝到对应的目录下。

       

    (2)mediaServer设置成启动项目(右击解决方案->属性->通用属性->启动项目)

       

    (3)添加头文件,在mediaServer目录下创建一个文件夹include,将其他4个工程下的所有头文件拷贝到这个include文件夹下(*.hh*.h,包括这四个工程下的include文件夹下的内容),设置附加头文件目录。

       

    (4)将生成的动态链接库拷贝到..\Debug下(..\Debug需要mediaSever编译过一次才会生成,不管编译正确与否)。

    (5)设置引用的库目录。

       

    (6)添加相关的依赖项Ws2_32.lib;BasicUsageEnvironment.lib;groupsock.lib;liveMedia.lib;UsageEnvironment.lib;

       

    (7)编译完成后编译运行即可看到效果啦。

       打开Debug下的mediaServer.exe,可以开到如下,说明成功了。

       


6.使用VLC流媒体视频播放器测试

   找一个MP3mkv等格式的文件,放在Debug目录下,与mediaServer.exe在同一个目录下面。

   

    



-----------------------------------------------------------------------------------


至此,在VS2010下编译live555就成功了,我们也可以通过局域网内的其他计算机使用vlc播放服务端的视频。

如果想要编译好的库文件,请猛击这里

如果想要编译好的整个工程,请猛击这里











0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 德国预科不能毕业怎么办 想出国打工怎么办手续 终结执行了该怎么办 网银界面打不开怎么办 abr检查结果异常怎么办 大排畸胎儿位置不好怎么办 交社保中途死了怎么办 不知道社保密码怎么办 社保卡没有信息怎么办 医保卡没有信息怎么办 信访局不受理怎么办 没身份证怎么办健康证 海峡银行怎么办医保卡 小学借读生学籍怎么办 光头也有头皮屑怎么办 情侣没话题了怎么办 月经前后有异味怎么办 头发里有湿疹怎么办 公务员退休职业年金怎么办 迅雷打不开怎么办安卓 苹果迅雷闪退怎么办 青羊区爱君家政欺骗学员怎么办 工地拿不到钱怎么办 包工头拿不到工程款怎么办 华夏盾密码错六次怎么办 怀孕六个月有孕纹了怎么办 课堂上不会讲课怎么办 怀孕吃薏米粥怎么办 吃了薏米肚子痛怎么办 孕期吃了薏米怎么办 怀孕误食薏米水怎么办 薏米吃多了怎么办 花生米炸糊了怎么办 经期吃了薏米怎么办 身体湿气很重怎么办 肠胃不好湿气重怎么办 我湿气特别重怎么办 脾胃不好湿气重怎么办 孕妇身体有湿气怎么办 孕妇身上有湿气怎么办 孕妇身上湿气重怎么办