zoukankan      html  css  js  c++  java
  • 在海思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。


  • 相关阅读:
    读《大道至简》第6章有感
    Java作业05(动手动脑)
    读《大道至简》第五章有感
    java作业04(动手动脑)
    域名与主机名
    STL 迭代器学习
    数组与链表增删改查效率比较
    智能指针多线程安全问题
    快速乘 学习
    关于TCP三个冗余ACK启动快速重传
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7285417.html
Copyright © 2011-2022 走看看