使用Nginx代理访问服务器的.mp4文件,并使用Vue播放

这篇具有很好参考价值的文章主要介绍了使用Nginx代理访问服务器的.mp4文件,并使用Vue播放。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、使用Docker部署单节点Nginx

1、在CentOS上安装部署Docker

请参考:https://blog.csdn.net/yueyue763184/article/details/126776158?spm=1001.2014.3001.5502

2、拉取最新版Nginx镜像

docker pull nginx

3、创建后面需要映射的文件夹

mkdir -p /home/nginx/www /home/nginx/logs /home/nginx/conf

4、先启动预备Nginx,仅仅用于获取配置文件

docker run -d -p 9001:80 --name nginx0 -v /home/nginx/www:/usr/share/nginx/html -v /home/nginx/logs:/var/log/nginx  nginx

nginx代理mp4,nginx,运维

进入nginx0容器:

docker exec -it nginx0 /bin/bash

查看nginx.conf配置文件位置:

nginx代理mp4,nginx,运维

5、拷贝,修改nginx.conf文件

exit或者Ctrl+D退出容器,然后拷贝配置文件:

cd /home/nginx
docker cp nginx0:/etc/nginx/nginx.conf conf/nginx.conf

nginx代理mp4,nginx,运维

修改 nginx.conf 配置文件:

vim conf/nginx.conf
user  root;
worker_processes  1;
 
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
 
 
events {
    worker_connections  1024;
}
 
 
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
 
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
 
    access_log  /var/log/nginx/access.log  main;
 
    sendfile        on;
    #tcp_nopush     on;
 
    keepalive_timeout  65;
 
    #gzip  on;
 
    include /etc/nginx/conf.d/*.conf;
 
    server {
		listen       80;
		server_name  localhost;
		charset utf-8;
 
		location /images/ {
			alias  /home/nginx/www/images;#ok
			autoindex on; ##显示索引
			autoindex_exact_size on; ##显示大小
			autoindex_localtime on; ##显示时间
		}
		error_page  404              /404.html;
	}
}

nginx代理mp4,nginx,运维

在/home/nginx/www目录下创建images文件夹,并上传.mp4文件在其下

nginx代理mp4,nginx,运维

 接下来就可以删除nginx0,重新创建运行一个容器nginx:

docker stop nginx0
docker rm nginx0
docker run -d -p 9001:80 --name nginx -v /home/nginx/www:/usr/share/nginx/html -v /home/nginx/logs:/var/log/nginx  nginx

nginx代理mp4,nginx,运维

 确保防火墙9001端口已经开了,就可以远程访问了: 

nginx代理mp4,nginx,运维

 二、在Vue中播放.mp4视频

 主要是使用video来播放

npm install video.js --save

index.vue

<template>
  <div>
    <span class="spheader">监控视频:</span>
    <!-- 视频 -->
    <div  v-for="item in videoUrl" class="sp">
      <video id="myVideo" ref="myVideo" controls class="shiping1 video-js vjs-big-play-centered">
        <source :src="item.url" type="video/mp4" >
      </video>
      <!-- 时间 -->
      <span class="time">{{item.time}}</span>
    </div>
  </div>
</template>

<script>
import Video from 'video.js'
import 'video.js/dist/video-js.css'
export default {
  data() {
    return {
      playHandler: null,
      videoUrl: [
        {"url": 'http://ip:9001/images/222.mp4', "time": "2023-03-06 12:10:00"},
        {"url": 'http://ip:9001/images/333.mp4', "time": "2023-03-06 12:06:00"},
        {"url": 'http://ip:9001/images/222.mp4', "time": "2023-03-06 12:03:00"}
      ]
    }
  },
  updated() {
    // 初始化获取数据
    this.fetchVideoList(this.id)
    setTimeout(() => {
      this.initVideo()
    }, 300)
    this.playHandler.dispose()
  },
  async initVideo() {
    this.$nextTick(() => {
      this.playHandler = Video('myVideo', {
        // 确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
        controls: true,
        // 自动播放属性,muted:静音播放
        autoplay: 'muted',
        // 建议浏览器是否应在<video>加载元素后立即开始下载视频数据。
        preload: 'auto',
        // 设置视频播放器的显示宽度(以像素为单位)
        width: '650px',
        // 设置视频播放器的显示高度(以像素为单位)
        height: '400px'
      })
    })
  },

  /**
   * @function  获取视频素材详情
   */
  async fetchVideoList(id) {
    const res = await materialApi.query({id})
    if (res.code === 0) {
      this.form = res.data
      this.$refs.myVideo.src = res.data.cosPath
      console.log(this.form, 'this.video.form', this.$refs.myVideo.src)
    }
  }
}
</script>

<style>
@import "./index.css";
</style>

index.css

