NDK31_Nginx流媒体服务器搭建

本文档详细介绍了如何在Linux阿里云服务器上下载、配置、安装nginx及rtmp模块,包括环境依赖的安装、配置文件修改、端口检查、安全策略设置以及启动和停止nginx服务的步骤,最终实现rtmp服务器的搭建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NDK开发汇总


环境:Linux阿里云服务器

1. 下载nginx,并解压

wget http://nginx.org/download/nginx-1.15.3.tar.gz
tar xvf nginx-1.15.3.tar.gz

2. 下载rtmp并解压

wget https://codeload.github.com/arut/nginx-rtmp-module/tar.gz/v1.2.1
tar xvf v1.2.1  

3. 进入nginx目录

cd nginx-1.15.3

4. 执行:

#--add-module 指向rtmp模块目录,注意rtmp路径
./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1

5. 在这个过程中可能因为环境不同而出现不同错误,比如缺少pcre、openssl等,这时候就需要安装这些库。

查看zlib安装

dpkg -l | grep zlib

openssl

sudo apt-get install openssl libssl-dev

pre3

sudo apt-get install libpcre3 libpcre3-dev

zlib

sudo apt-get install zlib1g-dev

6. 安装:

步骤4顺利执行后,会生成一个MakeFile文件,通过make安装

make install

7. 进入bin/conf 目录下(nginx-1.15.3/bin)

cd bin/conf 

8. vim nginx.conf 修改为:

user root;
worker_processes  1;

error_log  logs/error.log debug;

events {
    worker_connections  1024;
}

rtmp {
    server {
         #注意端口占用
        listen 1935;
        application myapp {
            live on;
            #丢弃闲置5s的连接
            drop_idle_publisher 5s;
        }
    }
}
http {
    server {
        #注意端口占用
        listen      8081;
        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }
        location /stat.xsl {
            #注意目录
            root /root/ffmpeg/nginx/nginx-rtmp-module-1.2.1/;
        }
        location /control {
            rtmp_control all;
        }
        location /rtmp-publisher {
            #注意目录
            root /root/ffmpeg/nginx/nginx-rtmp-module-1.2.1/test;
        }
        
        location / {
            #注意目录
            root /root/ffmpeg/nginx/nginx-rtmp-module-1.2.1/test/www;
        }
    }
}

其实就是从 nginx-rtmp-module-1.2.1/test/nginx.conf中拷贝
修改:
user root;
drop_idle_publisher 5s;
/root/ffmpeg/nginx/nginx-rtmp-module-1.2.1/改为自己的rtmp路径

9. 端口占用检查: lsof -i:8080

需要注意的是目录与端口是否被占用,比如我的8080端口被占用,我改为了8081,然后需要开放端口。

10. 阿里云服务器配置安全策略,开放端口

在这里插入图片描述

11. 配置完成后,就可以启动nginx了

在当前目录nginx-1.15.3执行

 bin/sbin/nginx 

停止:

bin/sbin/nginx -s  stop 

注意:一定要在当前目录启动,因为上面的配置 error_log logs/error.log debug; 会去执行命令的目录下查找 logs。
如果error_log 改成一个绝对路径 那就没关系了

  1. 在浏览器输入IP:8081或者IP:8081/stat(8081是你上面配置的),能访问就表示配置完成了。
    在这里插入图片描述

可以下载推流软件,配置ip,如: rtmp://IP+myapp/abc(不带端口是因为配置的是rtmp的默认端口;myapp是nginx.conf配置的;abc可以是任意的,播放端和上传一样就能获取)

SRS(Simple-RTMP-Server)是一个支持 RTMP、HLS、HTTP-FLV 等协议的开源流媒体服务器,可以用于搭建在线直播、点播等流媒体应用。在 Android 平台上,可以通过编译源代码的方式搭建 SRS 服务器。 以下是在 Android 平台上搭建 SRS 服务器的步骤: 1. 下载 SRS 源代码 可以从 SRS 官方网站(https://github.com/ossrs/srs)下载最新的源代码,也可以使用 Git 命令进行克隆: ``` $ git clone https://github.com/ossrs/srs.git ``` 2. 安装 Android NDK SRS 的编译过程需要使用 Android NDK,因此需要先安装 Android NDK。可以从 Android 官网(https://developer.android.com/ndk/downloads)下载最新的 Android NDK,并将其解压到某个目录下。 3. 配置编译环境 在 Android NDK 的目录下执行以下命令,配置编译环境: ``` $ export PATH=$PATH:/path/to/android-ndk-rxx/ ``` 其中 /path/to/android-ndk-rxx/ 是 Android NDK 的路径。 然后进入 SRS 源代码目录,执行以下命令,配置编译环境: ``` $ ./configure --cross-prefix=arm-linux-androideabi- --cc=arm-linux-androideabi-gcc --with-ssl=/path/to/openssl-1.1.1k/ ``` 其中 /path/to/openssl-1.1.1k/ 是 OpenSSL 的路径。 4. 编译 SRS 执行 make 命令即可编译 SRS: ``` $ make ``` 编译完成后,可以在 objs 目录下找到编译好的 SRS 可执行文件。 5. 配置 SRS 在 SRS 的配置文件中,需要指定监听的端口、应用名称、流名称等信息。以下是一个示例配置: ``` listen 1935; max_connections 1000; daemon on; http_api on; http_server 8080; http_dir ./objs/nginx/html; vhost __defaultVhost__ { hls { hls_path ./objs/nginx/html; hls_fragment 10; hls_window 60; } http_remux { enabled on; } } ``` 其中,listen 表示监听的端口号,http_server 表示 HTTP 服务器监听的端口号,http_dir 表示 HTTP 服务器的根目录,vhost 表示虚拟主机配置,hls 和 http_remux 表示支持的协议和格式。 6. 启动 SRS 执行以下命令启动 SRS: ``` $ ./objs/srs -c ./conf/srs.conf ``` 其中,-c 参数指定配置文件的路径。 至此,就完成了在 Android 平台上搭建 SRS 服务器的过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值