【Android RTMP】RTMP 直播推流 ( 阿里云服务器购买 | 远程服务器控制 | 搭建 RTMP 服务器 | 服务器配置 | 推流软件配置 | 直播软件配置 | 推流直播效果展示 )





安卓直播推流专栏博客总结



Android RTMP 直播推流技术专栏 :


0 . 资源和源码地址 :


1. 搭建 RTMP 服务器 : 下面的博客中讲解了如何在 VMWare 虚拟机中搭建 RTMP 直播推流服务器 ;

2. 准备视频编码的 x264 编码器开源库 , 和 RTMP 数据包封装开源库 :

3. 讲解 RTMP 数据包封装格式 :

4. 图像数据采集 : 从 Camera 摄像头中采集 NV21 格式的图像数据 , 并预览该数据 ;

5. NV21 格式的图像数据编码成 H.264 格式的视频数据 :

6. 将 H.264 格式的视频数据封装到 RTMP 数据包中 :

7. 阶段总结 : 阿里云服务器中搭建 RTMP 服务器 , 并使用电脑软件推流和观看直播内容 ;

8. 处理 Camera 图像传感器导致的 NV21 格式图像旋转问题 :

9. 下面这篇博客比较重要 , 里面有一个快速搭建 RTMP 服务器的脚本 , 强烈建议使用 ;

10. 编码 AAC 音频数据的开源库 FAAC 交叉编译与 Android Studio 环境搭建 :

11. 解析 AAC 音频格式 :

12 . 将麦克风采集的 PCM 音频采样编码成 AAC 格式音频 , 并封装到 RTMP 包中 , 推流到客户端 :






上一篇博客 【Android RTMP】RTMP 直播推流服务器搭建 ( Ubuntu 18.04.4 虚拟机 ) 具体演示了在虚拟机上搭建直播推流服务器 , 并且进行错误排查的过程 , 测试一下搭建流程是否能跑通 ;

本博客演示如何 在阿里云购买服务器 , 远程服务器控制 , 搭建 RTMP 直播推流服务器 , 并配置服务器 , 直播展示 , 全过程的记录 ;





一、 阿里云服务器购买



1 . 进入阿里云控制台的云服务器 ECS 界面 :

在这里插入图片描述

2 . 选择服务器类型 : 选个抢占式的实例 , 挑个便宜点的网络增强型的服务器 ;

在这里插入图片描述


3 . 带宽设置 : 设置按流量收费 , 100M 带宽 ;

在这里插入图片描述


4 . 设置今晚 11 点释放 :

在这里插入图片描述


5 . 实例查看 :

在这里插入图片描述


6 . 配置安全组 : 入方向配置 TCP 协议 8080 和 1935 端口 ;

在这里插入图片描述





二、 远程服务器控制软件



1 . 使用 WinSCP 工具连接服务器 , 并与服务器进行文件交互操作 ;

在这里插入图片描述


2 . 连接后界面 :

在这里插入图片描述

3 . 将上述两个源码上传到远程服务器的 /root/rtmp 目录下 :

在这里插入图片描述

在这里插入图片描述





三、 配置 Ubuntu 服务器




1 . 更新 apt 源


编译 Nginx 需要安装一些依赖库 , 必须更新 apt 源 , 才能安装 ;


1 . 备份源 :

mv /etc/apt/sources.list /etc/apt/sourses.list.backup

2 . 添加源 : 本地编辑 sources.list , 内容如下 , 上传到服务器 /root/rtmp/ 目录下 ;

deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse

在这里插入图片描述

将 sources.list 上传到 rtmp 目录下 , 并复制到 /etc/apt/ 目录下 ;

root@hsl:~/rtmp# cp sources.list /etc/apt/

3 . 更新源 :

sudo apt-get update


2 . 安装 pcre、OpenSSL、zlib 库


1 . 安装编译 Nginx 所需的 pcre , OpenSSL , zlib 库 ;

