一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Backend

ffmpeg基础使用

参考 ffmpeg常用命令 ffmpeg参数中文详细解释 [总结]FFMPEG视音频编解码零基础学习方法 一、安装 打开https://ffmpeg.zeranoe.com/builds/,该网站中的FFMPEG分为3个版本:Static,Shared,Dev。 前两个版本可以直接在命令行中使用,他们的区别在于:Static里面只有3个应用程序:ffmpeg.exe,ffplay.exe,ffprobe.exe,每个exe的体积都很大,相关的Dll已经被编译到exe里面去了。Shared里面除了3个应用程序:ffmpeg.exe,ffplay.exe,ffprobe.exe之外,还有一些Dll,比如说avcodec-54.dll之类的。Shared里面的exe体积很小,他们在运行的时候,到相应的Dll中调用功能。Dev版本是用于开发的,里面包含了库文件xxx.lib以及头文件xxx.h,这个版本不包含exe文件。 这里下载了static版本,是个zip压缩文件,解压到指定目录,去配置环境变量,比如e:\ffmpeg20180919\bin,这样bin下面的ffmpeg.exe就可以在命令行中使用了,可以用ffmpeg -version测试一下: image.png 放一个mp4视频,然后把声音提取到output.acc,用命令测试一下:ffmpeg -i mov_bbb.mp4 -acodec copy -vn output.aac 二、常用命令 主要参数:

视频参数:

音频参数:

1. 视频格式转换 (其实格式转换说法不太准确,但大家都这么叫,准确的说,应该是视频容器转换) 比如一个avi文件,想转为mp4,或者一个mp4想转为ts。 ffmpeg -i input.avi output.mp4 ffmpeg -i input.mp4 output.ts 插个号外:某天我在知乎上看到一段视频,想转给微信好友看,怎么操作呢。这里参考如何全自动下载知乎上的视频到本地(注意不要滥用),先打开要观看的视频页面,再F12清空,然后开始播放视频,就能看到类似https://vdn.vzuu.com/SD/49c84c7c-c61a-11e8-8bad-0242ac112a0a.mp4?auth_key=1539832492-0-0-c61c22f39c&expiration=1539832492&disable_local_cache=1这样的字符串,然后用ffmpeg -i "https://vdn.vzuu.com/SD/49c8…" output.mp4即可下载。弄到电脑上,用电脑QQ发送到手机QQ上,在手机QQ上点击选择保存到手机上。然后在微信里选照片就能看到这个视频了(注意视频文件不要超过20M,另外最开始用的不是电脑QQ,而是百度网盘,发现不行……)。 2. 提取音频 比如我有一个“晓松奇谈”,可是我不想看到他的脸,我只想听声音, 地铁上可以听,咋办? ffmpeg -i 晓松奇谈.mp4 -acodec copy -vn output.aac 上面的命令,默认mp4的audio codec是aac,如果不是会出错,咱可以暴力一点,不管什么音频,都转为最常见的aac。 ffmpeg -i 晓松奇谈.mp4 -acodec aac -vn output.aac (-vn 不处理视频 ) 3. 提取视频 我目测有些IT员工,特别是做嵌入式的,比如机顶盒,想debug一下,没有音频的情况下,播放一个视频几天几夜会不会crash,这时候你需要一个纯视频文件,可以这么干。 ffmpeg -i input.mp4 -vcodec copy -an output.mp4 -an 不处理音频 4. 视频剪切 经常要测试视频,但是只需要测几秒钟,可是视频却有几个G,咋办?切啊! 下面的命令,就可以从时间为00:00:15开始,截取5秒钟的视频。 ffmpeg -ss 00:00:15 -t 00:00:05 -i input.mp4 -vcodec copy […]

龙生   09 Jul 2019
View Details

安装sass,npm install node-sass --save报错的原因和解决办法

