live555简介
学习rtsp协议实战时候,一般需要有一个rstp的服务进行测试和验证,这个rtsp服务器最好是大家可以手写一个,但是这样可能比较耗费时间,初学者建议可以先拿开源的rtsp服务进行验证抓包学习流程等。
一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。目前,Live555已经被用于多款播放器的流媒体播放功能的实现,如VLC(VideoLan)、MPlayer。
编译下载live555
官方下载地址
http://www.live555.com/liveMedia/public/
下载这个 live555-latest.tar.gz,其他的264,265文件是测试的文件而已
编译live555
解压代码
bash
tar vxf live555-latest.tar.gz
解压后会有个live目录
进入live目录准备编译
bash
cd live
进行config makefile文件编译操作
这里live目录有个genMakefiles文件,自己需要根据操作系统情况加上参数
bash
./genMakefiles linux-64bit
linux-64bit就代表linux 64位
最后执行make命令
bash
make
会有一个报错如下:
bash
BasicTaskScheduler.cpp:191:40: error: 'struct std::atomic_flag' has no member named 'test'
191 | if (fTriggersAwaitingHandling[i].test()) {
解决方法如下:
修改根目录的config.linux-64bit文件
bash
vi config.linux-64bit
COMPILE_OPTS选项末尾加上-DNO_STD_LIB
再进行编译 make,一切正常后一般如下:
最后进行安装:
bash
sudo make install
上面就已经完成了live555的编译安装,整体还是比较简单的。
测试live555
测试目录:
在live目录的testProgs下,执行testH264VideoStreamer程序
bash
./testH264VideoStreamer
会提示要准备一个test.264文件
执行后
再使用vlc播放
填入地址
播放成功
投屏专题部分:
https://mp.weixin.qq.com/s/IGm6VHMiAOPejC_H3N_SNg
更多framework详细代码和资料参考如下链接
hal+perfetto+surfaceflinger
https://mp.weixin.qq.com/s/LbVLnu1udqExHVKxd74ILg
其他课程七件套专题:
点击这里
https://mp.weixin.qq.com/s/Qv8zjgQ0CkalKmvi8tMGaw
视频试看:
https://www.bilibili.com/video/BV1wc41117L4/
参考相关链接:
https://blog.csdn.net/zhimokf/article/details/137958615
更多framework假威风耗:androidframework007