使用方法:extract file time step folder

time 设置时间长度

step 设置周期

均以秒(s)为单位

贡献:1. 从视频文件中周期性提取图片;2. Windows下批处理程序的一些技术。

依赖:mplayer

todo: 目前周期最小为1s,可以扩展使频率大于1Hz.

更详细的内容可以参考:

http://blog.csdn.net/xuyaqun/article/details/6077917

http://blog.csdn.net/aa846555831/article/details/53400974

http://blog.csdn.net/yjfkpyu/article/details/3694990

 @echo off

 :: extract frames
rem echo filename: %1
rem echo time: %2 s
rem echo step: %3 s
rem echo folder: %4 if "%4" equ "" (
echo Usage: extract file time step folder
echo file: mplayer can play
echo time unit: s
echo step unit: s
echo folder: snap saved folder
goto :end
) if not exist %4 mkdir %4 set /A length = %2 / %3
echo length: %length% setlocal enabledelayedexpansion set n=0
for /L %%i in (0, %3, %2) do (
:: progress info
set /A n += 1
set /A n = !n! %% 10
if !n! equ 0 (
set /A nth = %%i * 100 / %2
echo !nth! %%
) :: key command
mplayer -ss %%i -noframedrop -nosound -vo png -frames 1 %1 > nul :: save files because mplayer extracts frame in same name
set /A name = %%i / %3
move 00000001.png %4\!name!.png > nul
) :end

用mplayer从视频中按周期提取帧的更多相关文章

  1. 利用OpenCV存储一段视频中的每一帧

    // vfc.cpp : 定义控制台应用程序的入口点.#include "stdafx.h"#include <opencv2/highgui/highgui.hpp> ...

  2. 工作记录--使用FFmpeg将一个视频文件中音频合成到另一个视频中

    由于工作需要,临时被老大吩咐去研究一个FFmpeg工具,通过linux命令行去将一个视频中的音频提取出来并合成到另一个视频中,最终的效果是要保证2个视频中的音频都在一个视频中播放. 但是本人对FFmp ...

  3. Dance GAN 迁移不同视频中人物动作的方法

    该研究提出一种迁移不同视频中人物动作的方法.给出两个视频,一个视频中是研究者想要合成动作的目标人物,另一个是被迁移动作的源人物,研究者通过一种基于像素的端到端流程在人物之间进行动作迁移(motion ...

  4. (转)[视频压制/转换技术] I帧 B帧 P帧 IDR帧 等帧用途详细说明

    转:http://www.u2game.net/bbs/thread-46116-1-1.html 在视频压制.转换中,经常会看到:I帧 B帧 P帧 IDR帧 等名词,这里就是通用的解释一下这些帧的用 ...

  5. python 从视频中提取图片,并保存在硬盘上

    使用python的moviepy库来提取视频中的图片,按照视频每帧一个图片的方式来保存. extract images from video, than save them to disk from ...

  6. 利用Effmpeg 提取视频中的音频(mp3)

    在B站看到一个up发的病名为爱的钢琴曲,感觉很好听,然后当然是要加入歌单啊.然而不知道怎么转换成mp3,找来找去找到了EFFmpeg 这篇只是达到了我简单的需求,以后可能会有EFFmpeg更详细的使用 ...

  7. Python opencv提取视频中的图片

    作者:R语言和Python学堂链接:https://www.jianshu.com/p/e3c04d4fb5f3 这个函数就是本文要介绍的video2frames()函数,功能就是从视频中提取图片,名 ...

  8. 基音周期提取2-基于线性相关系数的Matlab实现

    基音周期提取2-基于线性相关系数的Matlab实现 基音周期提取结果 图1 基音提取结果 算法说明 线性相关系数 也称"皮尔逊积矩相关系数"(Pearson product-mom ...

  9. Pazera Free Audio Extractor 中文版 - 轻松将视频背景音乐/对话音频提取出来的免费软件

    这个软件是用来提取视频中的音频的,方便快捷.但是有一个问题,就是如果我提取的视频的名字中有不支持的字符(比如泰文)的时候,那么这个就提取不出来.所以如果名字中有不支持的字符的时候就要先改一个名字,然后 ...

随机推荐

  1. select 自匹配问题

    原生js给select赋值或者vue绑定数据,会自匹配下拉选项的value或者key,从而显示对应的label或者对应的option的html eg: 原生: <select name=&quo ...

  2. usb设备(移动硬盘或U盘),弹出时提示“有进程或程序占用,无法弹出”。解决办法

    测试环境:Win7(其他Windows系统环境,也可参考) 总结办法来源,https://bbs.csdn.net/topics/392297251?page=1文章中热心网友的评论指引 1. 控制面 ...

  3. GCC后端移植杂记

    为GCC后端移植新的处理器架构的确是一件非常痛苦的事情. 拿到GCC源码时,发现它的规模比预想中庞大得多,但好在体系结构十分清晰,前端后端高度解耦.解耦的关键就在于内部的RTL中间代码(表达形式类似于 ...

  4. Jupyter Notebook 快捷键使用指南

    因为使用Jupyter Notebook用鼠标选择菜单影响效率,遂将快捷命令记录于此 转自:http://blog.konghy.cn/2017/05/04/jupyter-notebook-hotk ...

  5. Java Enum 枚举类的values方法

    Enum类和enum关键字定义的类型都有values方法,但是点进去会发现找不到这个方法.这是因为java编译器在编译这个类(enum关键字定义的类默认继承java.lang.Enum)的时候 自动插 ...

  6. 转:vue项目如何刷新当前页面

    想必大家在刨坑vue的时候也遇到过下面情形:比如在删除或者增加一条记录的时候希望当前页面可以重新刷新或者如下面这种: 如果希望点击确定的时候,Dialog 对话框关闭的时候,当前http://loca ...

  7. ExpandableListView解析JSON数据

    效果图:                                       说明:刚开始使用这个控件我花费了3天的时间,但是一直都没有达到预期的效果,要么就是直接全部不显示,要么就是数据累加 ...

  8. 统一集中管理系统cronsun简介,替代crontab

    一.背景 crontab 是 Linux 系统里面最简单易用的定时任务管理工具,相信绝大多数开发和运维都用到过.在咱们公司,很多业务系统的定时任务都是通过 crontab 来定义的,时间长了后会发现存 ...

  9. Java8-函数式接口理解及测试

    1.  函数式接口的理解 根据重构的思想,需要把容易变化的模块进行抽象并封装起来,从这个点来看,Java8新引入的函数式接口就是基于这个思想进行设计的. 2. 函数式接口定义 2.1 自定义如下 需要 ...

  10. python note 16 re模块的使用

    1.re模块(#regex) # 查找 # findall : 匹配所有 每一项都是列表中的一个元素 import re ret = re.findall('\d+','dawdawd154wadwa ...