Vue安装sass的命令: 1、npm install node-sass --save-dev 2、npm install sass-loader --save-dev 在进行第一步的时候,我们会发现用报了下面这个的错,在百度一下问题的时候,发现原因是: 首先要知道的是,安装 node-sass 时在 node scripts/install 阶段会从 github.com 上下载一个 .node 文件,大部分安装不成功的原因都源自这里,因为 GitHub Releases 里的文件都托管在 s3.amazonaws.com 上面,而这个网址在国内总是网络不稳定,所以我们需要通过第三方服务器下载这个文件。 解决方法: 1、首先安装淘宝镜像

  2、 用cnpm重新安装一次 cnpm install node-sass --save-dev cnpm install sass-loader --save-dev 这样就可以把问题解决了(^_^)   from:https://blog.csdn.net/lgysjfs/article/details/83039906

龙生   08 Jul 2019
View Details

数据库,使用Druid 加密数据库密码

首先我们得下载一个druid-1.0.16.jar的包 其次键入命令 java -cp druid-1.0.16.jar com.alibaba.druid.filter.config.ConfigTools your_password 这时候会生成privatekey,publickey,以及password,相关的截图如下 注意1:如果使用的不是druid-1.0.16.jar可能只会生成一个password。 注意2:如果没配置好,可能会报一大推奇奇怪怪的错误,比如:org.springframework.beans.factory.BeanCreationException: Error creatingbean with name 'shiroFilter':….     配置Druid解密数据库密码 jdbc.type=mysql jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/jesng?useUnicode=true&characterEncoding=utf-8 jdbc.username=root jdbc.password=IVpkS/WvZQKLcm4+f7xlLFo5FzxGIj3O1br9TcvLlq2a17mmt0SWe9Qq1hyVKsnbsRdU6FKTItc6vVIF9RRpTw== jdbc.publickey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKYBLQ067pCDwEfysD6rAIWZD4C2K7BO09NFYMmA+VD4i+28znGk9F3w3uCFp6vYf633rPJpx+hoHU/+9gBIewUCAwEAAQ== 配置Druid解密数据库密码的主要新增的两行配置。 1、<property name="connectionProperties" value="druid.stat.slowSqlMillis=5000;config.decrypt=true;config.decrypt.key=${jdbc.publickey}"/> 作用:配置ConfigFilter解密密码  ,注意出的publickey对应 2、<property name="filters" value="config" />   作用:提示Druid数据源需要对数据库密码进行解密   from:https://www.cnblogs.com/xiaohu1218/p/7791986.html

龙生   08 Jul 2019
View Details

Idea error:程序包javax.servlet.http不存在

1.idea 初始配置的tomcat7,配置spring boot项目启动失败,单个controller都启动失败,原因是idea内置tomcat7,会失败 2.idea需要配置tomcat8.然后加载依赖关系 a. idea项目左上角,file-->project structure 配置依赖 b.点击libraries  右侧有一个加号点击然后添加 c.找到tomcat lib文件夹,依赖lib文件夹即可   from:https://blog.csdn.net/qq_33919114/article/details/79232774

龙生   05 Jul 2019
View Details

点击劫持漏洞:使用X-Frame-Options 解决方法(应用tomcat)

发现项目中存在 X-Frame-Options 低危漏洞: 使用 X-Frame-Options X-Frame-Options 有三个值: DENY 表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。 SAMEORIGIN 表示该页面可以在相同域名页面的 frame 中展示。 ALLOW-FROM uri 表示该页面可以在指定来源的 frame 中展示。   换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。 另一方面,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套。   配置 Apache 配置 Apache 在所有页面上发送 X-Frame-Options 响应头,需要把下面这行添加到 'site' 的配置中:

  配置 nginx 配置 nginx 发送 X-Frame-Options 响应头,把下面这行添加到 'http', 'server' 或者 'location' 的配置中:

  配置 IIS 配置 IIS 发送 X-Frame-Options 响应头,添加下面的配置到 Web.config 文件中:

  配置 TOMCAT “点击劫持:X-Frame-Options未配置” 因为项目使用的是tomcat服务器,我们不可能在每个页面去添加:  

    因此我们使用过滤器,代码如下:  

  通过以下配置,好像就没有在扫描出来该漏洞信息。   你配不上自己的野心 也辜负了所受的苦难 from:https://www.cnblogs.com/wdnnccey/p/6476518.html

