接着上篇文章来讲,参看:LIVE555再学习 -- Linux 下编译

下载源码、文件介绍部分不再介绍。主要看配置编译部分。

三、配置编译

DM368 的交叉编译器为 arm-none-linux-gnueabi-gcc

如果您的目标平台没有“config.<os-platform>”文件,请尝试使用其中一个现有文件作为模板

因此我们创建一个config.dm368,内容可以参考config.armlinux

# cat config.dm368
CROSS_COMPILE?=        arm-none-linux-gnueabi-
COMPILE_OPTS =     $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
C =            c
C_COMPILER =       $(CROSS_COMPILE)gcc
C_FLAGS =      $(COMPILE_OPTS)
CPP =          cpp
CPLUSPLUS_COMPILER =   $(CROSS_COMPILE)g++
CPLUSPLUS_FLAGS =  $(COMPILE_OPTS) -Wall -DBSD=1
OBJ =          o
LINK =         $(CROSS_COMPILE)g++ -o
LINK_OPTS =
CONSOLE_LINK_OPTS =    $(LINK_OPTS)
LIBRARY_LINK =     $(CROSS_COMPILE)ar cr
LIBRARY_LINK_OPTS =    $(LINK_OPTS)
LIB_SUFFIX =           a
LIBS_FOR_CONSOLE_APPLICATION =
LIBS_FOR_GUI_APPLICATION =
EXE =

==============================================================================

修改说明:

参看:hi3507/hi3515交叉编译live555

第一个 CROSS_COMPILE 好理解更改为交叉编译器

第二个 CPLUSPLUS_FLAGS

在 dm368 上操作不做改变是没有问题的

但是在 Hi3516A 上就不是这样了,会出现错误:

In file included from MPEG4GenericRTPSink.cpp:22:0:
include/Locale.hh:47:123: fatal error: xlocale.h:没有那个文件或目录#include <xlocale.h> // because, on some systems, <locale.h> doesn't include <xlocale.h>;
this makes sure that we get both

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

在编译选项上加入 -DLOCALE_NOT_USED 把此模块去掉。

# cat config.hi3516a
CROSS_COMPILE?=        arm-hisiv300-linux-
COMPILE_OPTS =     $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
C =            c
C_COMPILER =       $(CROSS_COMPILE)gcc
C_FLAGS =      $(COMPILE_OPTS)
CPP =          cpp
CPLUSPLUS_COMPILER =   $(CROSS_COMPILE)g++
CPLUSPLUS_FLAGS =  $(COMPILE_OPTS) -Wall -DBSD=1 -DLOCALE_NOT_USED
OBJ =          o
LINK =         $(CROSS_COMPILE)g++ -o
LINK_OPTS =
CONSOLE_LINK_OPTS =    $(LINK_OPTS)
LIBRARY_LINK =     $(CROSS_COMPILE)ar cr
LIBRARY_LINK_OPTS =    $(LINK_OPTS)
LIB_SUFFIX =           a
LIBS_FOR_CONSOLE_APPLICATION =
LIBS_FOR_GUI_APPLICATION =
EXE =

==============================================================================

执行:  ./genMakefiles dm368

运行:  make clean && make

然后可以看到 mediaServer 目录下生成文件 live555MediaServer

四、测试

将 live555MediaServer 拷贝到开发板上:

tftp -g -r live555MediaServer 192.168.x.xx

更改权限:

chmod 777 live555MediaServer

执行 live555MediaServer

./live555MediaServer

然后找一个视频文件,放在和 live555MediaServer同一目录。注意视频格式,要是上面所支持的。
然后打开 VLC,媒体->打开网络串流,输入网络URL。 rtsp://电脑IP地址/<filename>