$ sudo apt-get install libpcre3 libpcre3-dev
$ sudo apt-get install openssl libssl-dev
$ sudo apt-get install zlib1g-dev


3 . 解压 nginx-1.15.3.tar.gz、nginx-rtmp-module-1.2.1.tar.gz 源码


$ tar xvf nginx-1.15.3.tar.gz
$ tar xvf nginx-rtmp-module-1.2.1.tar.gz


4 . 执行 configure 生成 Makefile 文件


$ ./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1


5 . 编译安装


$ make install


6 . 配置 Nginx 服务器


配置 conf/nginx.conf 脚本 : 在本地配置 nginx.conf 脚本 , 然后上传到服务器 /root/rtmp/ 目录中 ;

user  root;
worker_processes  1;

error_log  logs/error.log debug;

events {
    worker_connections  1024;
}

rtmp {
    server {
        listen 1935;

        application myapp {
            live on;
        }
    }
}

http {
    server {
        listen 8080;

        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }

        location /stat.xsl {
            root /root/rtmp/nginx-rtmp-module-1.2.1/;
        }

        location /control {
            rtmp_control all;
        }

        location /rtmp-publisher {
            root /root/rtmp/nginx-rtmp-module-1.2.1/test;
        }

        location / {
            root /root/rtmp/nginx-rtmp-module-1.2.1/test/www;
        }
    }
}

备份原来的脚本 : 在 /root/rtmp 目录下执行该命令 ;

$ mv nginx-1.15.3/bin/conf/nginx.conf nginx-1.15.3/bin/conf/nginx.conf.backup

复制上传到脚本到 nginx-1.15.3/bin/conf/ 目录下 : 在 /root/rtmp 目录下执行该命令 ;

$ cp nginx.conf nginx-1.15.3/bin/conf/


7 . 配置 Nginx 服务器文件权限


启动时出现 403 错误 , 怀疑是文件权限不足 , 这里将 nginx-1.15.3 和 nginx-rtmp-module-1.2.1 赋予所有的权限 ;

root@octopus:~/rtmp# chmod -R 777 nginx-1.15.3
root@octopus:~/rtmp# chmod -R 777 nginx-rtmp-module-1.2.1


8 . 查看 Nginx RTMP 服务器状态


1 . 查看状态 : http://47.94.36.51:8080/stat

在这里插入图片描述


2 . 查看直播内容 : http://47.94.36.51:8080

在这里插入图片描述





四、 推流软件下载与配置



1 . 推流软件 : 使用 EV 录屏软件 作为推流软件 , 点击链接进入下载界面 ;

在这里插入图片描述


2 . 配置推流地址 : rtmp://47.94.36.51/myapp/ , 密码 0 ;

选择 在线直播 , 点击右上角的设置按钮 ;
在这里插入图片描述


弹出设置对话框 , 设置直播地址 rtmp://47.94.36.51/myapp/ , 密码设置为 0 ;

在这里插入图片描述


3 . 开始推流 : 点击左下角播放按钮 , 即可开始推流 ;
在这里插入图片描述


4 . 查看服务器端 RTMP 推流状态 : 111.192.247.192 地址正在向服务器推流 , 这个地址就是当前我的电脑地址 ;

在这里插入图片描述

在这里插入图片描述





五、 直播软件下载与配置



1 . 直播软件 : 使用 EVPlayer 观看直播 , 点击该链接下载软件 ;

在这里插入图片描述


2 . 直播配置 : 邮件点击界面 , 选择播放网络流 , 输入 直播地址 rtmp://47.94.36.51/myapp/ , 密码 0 ;

在这里插入图片描述


3 . 直播效果展示 : 居然不让截屏 , 贴张照片 ;

在这里插入图片描述


4 . 服务器状态查看 : 可以看到一个设备正在推流 , 一个设备正在观看直播 ;

在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值