在海思hisiv100nptl平台上交叉编译并安装SRS
./configure --with-arm-ubuntu12 && make
须要安装:
apt-get installgcc-arm-linux-gnueabi ,但hi3516C是用的arm-hisiv100-nptl-gcc,
须要替换gcc-arm-linux-gnueabi为arm-hisiv100-nptl-gcc
auto# gedit setup_variables.sh,
# when arm specified, setup the cross buildvariables.
if [ $SRS_ARM_UBUNTU12 = YES ]; then
__SrsArmCC="arm-hisiv100nptl-linux-gcc";
__SrsArmGCC="arm-hisiv100nptl-linux-gcc";
__SrsArmCXX="arm-hisiv100nptl-linux-g++";
__SrsArmAR="arm-hisiv100nptl-linux-ar";
__SrsArmLD="arm-hisiv100nptl-linux-ld";
__SrsArmRANDLIB="arm-hisiv100nptl-linux-ranlib";
Fi
但编译build openssl-1.0.1f碰到问题,直接改动Makefile进行单独交叉编译即可。
Make&&makeinstall。
编译时出现链接问题:
/home/ossrs/srs-hisi/trunk/src/protocol/srs_rtmp_utility.cpp:85:undefined reference to `std::basic_string<char,std::char_traits<char>, std::allocator<char> >::~basic_string()'
/home/ossrs/srs-hisi/trunk/src/protocol/srs_raw_avc.cpp:538:undefined reference to `operator new[](unsigned int)'
dso_dlfcn.c:(.text+0x1c):undefined reference to `dlopen'
感觉应该是编译工具、链接库出了问题,可能是不兼容。
CPU: ARM926EJ-S[41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT datacache, VIVT instruction cache
Machine: hi3518
按以下的办法改动一下librtmp以下的Makefile中的gcc定义就能够。
Vi research/librtmp/Makefile
GCC= arm-hisiv100nptl-linux-gcc
# for arm.
ifeq ($(GCC),arm-hisiv100nptl-linux-gcc)
EXTRA_CXX_FLAG = -g -O0 -ldl -static-lstdc++
Endif
编译生成
ls objs/srs -l
-rwxr-xr-x 1 rootroot 11307924 2016-01-20 22:59 objs/srs
大小竟然有11M之多,明显没有strip。Strip后有3.6MB。勉强能够接受。
注意:
在x86上面编译,假设-without-ssl的话,能够公布rtmp url成功,但连上去没有流。所以。--with-http-callback –with-ssl必须包含在里面。
安装实施:
# ./srs -cconf/srs.conf
[2016-01-0101:24:43.839][trace][754][0] config parse complete
[2016-01-0101:24:43.904][trace][754][0] write log to file ./objs/srs.log
[2016-01-0101:24:43.904][trace][754][0] you can: tailf ./objs/srs.log
[2016-01-0101:24:43.905][trace][754][0] @see:https://github.com/ossrs/srs/wiki/v1_CN_SrsLog
#
# ../RtxpServer&
# ../RtxpServerbuild time=20160120-2125, log is /tmp/tcpsvr.log.
http://winlinvip.github.io/srs.release/trunk/research/players/srs_player.html?server=192.168.3.1&app=live&stream=0&port=1935
播放rtmp://192.168.3.1:1935/live/0
一切正常!能够看到流。听到声音。
交流请加QQ群: 194257702。
在海思hisiv100nptl平台上交叉编译并安装SRS的更多相关文章
- 海思HI35xx平台软件开发快速入门之H264解码实例学习
ref :https://blog.csdn.net/wytzsjzly/article/details/82500277 前言 H264视频编码技术诞生于2003年,至今已有十余载,技术相当成熟 ...
- [转帖]X86_64平台上利用qemu安装aarch64架构的虚拟机
X86_64平台上利用qemu安装aarch64架构的虚拟机 https://blog.csdn.net/chenxiangneu/article/details/78955462 遇到原作者一样的问 ...
- FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台
FFmpeg和SDL开发专栏(点击传送门) 上一篇:<FFmpeg开发笔记(九):ffmpeg解码rtsp流并使用SDL同步播放>下一篇:敬请期待 前言 将ffmpeg移植到海思H ...
- 海思arm平台AAC音频转码cpu占用高、效率低的问题解决
问题背景 目前市面上的大部分IPC摄像机音频输出基本都是G711.G726编码格式,而在类似于<基于EasyNVR实现RTSP/Onvif监控摄像头Web无插件化直播监控>这种业务中,都是 ...
- EasyAACEncoder海思/ARM平台优化G711、G726转AAC的CPU占用高问题
本文转自EasyDarwin开源团队成员Kim的博客:http://blog.csdn.net/jinlong0603/article/details/75645378 引言 目前EasyDarwin ...
- OpenCV开发笔记(七十四):OpenCV3.4.1+ffmpeg3.4.8交叉编译移植到海思平台Hi35xx平台
前言 移植opencv到海思平台,opencv支持对视频进行解码,需要对应的ffmpeg支持. Ffmpeg的移植 Ffmpeg的移植请参考之前的文章:<FFmpeg开发笔记(十): ...
- live555 交叉编译移植到海思开发板
本文章参考了.http://blog.csdn.net/lawishere/article/details/8182952,写了hi3518的配置说明.特此感谢 https://blog.csdn.n ...
- 海思平台服务器版软件V15.2产品发布
深度操作系统海思平台服务器版软件是武汉深之度科技有限公司发布的针对华为海思平台的TaiShan系列服务器发布的企业级服务器操作系统软件产品,主要面向企业级服务器应用场景,为用户在国产化平台上提供更具可 ...
- [转帖]IPC网络高清摄像机基础知识1(IPC芯片市场分析以及“搅局者”华为海思 “来自2013年”)
IPC网络高清摄像机基础知识1(IPC芯片市场分析以及“搅局者”华为海思 “来自2013年”) 2016-06-02 14:23:49 Times_poem 阅读数 9734更多 分类专栏: IPC网 ...
随机推荐
- JavaScript的=、==和===
(1) 百度知道上的解释: = 为对象赋值 == 表示两个对象toString值相等 === 表示两个对象类型相同且值相等 (2) 知乎上的解释: 绝大多数场合应该使用 === ,只有检测 null ...
- Oracle Linux 7.3下载与 dtrace安装
https://docs.oracle.com/cd/E52668_01/E86280/html/section_edm_dvp_hz.html http://www.oracle.com/techn ...
- md5代码实现
参考: 1.http://blog.csdn.net/iaccepted/article/details/8722444 2.http://hi.baidu.com/gh0st_lover/item/ ...
- javascript:使用代理绑定事件
<ul id="box"> <li>1</li> <li>2</li> <li>3</li> & ...
- css的checkbox样式变化
1.CSS body{font-family:'微软简行楷'} ul li{list-style:none; margin:10px;color:#4985d7;} .myCheck { displa ...
- 爬虫扒下 bilibili 视频信息
B站算是对爬虫非常非常友好的网站啦! 修改转载已取得腾讯云授权 在以上两篇文章中我们已经在腾讯云服务器上搭建好了 Python 爬虫环境了,下一步就是在云服务器上爬上我们的爬虫,抓取我们想要的数据: ...
- 设置Spark日志级别
编辑Spark中conf中配置文件log4j.properties 设置日志级别为WARN,即:log4j.rootCategory=WARN, console
- springmv日志debug异常,javax.naming.NameNotFoundException
解决方案: 在web.xml配置如下代码即可: <context-param> <param-name>spring.profiles.active</param-nam ...
- C语言中的union使用方法
union共用声明和共用一变量定义: "联合"是一种特殊的类,也是一种构造类型的数据结构.在一个"联合"内能够定义多种不同的数据类型. 一个被说明为该" ...
- ThreadLocal的实现原理(读书笔记)
ThreadLocal的set方法和get方法,从set方法开始: public void set(T value) { Thread t = Thread.currentThread();//获取当 ...