如何将testRTSPClient从live555代码中分离出来,并建议第一个eclipse工程

live555提供了强大的rtsp视频处理程序,更可喜的是在testProgs文件夹里提供了好多外部调用的测试程序。在开发自己的应用程序时,我们希望根据需要将testProgs某个程序分离出来,而把live555只编译成共享库就不再动它。最好能够将基于live555写的代码放在一个eclipse工程文件里,管理使用就方便多了。现在就介绍一下如何将testRTSPClient分离出来,然后介绍如何建立eclipse工程。

一、将live555编译成共享库

下载live555源代码文件,我下载的是live.2016.06.26.tar.gz,将其解压到Ubuntu系统下,然后执行下面的命令生成Makefile文件:

./genMakefiles  linux-with-shared-libraries
然后执行 Make 和 Make install命令,完成编译和安装。

编译后的lib库在/usr/local/lib下,如下图所示:


接下来,执行testProgs下的testRTSPClient程序,例如接收海康摄像机的视频,命令为“./testRTSPClient rtsp://admin:admin123@192.168.1.33:554/h264/ch01/main/av_stream ”,正常启动的时候,能够看到控制台不断显示接收到的视频和音频的基本信息。


这里执行testRTSPClient,它调用的还是本地的链接库而不是/usr/local/lib下的库。为了方便测试,我们将testRTSPClient复制到/home/Desktop文件夹下,此时再执行该程序会提示找不到库。解决该文件有两种方法,一种是设置PATH全局变量,方法请参考我的另一个关于设置环境变量的博客点击打开链接。其实还有一种很简便的方法。新建一个脚本live_lqc.sh,内容如下,其实就是将这四个文件从/usr/local/lib/下复制到 /usr/lib下。这样你可以完全控制所有的文件,并且这四个文件其实都是快捷方式,不会导致占用太多额外的空间。

#!/bin/bash
cp /usr/local/lib/libliveMedia.so.52 /usr/lib
cp /usr/local/lib/libgroupsock.so.8  /usr/lib
cp /usr/local/lib/libBasicUsageEnvironment.so.1 /usr/lib
cp /usr/local/lib/libUsageEnvironment.so.3  /usr/lib
然后再执行 testRTSPClient就可以了。

二、在eclipse中运行testRTSPClient程序

在Ubuntu里安装eclipse。然后新建一个CPP工程,我的名称为RTSPDecode。右击该工程,选择“属性”,首先制定include头文件位置,参考下面的配置:

需要说明的一点是为什么不能只写一个“/usr/local/include”,而必须将四个都加进来。你随便打开一个live里面的头部引用,都是直接写的文件名,没有指定路径,例如#include "groupsock_version.hh",但是头文件是分布在liveMedia等四个文件夹里的。如果这里不将四个子目录加进来,在编译的时候就会出现找不到有文件的错误。

然后设置共享库名称,方法请参考下面截图,注意库名称的写法,不要错了。因为我们将库的链接复制到/usr/lib下了,所以这里不用设置库的搜索路径了。


然后建立两个文件rtspdecode.h和rtspdecode.cpp。

环境配置好之后,剩下的工作就很简单了,其实将testRTSPClient.cpp的内容全部复制到rtspdecode.cpp中编译就可以运行了。作者为了便于我们学习,将所有的内容都放在这一个文件里了,为了规范,可以将头文件引用、类等放在rtspdecode.h中。编译成功后,接受海康摄像机视频,控制台输出为:



以后我们将在这个文件进一步封装,使其能够接受、解码并显示。后续博客正在更新中。

OK!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

纵横千里,捭阖四方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值