龙生   02 Jul 2019
View Details

git清除本地账户

删除保存在本地的git账户

缓存账户

  from:https://blog.csdn.net/big_sea_m/article/details/85341821

龙生   02 Jul 2019
View Details

Java Web项目漏洞:检测到目标URL存在http host头攻击漏洞解决办法

背景 项目上线之后使用绿盟或Acunetix安全扫描工具扫描后发现了头攻击漏洞。截图如下: 漏洞提示 检测工具在检测出漏洞后给予的提示为: 大意为不要使用request中的serverName,也就是说host header可能会在攻击时被篡改,依赖request的方法是不可靠的,形如JSP头部中的:

这样的使用方法就会被漏洞检测工具查出来,认定有头攻击漏洞。 解决办法 提示中说,如果是php的话不要用_SERVER[“HTTP_HOST”],apache和Nginx通过设置虚拟机来纪要非法header,而web开发中常见的运行容器就是tomcat,网络查找出的解决方案大多不适用,最后,我们找到了一个折中的办法。 主要解决办法,就是在请求拦截上面做host合法性校验,拦截掉非法请求。

上述代码是常见的web系统拦截器doFilter方法,我们在方法开始的地方做host判定,如果不在白名单内,则返回403状态码。漏洞工具收到403后认为访问请求已被终止,就不会报错了。 其中,ServerWhiteListUtil.isWhite(requestHost))方法:

配置项serverWhiteList.json文件(放置在src根目录或resource配置目录,根据项目框架来定):

  from:https://blog.csdn.net/ahuyangdong/article/details/79091699

龙生   02 Jul 2019
View Details

Asp.Net Core连接多个数据库

1.首先要有对应的context实体类, 多个实体类的构造函数的参数都应该是集合

  2.在appsettings.json中进行配置数据库连接的信息

  3.在startup.cs文件中注册数据库上下文的信息

  然后就可以了,在使用的地方引入上下文就可以了

  from:https://www.cnblogs.com/xuqp/p/9707469.html

龙生   29 Jun 2019
View Details

Asp.Net Core 使用中间件拦截请求和返回数据,并对数据进行加密解密

GitHub demo https://github.com/zhanglilong23/Asp.NetCore.Demo 本项目使用中间件拦截请求数据,并对请求数据解密。 访问接口成功后拦截返回数据,然后将返回数据加密后返回。 其中log4net部分不再赘述(demo中有介绍) 将Post方法中Body中的数据进行AES解密 将返回数据进行AES加密 1:自定义中间件,并默认实现Invoke方法. 附带使用日志记录错误和访问时间等,写的比较糙。

  2:实现中间件扩展

  3:在Startup使用中间件

  from:https://blog.csdn.net/a123_z/article/details/94011395

龙生   29 Jun 2019
View Details

.Net Core api 中获取应用程序物理路径wwwroot

如果要得到传统的ASP.Net应用程序中的相对路径或虚拟路径对应的服务器物理路径,只需要使用使用Server.MapPath()方法来取得Asp.Net根目录的物理路径,如下所示:

  但是在ASPNET Core中不存在Server.MapPath()方法,Controller基类也没有Server属性。   在Asp.Net Core中取得物理路径: 从ASP.NET Core RC2开始,可以通过注入 IHostingEnvironment 服务对象来取得Web根目录和内容根目录的物理路径,如下所示:

ASP.NET Core RC1 在ASP.NET Core RC2之前 (就是ASP.NET Core RC1或更低版本),通过 IApplicationEnvironment.ApplicationBasePath 来获取 Asp.Net Core应用程序的根目录(物理路径) :

from:https://www.cnblogs.com/gygtech/p/9909222.html

龙生   29 Jun 2019
View Details
1 108 109 110 282