.sp{
    margin: 30px 0 0 30px;
    width:350px;
    height:250px;
    float:left;
}
.shiping1{
    border: 2px solid black;
    width: 100%;
    height: 200px;
    float:left;
}
.spheader{
    color: #254765;
    font-size: 18px;
    position: absolute;
    left: 220px;
    top: 70px;
}
.time{
    color: #254765;
    position: relative;
    top: 10px;
}

效果: 

nginx代理mp4,nginx,运维文章来源地址https://www.toymoban.com/news/detail-644950.html

到了这里,关于使用Nginx代理访问服务器的.mp4文件,并使用Vue播放的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用nginx简单搭建一个ChatGPT代理服务器

    作者:ChenZhen 本人不常看CSDN消息,有问题通过下面的方式联系: 邮箱:1583296383@qq.com vx: ChenZhen_7 我的个人博客地址:https://www.chenzhen.space/🌐 版权:本文为博主的原创文章,本文版权归作者所有,转载请附上原文出处链接及本声明。📝 如果对你有帮助,请给一个小小的sta

    2024年02月06日
    浏览(75)
  • 【云原生】使用nginx反向代理后台多服务器

    背景 随着业务发展, 用户访问量激增,单台服务器已经无法满足现有的访问压力,研究后需要将后台服务从原来的单台升级为多台服务器,那么原来的访问方式无法满足,所以引入 nginx 来代理多台服务器,统一请求入口。 什么是nginx Nginx[engine x]是一个免费开源Web服务器,是

    2024年02月04日
    浏览(51)
  • vue3 - 使用element-plus组件库el-upload上传超大mp4视频分片上传,Upload上传大文件mp4视频进行切片分段上传到后端服务器教程,vue3如何上传很大的视频(详细示例代码

    在vue3+elementPlus中,使用el-upload组件\\\"切片分段\\\"上传mp4大视频到服务器,支持任意大视频、大文档、大压缩包等超大文件,通用方法将其拆分成多个小段进行逐个逐条上传到后端(支持断点续传、下载预览)。 详细大文件分片功能源码,可只拿前端源码或只拿springboot(Java)后

    2024年03月16日
    浏览(82)
  • 【开发日记】换掉Nginx,使用HAProxy作为反向代理服务器

    HAProxy,全称为 \\\"High Availability Proxy\\\",是一款开源的、高性能的负载均衡器和代理服务器。主要用于改善应用程序的可用性、可靠性和性能。 与大众熟知的Nginx相比各有优缺点,如果你需要的是一个Web服务器,还是首选Nginx,虽然HAProxy也能实现相同效果,但却需要通过十分繁琐

    2024年01月25日
    浏览(61)
  • 使用Nginx作为反向代理服务器在Linux中的最佳实践

    在Linux环境下,Nginx因其高效性能、稳定性以及丰富的功能集而广泛用于作为反向代理服务器。以下是在Linux中使用Nginx作为反向代理服务器的最佳实践: 1. 安装与配置 首先,确保你的Linux发行版已经安装了Nginx。大多数Linux发行版都提供了Nginx的包管理工具。例如,在基于Deb

    2024年01月17日
    浏览(46)
  • nginx 配置 可使用服务器IP访问网站

    如果想要在局域网中使用ip访问nginx配置的网站,需要在防火墙中设置开放端口 nginx 默认监听的是80端口,,我们也可以在nginx的配置文件中复制粘贴多个server,并设置不同的监听端口 1,添加80端口  firewall-cmd --zone=public --add-port  80/tcp  --permanent 2,重启防火墙服务:systemctl

    2024年02月14日
    浏览(51)
  • 使用Nginx反向代理,将React项目打包后部署到服务器的二级子目录

    我们上线一个项目的时候如果服务器上只有这一个项目的话可以直接将打包后的代码部署到服务器指定的根目录,然后直接上线看就可以看到,不用配置其他项。 但是,如果服务器有多个项目的话,我们就需要将代码部署到服务器根目录里边的子目录了,而放到子目录的话,

    2024年03月26日
    浏览(55)
  • Nginx缓存代理服务器

    1.nginx反向缓存代理服务配置 2. 安装nginx服务 3. 修改/etc/nginx/nginx.conf配置文件,关闭长连接保持功能 4. 修改/etc/nginx/nginx.conf配置文件,添加反向代理缓存配置项 5. 修改/etc/nginx/conf.d/default.conf配置文件,添加proxy转发模块 6.启动nginx服务

    2024年02月12日
    浏览(60)
  • 【代理服务器】Squid 反向代理与Nginx缓存代理

    如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端;否则反向代理服务器将向后台的 Web 服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。 缓存网页对象,减少重复请求 将互联网请求

    2024年02月12日
    浏览(57)
  • 学习笔记:代理服务器——Nginx

    本文会对Nginx的介绍、使用、原理等知识作由浅入深的剖析。如果你只想对Nginx作为反向代理的使用作初步的了解,那么可以只看第一、二章节;如果想对Nginx工作原理、扩展使用等进行深入研究,可以看第三章节。相信本文会对你有所帮助 Nginx(“engine x”)是一个高性能的

    2024年02月07日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包