ubuntu16.04安装nginx教程 使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记 用ffmpeg命令推流现有文件

简介

RTMP推流器(Streamer)的在流媒体系统中的作用可以用下图表示。首先将视频数据以RTMP的形式发送到流媒体服务器端(Server,比如FMS,Red5,Wowza等),然后客户端(一般为Flash Player)通过访问流媒体服务器就可以收看实时流了。
在这里插入图片描述

1、首先:运行本程序之前需要先运行RTMP流媒体服务器,并在流媒体服务器上建立相应的Application。
2、推流的同时,客户端(例如 Flash Player, FFplay等等)拉流收看推送的直播流(服务器不能长时间保存视频数据)
例如:
  1、推流:ffmpeg -re -i cuc_ieschool.flv -f flv rtmp://192.168.126.128 /live/camera
      ffmpeg RTMP推送命令举例
  2、拉流:VLC打开网络串流:rtmp://192.168.126.128/live/camera
  在这里插入图片描述

封装格式

RTMP采用的封装格式是FLV。因此在指定输出流媒体的时候需要指定其封装格式为“flv”。
比如在推流的时候添加传参命令: -f flv
  同理,其他流媒体协议也需要指定其封装格式。例如采用UDP推流时指定封装格式为“mpegts”。

c代码实现推流—最简单的基于FFmpeg的推流器(以推送RTMP为例)—做了延迟→→按照视频实际的帧率发送
c代码实现收流—最简单的基于FFMPEG的推流器附件:收流器
↓下面则是使用ffmpeg指令来实现推流 用vlc收流

1. 安装nginx的依赖包

# 查看zlib是否安装
dpkg -l | grep zlib
# 解决依赖包openssl安装
sudo apt-get install openssl libssl-dev
# 解决依赖包pcre安装
sudo apt-get install libpcre3 libpcre3-dev
# 解决依赖包zlib安装
sudo apt-get install zlib1g-dev

1.5为nginx添加rtmp支持

为了增加对rtmp的支持,下载nginx-rtmp-module,地址:https://github.com/arut/nginx-rtmp-module#example-nginxconf,这个是个开源项目。下载后解压放到一个目录(如/home/user/nginx-rtmp-module),后面配置nginx要用到这个位置

2. 官网下载nginx

wget命令详解

//下载nginx
wget http://nginx.org/download/nginx-1.13.1.tar.gz

//解压nginx
tar -xzvf nginx-1.13.1.tar.gz   →得到文件夹nginx-1.13.1

3、安装nginx

//配置nginx
cd nginx解压文件夹
./configure --prefix=/usr/local/nginx  --add-module=/home/user/nginx-rtmp-module(所添加的tmrp解压地址)  --with-http_ssl_module

//编译nginx
make
//安装nginx
make install

3.5修改nginx配置文件nginx.conf进行配置(重启nginx后生效)

gedit /usr/local/nginx/conf/nginx.conf
//linux下的纯文本编辑器 弹出文本编辑界面进行修改,类似txt编辑方式

下面是修改后的nginx.conf :
1在里面加入rtmp的配置
2.使nginx能具有直播状态监听的功能

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
   
    worker_connections  1024;
}

#使nginx增加rtmp功能。
rtmp {
     							#协议名称
    server {
     						#说明内部中是服务器的相关配置
        listen 1935;  				#rtmp服务监听端口
  
        application live {
     		#直播服务器
            live on;  				#live on表示开启实时/启用rtmp直播
            #allow play all;		#这4行是用于录制的
            #record all;
            #record_path /opt/video/record;	#录制视频的存放路径(记得开启写权限)。
            #r添加后重新启动nginx后重新推流,查看/opt/video/record路径下的文件可以看到多了一个test+时间戳命名的flv文件,
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值