linux系统中Nginx+FFmPeg实现网页监控视频播放配置过程

1.安装好的nginx上添加模块nginx-http-fiv-module-master

此模块是rtmp模块的升级版,有它所有的功能,因此安装它

(1)从GitHub上下载该模块,将压缩包放到nginx目录的/usr/local/nginx下

cp:nginx-http-fiv-module-master .zip /usr/local/nginx

(2)解压到此

unzip nginx-http-fiv-module-master .zip

(3)在安装文件夹下添加模块

./configure --add-module=/usr/local/nginx/nginx-http-flv-module-master

记得使用管理员身份进入!!

make

紧接着执行make install!

make install

2.linux服务器安装ffmpeg

使用命令直接安装

apt-get install ffmpeg

3.进入nginx配置文件添加rtmp

rtmp {
out_queue 4096;
out_cork 8;
max_streams 128;
timeout 15s;
drop_idle_publisher 15s; log_interval 5s; #log模块在access.log中记录日志的间隔时间,对调试非常有用
log_size 1m; #log模块用来记录日志的缓冲区大小 server {
listen 1935;
server_name localhost; application myapp {
live on;
gop_cache on; #打开GOP缓存,减少首屏等待时间
} application hls {
live on;
hls on;
hls_fragment 8s;
hls_path temp/hls;
} } }

编辑保存好文件之后,再重启nginx

sudo nginx -s reload

3.使用FFmpeg对视频进行推流

推流至nginx的服务器地址

ffmpeg -re -i {input-source} -f flv -r 25 -s 1280*720 -an rtmp://localhost:1935/live/test

拉流地址:rtmp://localhost:1935/rtmplive/test

配置环境变量的方法

1、打开配置文件

1.vi /etc/profile

2、在PATH后面追加sbin目录,以:隔开

/usr/local/nginx/sbin

export JAVA_HOME=/usr/local/java/jdk1.8.0_131
export PATH=$PATH:$JAVA_HOME/bin:/usr/local/nginx-1.20.2/sbin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre

3.重新加载

启动nginx

nginx

停止

n ginx -s stop

nginx -s quit

重载配置文件

nginx -s reload

更改默认端口的方法

1.进入nginx.conf文件

2.修改下图位置的端口号

3.找到/etc/nginx/sites-available/default文件

# sudo vim /etc/nginx/sites-available/default

修改此文件下的端口号为刚刚nginx.conf中的相同端口

  server {
listen 8084 default_server;
listen [::]:8084 default_server; root /usr/share/nginx/html; xxx.html xxx.htm }

4.重新加载配置文件

killall -9 nginx

nginx

指定配置文件启动的方法

可能由于下载安装的地址问题使得运行的时候并没有运行/usr/local/nginx/conf下的配置文件,此时只需手动nginx指定配置文件启动即可

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

