nginx是配置网站服务器,但是通过安装相应modue也可以实现直播推流。

nginx服务器配置

环境

  • ubuntu 16.04
  • nginx 1.13

依赖库安装

sudo apt-get install git
sudo apt-get install libssl-dev
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install openssl libssl-dev
sudo apt-get install zlib1g-dev
sudo apt-get install git
sudo apt-get install wget

安装过程中,apt占用,出现错误:

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

解决方法:

ps aux | grep aptkill ps

下载解压

mkdir rtmp
cd rtmp
git clone https://github.com/arut/nginx-rtmp-module.git
wget http://nginx.org/download/nginx-1.13.3.tar.gz
tar -zxvf nginx-1.13.3.tar.gz

nginx-rtmp-module添加到nginx服务器

cd nginx-1.13.3
./configure --add-module=/home/lammy/rtmp/nginx-rtmp-module

编译安装

make
sudo make install

运行

cd /usr/local/nginx
sudo ./nginx

验证

ps -ef|grep nginx

配置rtmp推流

进入nginx的配置信息

cd /usr/local/nginx/conf
sudo gedit nginx.conf

添加 rtmp服务

http同级目录下添加 rtmp服务

rtmp
{server{listen 1935;chunk_size 4096;application live #live rtmp名称为名字,下面on这里表示开启{live on;}}
}

添加推流信息查看http接口

在http中添加推流信息,与http内部server统计目录

server
{listen 8080;location /stat{rtmp_stat all; #所有状态rtmp_stat_stylesheet stat.xsl #state的样式表}location /stat.xsl{root /home/lammy/rtmp/nginx-rtmp-module;#state的样式表路径}
}

/home/lammy/rtmp/nginx-rtmp-module是下载的module中的stat表格路径

重启nginx服务器

cd usr/local/nginx/sbin
sudo pkill nginx
sudo ./nginx

FFmepg 推流

上面配置了ffmpeg的服务,地址就是rtmp+服务器ip + rtmp名称

ffmpeg -i test.mp4  -f flv rtmp://192.168.32.129/live

推流视频有些模糊,想要推流原数据,可以查看:ffmpeg + crtmpserver实现直播推流

播放

vlc播放

vlc播放器下载安装,

  1. 先打开vlc,左上角 媒体,打开网路串流,输入上面推流的地址:rtmp://192.168.32.129/live,点击打开
  2. 推流,执行上面的命令ffmpeg -i test2.mp4  -f flv rtmp://192.168.32.129/live

这样就可以看到vlm播放我们推流的视频了。

ffmpeg中的ffplay播放

ffplay rtmp:/192.168.32.129/live -fflags nofbuffer

ffpaly播放,因为要音视频推流控制,会有缓存,很延迟,这里就设置为无缓冲。

查看推流信息

在推流中,我们打开网站输入:http://192.168.32.129:8080/stat 就可以看到推流的信息了(实时查看可F5 刷新页面),如下图:

ffmpeg + nginx配置智播推流服务器相关推荐

  1. FFmpeg+nginx实现b站推流直播

    目录 简介 硬件要求 配置教程 搭建nginx rtmp服务器 获取b站推流码 配置启动nginx 安装FFmpeg 移步原文网站,浏览最新博客. 简介 本教程以b站为例,介绍如何利用一台云服务器实现 ...

  2. Fedora进行ffmpeg+nginx+rtmp服务器配置局域网推流

    文章目录 前言: 一.先对Fedora镜像源进行一次更新 1.如果在配置好后,获取 GPG 密钥失败:[Errno 14] curl#37 - "Couldn't open file /et ...

  3. nginx alias php 404,Nginx配置静态服务器以及404问题解决,root和alias的区别

    最近在使用Nginx配置一个图片静态服务器来通过http请求访问图片,在配置的时候,发现遇到访问有404的问题,结果发现是在配置路径的时候,和路径属性是root还是alias的有关. nginx配置文 ...

  4. vlc搭建rtsp直播Demo ffmpeg + nginx + flv.js实现rtsp网页播放Demo

    文章目录 学习链接 本地视频文件作为数据源 推流步骤 拉流步骤 本地摄像头作为数据源 拉流步骤 vlc + ffmpeg + nginx + flv.js 实现网页视频直播 概括 vlc打开摄像头,提 ...

  5. nginx配置Jupyter

    jupyter 的下载和安装: 参考连接 Nginx代理: nginx配置: server {server_name ; # 服务器域名和 IP 地址listen 80; # 监听端口......lo ...

  6. nginx配置https协议

    配置方法如下,需要注意的地方是即使有一个listen 80了,还是需要加一个listen 443的配置项,在server块里面添加如下配置即可(我用的腾讯云的com.cn域名) listen 443 ...

  7. 笔记Mac下配置nginx+rtmp模块推流服务器碰到的问题:Error: This tap is now empty as all its formulae were migrated

    安装环境 ,Mac版本 : 10.13.5 在装的nginx版本为1.13.12 安装命令见:https://blog.csdn.net/zjuwwj/article/details/72773704 ...

  8. android全平台基于ffmpeg解码本地MP4视频推流到RTMP服务器

    音视频实践学习 android全平台编译ffmpeg以及x264与fdk-aac实践 ubuntu下使用nginx和nginx-rtmp-module配置直播推流服务器 android全平台编译ffm ...

  9. 海思开发板FFmpeg+Nginx,推流RTMP播放(优秀教程收集+实操整理)

    海思开发板FFmpeg+Nginx推流RTSP播放(优秀教程收集+实操整理) 安装FFmpeg及移植 FFmpeg编译问题收录: static declaration of 'cbrt' follow ...

最新文章

  1. C#中调用Windows API时的数据类型对应关系
  2. FPGA之道(26)VHDL初始化
  3. python长度分割文本_python 按照固定长度分割字符串的方法小结
  4. react中context到底是如何传递的-源码分析
  5. 印尼互联网交换中心失火,或由电路短路引发
  6. php socket 效率,php socket 模型及效率问题
  7. 【设计模式 03】装饰模式——俄罗斯套娃?
  8. python按行读取文件取消空白行_python去掉空白行的多种实现代码
  9. (93)异步FIFO结构,为什么用格雷码? ,面试必问(十七)(第19天)
  10. java iframe主界面_利用iframe实现各个页面跳转
  11. MySQL之 分库分表
  12. You can format your XML in the 'standard' Android way...
  13. Linux下使用润乾设计器
  14. Solaris 查看系统信息命令
  15. 密码学专题 对称加密算法
  16. 移动硬盘无法读取是怎么回事?
  17. 毕业设计-基于效果的图像超级分辨率重建
  18. Qt在mac上的字体
  19. Stanford iOS7 Lecture 1-3 demo
  20. 计算机怎样打开鼠标点的键盘,如何打开计算机虚拟键盘?五种打开计算机虚拟键盘的方法简介...

热门文章

  1. 算法:3瓶空瓶子可以换一瓶汽水
  2. shedule()调用时机
  3. 简述包过滤防火墙的过滤原理是什么?
  4. UNIX编程长篇连载
  5. UI设计基础知识点之Android设计规范篇
  6. sparse coo_matrix和torch coo_matrix转换
  7. 经营分析、决策系统数据库设计 - 实时圈选、透视、估算
  8. vipjr口碑真实情况,学员妈妈深度访谈聊一聊!
  9. 进度条怎么切点9_进度条为什么总卡在99%?| 趣问万物
  10. 浏览器缓存和vue-cli缓存策略