详解vs2010编译live555

1 篇文章 0 订阅
1 篇文章 0 订阅


    公司项目需求,最近在学习流媒体方面的知识,了解到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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值