linux系统中Nginx+FFmPeg+vlc实现网页视频播放配置过程的更多相关文章

  1. LINUX系统中动态链接库的创建与使用

    大家都知道,在WINDOWS系统中有很多的动态链接库(以.DLL为后缀的文件,DLL即Dynamic Link Library).这种动态链接库,和静态函数库不同,它里面的函数并不是执行程序本身的一部 ...

  2. LINUX系统中动态链接库的创建与使用{补充}

    大家都知道,在WINDOWS系统中有很多的动态链接库(以.DLL为后缀的文件,DLL即Dynamic Link Library).这种动态链接库,和静态函数库不同,它里面的函数并不是执行程序本身的一部 ...

  3. Windows7系统中nginx与IIS服务器搭建集群实现负载均衡

    10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡   分布式,集群,云计算机.大数据.负载均衡.高并发······当耳边响起这些词时,做为一个菜鸟程序猿无疑 ...

  4. linux系统下nginx安装目录和nginx.conf配置文件目录

    linux系统下nginx安装目录和nginx.conf配置文件目录 1.查看nginx安装目录 输入命令 # ps  -ef | grep nginx 返回结果包含安装目录 root      26 ...

  5. 详解Linux系统中的文件名和文件种类以及文件权限

    Linux文件种类与副文件名 一直强调一个概念,那就是:任何装置在Linux底下都是文件, 不仅如此,连资料沟通的介面也有专属的文件在负责-所以,你会瞭解到,Linux的文件种类真的很多- 除了前面提 ...

  6. 2017-03-04 dotnet core网站发布到Linux系统中

    今天开始学习dotnet core的开发,距离Visual Stuio 2017正式版的发布,也就是VS20周岁的生日还有三天,在我的电脑上安装的是VS2017 Enterprise RC版, 在VS ...

  7. linux系统中的一些典型问题汇总

    一.文件系统破坏导致系统无法启动:Checking root filesystem/dev/sda6 contains a file system with errors,check forcedAn ...

  8. 在linux系统中配置NVMe over FC

    在linux系统中配置NVMe over FC与配置NVMe over TCP类似,前5步操作请参考<在linux系统中配置NVMe over TCP>,网页连接如下: https://w ...

  9. Linux系统中的Device Mapper学习

    在linux系统中你使用一些命令时(例如nmon.iostat 如下截图所示),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?以前不了解的时候,我也很纳闷. ...

随机推荐

  1. 实战|Linux大文件切割

    一个执着于技术的公众号 日常工作中需要对日志文件进行分析,当日志文件过大时,Linux中使用vim.cat.grep.awk等这些工具对大文件日志进行分析将会成为梦魇,具体表现在: 执行速度缓慢,文件 ...

  2. go convert slice to struct

    Question: in golang how to convert slice to struct scene 1:use reflect convert slice to struct func ...

  3. 使用虚拟机在3台centos7系统安装docker和k8s集群

    一.安装docker 环境:准备3台centos7系统,都安装上docker环境,具体安装步骤和流程如下 参考: https://docs.docker.com/install/linux/docke ...

  4. 图文详解MapReduce工作机制

    job提交阶段 1.准备好待处理文本. 2.客户端submit()前,获取待处理数据的信息,然后根据参数配置,形成一个任务分配的规划. 3.客户端向Yarn请求创建MrAppMaster并提交切片等相 ...

  5. 「Java分享客栈」Nacos配置中心称王称霸,我Apollo一生也不弱于人!

    前言 Apollo又称阿波罗配置中心,在前两年还是挺火的,但阿里SpringCloud套件席卷国内之后,nacos就成为了最被亲睐的分布式配置中心,nacos是配置中心和注册中心二合一的产品,单纯功能 ...

  6. Jmeter之测试片段--include控制器进行接口测试以及管理测试用例

    1.线程组--右键添加--测试片段--测试片段 2.在测试片段中进行添加测试用例如下图: 3.通过include控制器进行调用测试片段 (通常使用全局) 选择线程组--右键添加--逻辑控制器--Inc ...

  7. tf.data(二) —— 并行化 tf.data.Dataset 生成器

    在处理大规模数据时,数据无法全部载入内存,我们通常用两个选项 使用tfrecords 使用 tf.data.Dataset.from_generator() tfrecords的并行化使用前文已经有过 ...

  8. Jetpack架构组件学习(3)——Activity Results API使用

    原文地址:Jetpack架构组件学习(3)--Activity Results API使用 - Stars-One的杂货小窝 技术与时俱进,页面跳转传值一直使用的是startActivityForRe ...

  9. Node.js精进(1)——模块化

    模块化是一种将软件功能抽离成独立.可交互的软件设计技术,能促进大型应用程序和系统的构建. Node.js内置了两种模块系统,分别是默认的CommonJS模块和浏览器所支持的ECMAScript模块. ...

  10. dotnet 在 linux 上构建问题(RID 的问题)

    个人理解 一方面 /etc/os-release 中定义的的 ID VERSION_ID 是会与源代码中定义 RID 的相对应,如果不对应,就会报错 The specified RuntimeIden ...