手动搭建直播平台,nginx rtmp模块,推流,拉流.

CDN网络构成

  • 边缘节点:用户从边缘节点上获取数据 (离用户最近的)
  • 二级节点: 主干网节点,主要用于缓存,减轻源站压力(一般部署在大都市)
  • 源站:CP(内容提供方),将内容放到源站。(源节点也不只一个)

用户首先去边缘节点,没有资源则去二级节点,如果没有则去源节点获取。

主干节点:可以解决 联通 电信 用户的相互访问的限制,使电信用户访问联通资源,也可以流畅。

传统CDN:追求热点,将热点放入缓存,超时删除。

直播: 通过源,直接push到主干节点,如果边缘节点没有,直接取主干节点拉取。

亲手搭建直播系统。

常用的音视频工具

  • ffmpeg 音视频解析,转化,去水印,抽取图片等等等等。
  • ffplay 播放器。
  • flashplayer 播放lmp流的。

准备

  • linux服务器
  • 编译并安装Nginx服务
  • 配置rtmp服务并启动Nginx服务
yum -y install gcc gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

# centos nginx 编译安装 rtmp模块
# https://blog.csdn.net/sz76211822/article/details/79225716

# 模块下载 https://github.com/arut/nginx-rtmp-module
# 下载完后解压rtmp压缩包,解压后的位置
# /root/nginx-rtmp-module-master

# 编译安装
./configure --prefix=/opt/nginx  --add-module=/root/nginx-rtmp-module-master  --with-http_ssl_module
# 安装
make & make install

配置nginx,rtmp和http 一个级别。

rtmp{
    server{
        # 指定服务端口
        listen 1935;
        # 音视频传输,每一个块是4000字节
        chunk_size 4000;
        
        # 指定了一个应用,叫live 
        application live
        {
             live on; # 功能打开
             record off; #  关闭录制
             allow play all; #  允许任何人访问
        }
    }
}
sbin/nginx  # 启动nginx
netstat -an | grep 1935 # 查看1935端口

到此,直播服务器搭建好了。


FFMPEG 直播命令,本次不使用ffmpeg,使用windows上的软件.

推流,通过ffmpeg,将out.mp4 推送到 服务器地址上去

ffmpeg -re -i out.mp4 -c copy -f flv rtmp://server/live/streamName

拉流,从服务器地址,写成一个文件。

ffmpeg -i rtmp://server/live/streamName -c copy dump.flv

windows 下载obs直播推流软件 和potplayer 播放器

使用OBS直播软件进行推流,

设置自定义url

rtmp://192.168.56.102:1935/live/

文件名(密码) sun

浏览器打开

rtmp://192.168.56.102:1935/live/sun

会弹出是否使用播放器,使用potplayer播放器进行播放

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值