live555编译运行笔记

531 阅读2分钟

live555简介

学习rtsp协议实战时候,一般需要有一个rstp的服务进行测试和验证,这个rtsp服务器最好是大家可以手写一个,但是这样可能比较耗费时间,初学者建议可以先拿开源的rtsp服务进行验证抓包学习流程等。 ​ 一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。目前,Live555已经被用于多款播放器的流媒体播放功能的实现,如VLC(VideoLan)、MPlayer。

编译下载live555

官方下载地址 www.live555.com/liveMedia/p… 在这里插入图片描述 下载这个 live555-latest.tar.gz,其他的264,265文件是测试的文件而已

编译live555

解压代码

tar vxf live555-latest.tar.gz

解压后会有个live目录

进入live目录准备编译

cd live

进行config makefile文件编译操作 这里live目录有个genMakefiles文件,自己需要根据操作系统情况加上参数

./genMakefiles linux-64bit

linux-64bit就代表linux 64位

最后执行make命令

make

会有一个报错如下:

BasicTaskScheduler.cpp:191:40: error: ‘struct std::atomic_flag’ has no member named ‘test’
  191 |       if (fTriggersAwaitingHandling[i].test()) {

解决方法如下: 修改根目录的config.linux-64bit文件

vi config.linux-64bit

在这里插入图片描述 COMPILE_OPTS选项末尾加上-DNO_STD_LIB

再进行编译 make,一切正常后一般如下: 在这里插入图片描述最后进行安装:

sudo make install

上面就已经完成了live555的编译安装,整体还是比较简单的。

测试live555

测试目录: 在live目录的testProgs下,执行testH264VideoStreamer程序

./testH264VideoStreamer

会提示要准备一个test.264文件 在这里插入图片描述 执行后 在这里插入图片描述

再使用vlc播放 填入地址 在这里插入图片描述 播放成功 在这里插入图片描述

更多framework技术干货,请关注公众号“千里马学框架”