在海思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网 ...
随机推荐
- IntelliJ 常用设置
一.智能代码提示忽略大小写 打开设置(CTRL+ALT+S)搜索editor,找到“Code Completion”->点击Case sensitive completion后面的选择框,选中N ...
- NDK 调用对象属性
JNIEXPORT jbyteArrayJNICALL Java_com_lanhetech_iso8583_nativeLib_Iso8583NativeLib_pubPack8583 (JNIEn ...
- $apply用法注意
Angular为我们提供了一些接口绑定JavaScript代码和数据,而绑定数据改变和更新angular则是使用$apply方法实现的. $apply 进行数据变化检查的实际上是$digest函数,但 ...
- VR/AR工作原理、目前存在的技术问题
http://blog.csdn.net/liulong1567/article/details/50686558 摘要: 这些挑战,每一个都还需要很多努力才能解决.目前它们很多都还不到量变(只是需要 ...
- JNI之——在cmd命令行下编译执行C/C++源文件
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46604269 一直用java来敲代码,java配置好jre路径之后.在cmd下编译 ...
- Spark(五) -- Spark Streaming介绍与基本执行过程
Spark Streaming作为Spark上的四大子框架之一,肩负着实时流计算的重大责任 而相对于另外一个当下十分流行的实时流计算处理框架Storm,Spark Streaming有何优点?又有何不 ...
- C# 中 in,out,ref 的作用与区别
In:过程不会改写In的内容 Out和out:传入的值不会被过程所读取,但过程可以写 ref:传入的值,过程会读,也会写 就象你把布料送到裁缝的一个收料箱(裁缝用这个区别是哪家客户) IN:这块布料, ...
- 【BIEE】18_时间序列函数的使用
三个时间序列函数 AGO: 实现同环比 TO DATE:实现累计指标,如MTD月累计.YTD年累计 Period Rolling:当前时间的x个时间单位开始到y个时间单位结束这一时段内的度量总和 BI ...
- 去除前后空格,Oracle和SQLSERVER都适用。ltrim(rtrim(’ ‘))
Oracle自带去除方法:trim(). 但是sql语法中没有直接去除两头空格的函数,但有ltrim()去除左空格rtrim()去除右空格. 合起来用就是sql的trim()函数,即select lt ...
- 基于STC12C5A的MINI3216多功能点阵时钟
代码地址如下:http://www.demodashi.com/demo/12862.html 基于STC12C5A的MINI3216多功能点阵时钟 硬件详解 PCB 硬件原理图 主控模块 max72 ...