1、流媒体

1.1基本概念

流媒体(Streaming media),也叫做:流式媒体。

流媒体的一个非常典型、火爆的应用场景:直播。近几年,直播行业是蒸蒸日上。

1.2直播架构

下面放几张图片,简单了解一下直播技术的基本架构。

rtmp服务器介绍(RTMP服务器搭建)(1)

简单

rtmp服务器介绍(RTMP服务器搭建)(2)

详细

你可能会有个疑问:信令服务器是干嘛用的?用来处理分享端和观看端的一些信令指令,比如创建房间、加入房间等。

rtmp服务器介绍(RTMP服务器搭建)(3)

京东云

rtmp服务器介绍(RTMP服务器搭建)(4)

百度智能云

用文字总结一下基本流程是:

分享端(比如主播)-> 产生音视频 -> 编码压缩音视频 -> 推流到服务器

观看端(比如观众)-> 从服务器拉流-> 解码解压缩音视频-> 播放音视频

1.3推拉流

推流:通过流媒体协议,将音视频数据发送到流媒体服务器

拉流:通过流媒体协议,从流媒体服务器上拉取获得音视频数据

1.4流媒体协议

常见的流媒体协议有:rtmp、HLS等。

译为:实时消息传输协议,由Adobe公司出品

默认基于TCP的1935端口

基于HTTP的流媒体网络传输协议,苹果公司出品

参考:RFC 8216

本文主要介绍RTMP协议相关知识。

2、服务器环境

首先,要搭建好RTMP服务器环境,主要步骤如下:

我这里安装的是VMWare

CentOS是Linux系统的一种,这里用7.6版本,建议跟我的版本保持一致

nginx:一款高性能的开源web服务器

nginx-rtmp-module:让nginx支持rtmp

2.1安装CentOS

2.1.1下载CentOS

推荐网站:centoschina,上面有CentOS的各种版本,这里下载CentOS-7-x86_64-DVD-1810.iso,大小是4G多。

2.2安装nginx

在nginx官网下载目前最新的稳定版:nginx-1.20.1.tar.gz。

2.3安装nginx-rtmp-module

在nginx-rtmp-module的github下载目前最新的稳定版:v1.2.2.tar.gz。

2.4配置nginx

2.5启动nginx

2.6一些步骤和命令整理

rtmp服务器介绍(RTMP服务器搭建)(5)

查看共享成功与否

vmware-hgfsclient

挂载到对应目录(这里放mnt)

vmhgfs-fuse .host:/共享目录名称 /mnt/目录名称

cp源目标

tar -zxvf 解压文件

vim conf/nginx.conf

export PATH=$PATH:/usr/local/nginx/sbin

nginx

端口占用:lsof -i:1935

杀死进程:kill -9 pid

rtmp服务器介绍(RTMP服务器搭建)(6)

rtmp服务器介绍(RTMP服务器搭建)(7)

rtmp服务器介绍(RTMP服务器搭建)(8)

,