时间:2021-07-01 10:21:17 帮助过:21人阅读
前段时间,在Ubuntu上面搭建起来了能支持HLS的流媒体服务器,最终目标是在arm的开发板上搭建这样的流媒体服务器。现在工作只是做了一小部分,正在进行移植,记录下来,方便以后继续干。
1、首先是要移植nginx到arm的开发板上面。
这个其实有人已经做过了,可以使用别人的工程。
https://bitbucket.org/ntakimura/android-nginx/src/c80cb9c41a725ecf57f73a196735100aeef5b6e4/?at=android
这是android-nginx开源项目,在此基础上继续开发。
2、下载了原码之后,按照上面的步骤进行:
首先,确定有NDK环境,要调用NDK的工具链。
android ndk 提供脚本,允许自己定制一套工具链,方法是:
$NDK_HOME/build/tools/make-standalone-toolchain.sh \ --platform=android-14 --install-dir=$HOME/local/android-toolchain其中NDK_HOME就是你的NDK路径。
3、按照它的第二步,项目官网上写的是:
auto/configure \ --crossbuild=android-arm \ --prefix=/sdcard/nginx \ --with-cc=$HOME/local/android-toolchain/arm-linux-androideabi/bin/gcc \ --without-pcre --without-http_rewrite_module --without-http_userid_module \ --with-cc-opt=-Wno-sign-compare但是,当进入到auto的上一目录下执行时,会提示错误,找不到gcc,所以要修改下命令:
auto/configure \ --crossbuild=android-arm \ --prefix=/home/wangrui/arm-nginx \ --with-cc=/home/wangrui/local/android-toolchain/bin/arm-linux-androideabi-gcc \ --without-pcre --without-http_rewrite_module --without-http_userid_module \ --with-cc-opt=-Wno-sign-compare因为以后的make和make install要在root下,所以将命令中HOME改成了我的目录/home/wangrui/
4、不出错的话,能顺利完成,然后make,make install
5、将arm-nginx拷贝到android SDCARD中。
在拷贝时,会有权限问题,不能拷贝,修改arm-nginx文件夹权限:
chmod 777 arm-nginx -R-R表示文件夹下的子文件夹和文件也一并修改。
6、将手机使用数据线连接,打开USB调式,安装adb工具
sudo apt-get install android-tools-adb
执行命令:
adb shell会进入到手机当中,执行命令:
cd sdcard进入到sd卡中,找到arm-nginx目录
8、完整命令是:
cd sdcard/arm-nginx/sbin/
./nginx提示错误:
nginx: [alert] could not open error log file: open() "/home/wangrui/arm-nginx/logs/error.log" failed (2: No such file or directory) 2015/02/12 16:16:26 [emerg] 4079#0: open() "/home/wangrui/arm-nginx/conf/nginx.conf" failed (2: No such file or directory)找不到文件,修改命令:
./nginx -p /sdcard/arm-nginx/ -c /sdcard/arm-nginx/conf/nginx.conf执行提示错误:
nginx: [emerg] getgrnam("nogroup") failed (2: No such file or directory)现在还不知道该如何修改,今天先记录到这里,由于快放年假,便于后来继续,一步步来……
遇到过这种情况的前辈清不吝赐教阿!
多谢了
以上就介绍了使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(五),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。