通过使用html5 canvas的drawImage()方法可以轻松获取视频当前播放的帧。参考

但是只能对当前项目下的视频截图。很多情况下,视频文件是单独存放的,即要对跨域视频截图

在尝试了很多方法之后,最后通过ngnix轻松解决了这个问题。

ngnix配置:

upstream video2image {server localhost:8080;}

ngnix server配置两个location。

1.默认对接收到的所有url请求都去请求8080端口。

2.对/video请求获取别的服务器中的视频。

server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location /{proxy_pass http://video2image;}location /video {include uwsgi_params;proxy_pass          http://192.168.0.222/test.avi;proxy_redirect          off;  proxy_set_header        X-Real-IP $remote_addr;  proxy_set_header        X-Forwarded-For   $remote_addr;  proxy_set_header        X-Forwarded-For   $proxy_add_x_forwarded_for;  }}

jsp页面获取视频

<video id="video" width="270" autoplay><source src="/video" type='video/avi'></video><input type="button" id="catch" value="截图" /><br/><canvas id="myCanvas" width="270" height="135" style="border:1px solid #d3d3d3;"></canvas>

js绑定事件

    <script type="text/javascript">$("#catch").click(function(){var v=document.getElementById("video");var c=document.getElementById("myCanvas");ctx=c.getContext('2d');ctx.drawImage(v,0,0,270,135)})</script>

项目中的截图部分代码已经上传,有兴趣的可以下载看一下

下载地址

使用ngnix实现跨域视频截图相关推荐

  1. 利用ngnix解决跨域问题

    一,定义 跨域是指从一个域名的网页去请求另一个域名的资源,它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制.跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就 ...

  2. 阿里云OSS图片存储跨域配置 OSS CDN跨域配置截图

    采用了OSS的CDN加速,会导致请求的同一个URL被随机分发到源服务器和CDN服务器,因为CDN服务器并未配置跨域,导致随机到CDN服务器时,就会报跨域错误,而随机到源服务器时就没事,这就造成时好时坏 ...

  3. java 视频切片_关于视频播放、视频切片、跨域访问视频

    关于视频播放.视频切片.跨域访问视频 前言 最近在着手部署上线做的一个视频网站,当我们部署到云服务器上后并开始测试视频观看并发量,发现了一个很严重的问题:带宽不足.9 或 10 个人同时观看视频的时候 ...

  4. asp.net core 系列之允许跨域访问2之测试跨域(Enable Cross-Origin Requests:CORS)

    这一节主要讲如何测试跨域问题 你可以直接在官网下载示例代码,也可以自己写,我这里直接使用官网样例进行演示 样例代码下载: Cors 一.提供服务方,这里使用的是API 1.创建一个API项目.或者直接 ...

  5. 关于尚硅谷微信支付开发解决跨域访问

    在我做微信支付项目中的问题:跨域访问,最开始用视频上的注解@CrossOrigin ,后端的资无法访问源,我自己在网上找了找,就是添加一个过滤器 import org.springframework. ...

  6. Django框架实现跨域的菜鸟教程

    背景 我用Django框架+apicloud做一个web app项目,然后现在遇到一个问题,就是需要跨域: 1.安装django-cors-headers 2.找到与项目名同名下面的settings. ...

  7. video 视频截图 云储存 跨域引用

    <video poster="" src="" crossOrigin="anonymous" width="100%&qu ...

  8. video视频播放截图, 跨域问题

    "SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not ...

  9. nginx HLS m3u8播放视频跨域问题

    采用HLS+m3u8方式播放视频,在播放的时候会报跨域问题.例如:https://www.***.com/crossdomain.xml找不到. 方法1:在跨域的网站根目录放crossdomain.x ...

最新文章

  1. R语言F分布函数F Distribution(df, pf, qf rf )实战
  2. linux虚拟网络设备之bridge(桥)(三)
  3. js 正则判断字符串是否为字母或数字
  4. 科学家研发多模态生物识别系统,基于脑纹独特性来防范身份欺骗
  5. 浅谈C++的virtual 动态绑定。
  6. Vue实现仿音乐播放器14-实现搜索页面以及功能
  7. #求教# 公共less模块中的背景图片地址应该怎么处理?
  8. 多线程编程学习笔记——任务并行库(三)
  9. java实现红包要多少钱_Java实现抢红包算法,附完整代码(公平版和手速版)
  10. jsp界面自动生成文件注释_实施注释界面
  11. tx2无法识别网络_织点智能算法大牛刘思伟:商品识别在收银结算场景的应用与落地...
  12. 信息学奥赛一本通 1096:数字统计 | 1949:【10NOIP普及组】数字统计 | OpenJudge NOI 1.5 41
  13. java cookie p3p_P3P script src 解决cookie存取的跨域问题 java 终极解决办法
  14. 嵌入式linux地图,基于嵌入式Linux的MapInfo格式地图显示
  15. linux下可以输入中文曲,Ubuntu 14.04终端模式下中文输入听歌
  16. 中断 10 分钟,改变孩子沉迷游戏的习惯
  17. 街头篮球上读取服务器维护,《街头篮球》九月新版引入超级服务器
  18. 来自百度的移动应用框架Clouda:快速开发,一键部署BAE
  19. candence测量尺寸
  20. UI——day5.什么是启动页

热门文章

  1. [SDM660 Android9.0]编译问题
  2. 响应头Content-Type与Content-Disposition的区别
  3. FPGA数字信号处理(三)串行FIR滤波器Verilog设计
  4. OpenCL/DirectX与CUDA,鱼和熊掌可以兼得?
  5. 在网站插入优酷播放器的方法
  6. POJ-2488 国际象棋马的走法 (深度优先搜索和回溯)
  7. Java通过URL进行多线程下载
  8. 毕设分享SSM 中药店商城系统(含源码+论文)
  9. ECharts雷达图拐点表示数值大小
  10. kindeditor获取html,kindeditor肿么获取获取HTML数据