live555编译(arm版本)

    xiaoxiao2021-03-25  86

    刚接触IPC行业,准备学习rtsp server,rtsp常用的开源项目是live555

    1、简介

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

    2、下载

    点击打开链接

    3、移植

    3.1、配置交叉编译选项

    修改配置文件config.armlinux,只需要修改第一行配置交叉编译工具为自己所用的平台

    CROSS_COMPILE?=arm-hisiv100nptl-linux-  

    保存。

    3.2、生成makele 

    # ./genMakefiles armlinux

    3.3、交叉编译与安装

    # make; make install

    4、测试

    将mediaServer目录下面的live555MediaServer拷贝至ipc环境下,运行

    在windows平台上,通过VLC media player软件中打开网络串流输入地址:rtsp://172.18.197.152/test.264可以点播视频文件

    172.18.197.152 IPC的地址,test.264是放在运行live555MediaServer目录下的视频文件

    备注:

    运行之前,拷贝在运行目录下放置.264后缀的视频文件。

    live555MediaServer的运行依赖C++库libstdc++.so.6,该库可以在hisi-SDK中可以找到,拷贝进ipc,用命令export LD_LIBRARY_PATH=./添加库的环境变量。

    问题:在make时报错了,错误信息如下:

    In file included from MPEG4GenericRTPSink.cpp:22: include/Locale.hh:47: fatal error: xlocale.h: No such file or directory compilation terminated. make[1]: *** [MPEG4GenericRTPSink.o] Error 1 make[1]: Leaving directory `/mnt/hgfs/share/live555/live/liveMedia' make: *** [all] Error 2

    原因:

    由于海思使用的是uClinux,并没有xlocale.h这个头文件,而live555内部的一个locale模块调用了(见liveMeida/locale.hh),因此通过编译选项把他去掉。

    解决:

    在COMPILE_OPTS选项末尾加入-DLOCALE_NOT_USED选项,保存,重新运行./genMakefile ,生成makefile 之后重新编译,可以正常通过

    转载请注明原文地址: https://ju.6miu.com/read-11522.html

    最新回复(0)