LIVE555再学习 -- DM368/Hi3516A 交叉编译相关推荐

  1. LIVE555再学习 -- live555实现RTSP直播服务器

    分析完 testOnDemandRTSPServer 和 testH264VideoStreamer 的源码.我们现在就可以做相关的项目工程. 我之前写过一个,参看: DM368开发 -- 编码并实时 ...

  2. LIVE555再学习 -- FFmpeg + live555实现RTSP直播

    一.简单实验 首先先简单的实验了一下. 运行 FFmpeg 将 MP4文件转成 264 文件 ffmpeg -i Tai.mp4 test.264 执行 testOnDemandRTSPServer ...

  3. LIVE555再学习 -- testOnDemandRTSPServer 源码分析

    一.简介 先看一下官网上的介绍: testOnDemandRTSPServercreates a RTSP server that can stream, via RTP unicast, from ...

  4. LIVE555再学习 -- testH264VideoStreamer 源码分析

    上一篇文章我们已经讲了一部分: testH264VideoStreamer 重复从 H.264 基本流视频文件(名为"test.264")中读取,并使用 RTP 多播进行流式传输. ...

  5. LIVE555再学习 -- testRTSPClient 实例

    上一篇文章简单看了一遍 testRTSPClient  的源码,接下来举几个应用实例加深一下. 首先什么都不做修改,先执行一遍,看一下. 一.执行 testRTSPClient 特么,上面的东西我没看 ...

  6. LIVE555再学习 -- live555实现RTSP直播服务器 分析

    上一篇文章 讲到了 live555实现RTSP直播服务器,但是篇幅有点长,没有来得及对源码进行分析. 这篇文章就好好看看,源码部分这次参看Linux版本下的 通过live555实现H264 RTSP直 ...

  7. LIVE555再学习 -- OpenRTSP 源码分析

    看了很多东西,感觉有点杂.源码分析部分也看了,讲的也就那样.现在有点不知道从哪讲起了. 参看:nkmnkm的专栏-流媒体 参看:smilestone322的专栏-live555 一.源码组成 包括上述 ...

  8. LIVE555再学习 -- 初识

    之前用过 LIVE555,资料什么的都是有的但是并没有系统的总结.现在有时间可以再看一下. 一.LIVE555 初识 首先要了解一下什么是 LIVE555. 参看:LIVE555 官网 参看:LIVE ...

  9. LIVE555再学习 -- testRTSPClient 源码分析

    现在开讲 testRTSPClient.在官网这这样一段介绍,参看:RTSP client 翻译下来就是: testRTSPClient 是一个命令行程序,显示如何打开和接收由 RTSP URL 指定 ...

最新文章

  1. MyGeneration学习笔记(1) : 使用MyGeneration生成存储过程和数据访问层代码
  2. php查找函数所在文件
  3. 使用MEF实现通用参数设置
  4. PAT1034 Head of a Gang (30)(并查集)
  5. 北京/苏州内推 | 微软STCA搜索广告算法团队招聘NLP算法工程师
  6. [渝粤教育] 西南民族大学 数据结构 参考 资料
  7. 在频域上,随机接入前导占用()个资源块对应的带宽
  8. ★LeetCode(39)——组合总和(JavaScript)
  9. 数据类型的提升(promotion)
  10. Codeforces Round #253 DIV1 C 馋
  11. 东风风神汽车4S店管理系统
  12. Maple_Vanderpol方程_摄动法公式符号推导
  13. CSS布局——圣杯布局、双飞翼布局
  14. python中整数类型取值范围有没有限制_python 数据库取值范围内
  15. [系统与控制]力场盾系统升级原因
  16. IDEA中运行maven多模块项目,提示程序包xxxx不存在
  17. 如何用随机森林算法,在深海养肥一群鱼
  18. GsonFormat的安装及使用
  19. 十五分钟水edusrc证书(小学生日记)
  20. 网线线序及网线转RS232—— DB9线序

热门文章

  1. idea新建maven项目没有src目录
  2. 【Linux】- 获取root权限命令
  3. JS中的this的应用总结
  4. java全面的知识体系结构总结
  5. hdu 3746 Cyclic Nacklace
  6. iOS开发 贝塞尔曲线UIBezierPath(后记)
  7. 为什么现在腿会抽筋了?
  8. 找出指定范围的回文数C++代码实现
  9. 莱斯信道衰落下的QPSK误码率分析
  10. leetcode_zigzag conversion