在海思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网 ...
随机推荐
- Spring学习——DI(依赖注入)
IOC容器,处理对象依赖关系 IOC与DI: IOC :是一个容器,创建对象的容器 DI :在容器创建对象后,处理对象的依赖关系,也叫依赖注入! 方式1:通过set方法注入值 可以给普通属性.集合属性 ...
- 利用JS实现在li中添加或删除class属性
$( function() { $("#test li").click(function(){ $("#test li").removeClass(" ...
- EL表达式介绍(2)
1. EL关系运算符: 关系运算符 说明 范例 结果 == 或 eq 等于 ${5==5}或${5eq5} true != 或 ne 不等于 ${5!=5}或${5ne5} false < 或 ...
- 【AS3 Coder】任务九:游戏新手引导的制作原理(上)
使用框架:AS3任务描述:了解游戏中新手的制作原理及流程 难度:3 本章源码下载:http://www.iamsevent.com/zb_users/UPLOAD/GuideManager/Test1 ...
- 算法导论-顺序统计-快速求第i小的元素
目录 1.问题的引出-求第i个顺序统计量 2.方法一:以期望线性时间做选择 3.方法二(改进):最坏情况线性时间的选择 4.完整测试代码(c++) 5.参考资料 内容 1.问题的引出-求第i个顺序统计 ...
- 二分求幂 - A^B(王道*)
题目描述: 求A^B的最后三位数表示的整数,说明:A^B的含义是“A的B次方” 输入: 输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果 ...
- Java8 读写锁的改进:StampedLock(笔记)
StampedLock是Java8引入的一种新的所机制,简单的理解,可以认为它是读写锁的一个改进版本,读写锁虽然分离了读和写的功能,使得读与读之间可以完全并发,但是读和写之间依然是冲突的,读 ...
- vue - check-versions.js for chalk
chalk:npm 官网 修改命令输出的文字颜色.粗细等....
- Linux rm 删除指定文件外的其他文件 方法汇总
一.Linux下删除文件和文件夹常用命令如下: 删除文件: rm file 删除文件夹: rm -rf dir 需要注意的是, rmdir 只能够删除 空文件夹 . 二.删除制定文件(夹)之外的所有文 ...
- 使用CAsyncSocket总结
最近想起CAsyncSocket这个类,记得很早以前用过,现在却想不起来怎么用了,翻了翻以前的代码又看了看msdn感觉这个类做简单的异步socket太简单了,几行代码就可以搞定,在此先做个总结. 不管 ...