使用avs脚本自适应去掉视频重复帧
来源:互联网 发布:友价源码怎么样 编辑:程序博客网 时间:2024/06/05 04:36
本来是录屏来着,后来发现由于电脑问题,录制下来的视频有明显的卡顿
后来就想到要抽取视频操作中画面相同的帧(不是普通的间隔抽帧),不高兴自己写程序了
就想到ae或者edius中处理,但是发现没有可用的插件
于是继续往上找旁门左道
发现avs(AviSynth)可以脚本控制视频压缩,另外也可以下载到一个插件进行抽帧dedup
下载了插件,然后发现AviSynth没有界面,无奈再下个软件megui进行视频转换
LoadPlugin("C:\Program Files\avisynth 2.5\plugins\dedup.dll")avisource("C:\test.avi")DupMC(log="log.txt")DeDup(threshold=0.00001, trigger2=100, show=false, dec=true, maxcopies=20, maxdrops=20, log="log.txt", times="times.txt")
上面就是自适应抽重复帧的代码,网上找的,开始发现也比较不靠谱
后来试了好一会才成功,
主要错误有
first pass missed frame 0
这个是由于没有生成log文件造成的,
这里面需要用两部分进行,第一步是检测帧之间的相同率,第二部才是抽帧和转换
第一步,有时候也会就是在avs中写脚本,其实后来发现不用……直接用记事本就行了,改个后缀avs,(中间还下了个AVSWriter,发现完全没必要)
开始时代码中的前三句就成,然后改好了需要处理视频的地址后
直接拖入script之后成功 就自动回跳出视频,如果有不成功的,就会爆各种错,一般是avi格式有问题,丢到各种转换视频工具里转个标准avi格式出来吧
此时不要关闭跳出来的视频,什么的都不动的情况下,你会发现目录中多了一个log文件,没错就是log.txt记录帧与帧之间的差异的
打开看看发现里面只有几行
所以现在要做的就是把进度条拉到开始,进行播放就行了,播放完了后 ,log里面记录就全了
如下
...
frm 50: diff from frm 51 = 21.6560% at (224,224)
frm 38: diff from frm 39 = 0.0382% at (448,0)
frm 32: diff from frm 33 = 6.5185% at (448,192)
frm 25: diff from frm 26 = 0.3250% at (512,224)
frm 20: diff from frm 21 = 12.3163% at (480,224)
frm 15: diff from frm 16 = 13.6303% at (512,256)
frm 12: diff from frm 13 = 12.7086% at (512,288)
frm 10: diff from frm 11 = 11.5168% at (512,288)
frm 8: diff from frm 9 = 5.3191% at (544,288)
frm 6: diff from frm 7 = 0.4933% at (96,224)
...
然后把视频关了,其他什么都别动,把脚本三句脚本最后一句删了,改成上面四句的最后一句,
再次拖进去,一般不会报错,如果有错,看看log文件生成对了吗,对了一般就没错了
然后就能选右下角自动编码了,一路点下去,最好也导出avi的,最后确认就行了
抽完之后的视频明显流畅很多了,
不满意的话还能调节DeDup参数,扩大阈值就会抽掉更多,但是每次最多只能抽20,这个比较怨念,但也容易解决
- 使用avs脚本自适应去掉视频重复帧
- 视频AVS技术综述
- AVS+.H264压制视频
- AVS视频标准
- 超碰在线视频网站源码,AVS超碰源码,国外视频**脚本搭建教程
- MPEG2音视频同步AVS
- AVS
- 使用awk去掉重复的单词
- AVS高清立体视频编码器
- 使用一条语句去掉表中的重复记录
- 使用DISTINCT去掉重复,并查询所有字段
- 使用泛型去掉数组中的重复数字
- 使用C语言去掉字符串集合重复元素
- 使用javascript去掉数组中重复元素的方法
- 使用awk去掉文件中某列重复的行
- 蓝桥杯.取字符(去掉重复的使用set list实现)
- H.264与AVS视频标准核心技术比较
- 国标号GB/T 20090.2-2006 AVS视频批准
- do...while(0)的妙用
- Sundy嵌入式底层开发课程笔记 --Vi的设计思想及使用
- winform中的单例模式
- FastDFS之客户端与Tracker通讯
- shell简介:shell是一个命令解释器
- 使用avs脚本自适应去掉视频重复帧
- 瀑布流布局
- Hibernate session 操作 插入 删除 更新 get和load
- 卡特兰数
- 为什么全局描述符表GDT的第0项总是一个空描述符
- 杭电2082——找单词
- Oracle 第一周.
- 降阶法计算行列式方法有个地方有Bug(原文也已更正,此为更正后部分)
- 打造离线版 123D Catch