-
2021-05-25 11:54:57
基本思想:对视频进行批量截图和保存到各自命名的文件夹中
import cv2 import os import glob def save_img(): video_path = r'F:\sxj\20210526\A' videos=glob.glob(os.path.join(video_path,"*.avi")) for video_name in videos: file_name = video_name.split('\\')[-1].split(".")[0] folder_name = os.path.join(video_path ,file_name) os.makedirs(folder_name,exist_ok=True) floder_video=os.path.join(video_path,video_name) vc = cv2.VideoCapture(floder_video, cv2.CAP_FFMPEG) #读入视频文件 c=0 rval=vc.isOpened() while rval: #循环读取视频帧 c = c + 1 rval, frame = vc.read() if rval: fullPath=os.path.join(folder_name , file_name) print(fullPath) cv2.imwrite("".join([fullPath,'_' ,str(c) ,'.jpg']), frame) cv2.waitKey(1) else: break vc.release() print('save_success') print(folder_name) save_img()
更多相关内容 -
视频批量截图
2018-04-16 11:50:31视频批量截图视频批量截图视频批量截图视频批量截图视频批量截图 -
视频批量截图软件
2018-04-17 17:01:19支持对多个视频文件进行批量截图,同时支持自定义每个视频生成多少张截图,文件截取多个支持从文件夹以及列表文件内读取, -
智者视频批量自动截图软件 v0412免费版.zip
2019-07-15 08:14:35智者视频批量自动截图软件一款批量自动对视频进行截图的软件,支持按照秒数和按照个数方式截图。 智者视频批量自动截图软件截图 -
批量视频自动截图程序.zip
2020-04-22 12:39:17批量视频截图程序,可以自动识别文件夹以及子文件夹下所有的视频文件,并进行截图保存。可以自行设定视频格式以及截图的保存方式:合并后保存还是分立文件保存。 -
python批量截取视频某一帧图片可控制图片大小
2019-04-03 17:59:16用python tkinter开发的一个可以批量截取MP4视频的小工具,有界面可以直接操作(需要python环境) -
.bat 如何视频批量截图
2022-06-28 11:17:21bat 如何视频批量截图最近开发有一个小的需求,就是把批量的视频文件分别截图,百度一般推荐的是下载一个软件,然后进行处理.这样做 也有一些局现象不太灵活,而且不支持/处理不了那些只有链接的视频.....
所以,针对批量的话,我们建议使用 .bat批处理,
视频音频处理,一般采用的是ffmpeg技术,可处理
ffmpeg相关的,可参考:ffmpeg常用命令_大渔歌_的博客-CSDN博客
(当然,安装的方法我们暂时就不讲了,网上一大堆,而且很简单)
下面我们开始处理(其实也很简单,主要投放相关.bat 的代码内容):
1.ffmpeg截取图片的相关命令
ffmpeg -i 视频地址/视频链接 -y -f image2 -ss 开始时间点 -t 0.001 -s 图长*图宽 视频的名字
不得不说ffmpeg相当的厉害,不仅可以直接处理本地视频,而且还可以处理链接视频;
2. bat脚本内容如下
@echo off setlocal enabledelayedexpansion rem filename 为你存放链接的文件名字,只需要改这个名字就好 set /p filename=请输入文件名,比如urls(不需要带.txt): rem startpoint 开始的时间点, set /p startpoint=请输入开始的时间(格式 00:00:01): rem length 图片的宽 set /p length=请输入图片的宽: rem hight 图片的高 set /p hight=请输入图片的高: rem filepath为你存放链接的文件,一般为txt文件 set filepath=%filename%.txt rem errorfile为编译失败视频的存放文件,包含名字和链接 set errorfile=%filename%.error.txt echo %filepath% echo %errorfile% echo %startpoint% echo %length% echo %hight% for /F "eol=; tokens=1,2 delims=@" %%i in (%filepath%) do ( echo -------------------------------------------------- echo i=%%i, j=%%j rem 使用ffmpeg截取图片 ffmpeg -i %%j -y -f image2 -ss %startpoint% -t 0.001 -s %length%*%hight% %%i echo ++++++++++++++++++++++++++ if errorlevel 1 ( echo 111111111111111 false echo %%i >>%errorfile% echo %%j >>%errorfile% ) else ( echo 0000000000000 sucess ) ) pause
3.注意事项
我们把"视频截图后的名字@视频链接"作为相应的格式,整理所有的视频,然后写入urls.txt(eg:自行命名
57513-20220624.jpg@视频物理地址/视频链接地址
57514-20220624.jpg@视频物理地址/视频链接地址
57515-20220624.jpg@视频物理地址/视频链接地址
);
一定要保证该txt编码格式为ANSI, 也可以通过 文件-另存为-编码(ANSI) 来修改文件的编码格式;
该txt文件和 .bat文件放在同一文件夹下;
然后点击 .bat文件,会自动运行,然后根据提示选择文件名,选择开始时间点,设置图片宽高;
(当然也会有少数编译失败,对应的视频链接会存放在xxx.error.txt文件中)
4.总结
bat 批处理文件可结合ffmpeg处理好多的视频音频文件,可以自行设置相关的参数;
-
php自动获取文件夹内视频文件批量生成第一帧截图
2020-05-29 11:27:27video.php,自动读取所设定文件夹下所有视频文件,并批量生成第一帧截图,并压缩图片等方法封装。在平常做视频处理业务过程中封装的一些好用的方法,文件中每个方法都有做说明,简单易懂,现在共享出来方便大家使用 -
如何搞定视频批量截图?手工截图太麻烦,不妨用Python试试
2020-11-30 02:20:14需求背景有一个需求,要在视频中进行截图,人工处理的话,就是要求选择一些比较精彩的镜头进行手工截取图片,这就意味着,每个视频都要自己去看一遍,然后选择比较好的镜头截图保存。但是这种方法有很多弊端:视频有...需求背景
有一个需求,要在视频中进行截图,人工处理的话,就是要求选择一些比较精彩的镜头进行手工截取图片,这就意味着,每个视频都要自己去看一遍,然后选择比较好的镜头截图保存。
但是这种方法有很多弊端:
视频有很多,一个一个地看浪费时间和精力。一个视频里要截很多图片,手动截取比较慢。手工截取的图片如果不注意,会把视频边缘的播放器边框、外部背景给截到,然后会有黑边、白边等问题。
于是迫切需要一个自动化的工具,能够对视频进行截图,按照一定的规则截取,比如按照时间间隔、时间点、帧数等等进行截图,哪怕是截出来的图片可能镜头不是很好,截完图后再去人工筛选也是比较快的。
利用现在比较火的语言——Python进行视频截图
Python是比较好上手的一个编程语言了,而且最近一直挺火的,主要是其强大的类库,省去了大量的造轮子的过程,让编程更加专注于业务本身,更加专注于实现你的目的。
而且Python这门语言不难,会点计算机知识、会点编程的应该一学都会了。
利用Python进行视频截图,是一件相对比较容易实现的事情,而且一旦写成,一劳永逸,能节省掉后期大量手工截图花的功夫,有那个时间,喝喝茶、看看剧不是挺好吗?
这篇文章目的也是为了照顾各种小白,让大家更好的理解,所以介绍的会比较通俗一些。
好了,那么就让我们开始吧!
首先安装Python
这个就不用多说了吧,大家直接去Python官网下载安装包。
然后安装即可。实在不会的话,百度一下有很多安装教程,照葫芦画瓢一学就会。这不是本文的核心,因此不做过多展开了。
选择你喜欢的IDE(开发工具)或者编辑器写代码
这里笔者比较推荐使用vscode和pycharm。
vscode是微软推出的一款强大的编辑器,支持各种语言的开发,以及文本文档的编写。其强大的插件机制,让一款编辑器可以跃身成为一款强大的“IDE”。
pycharm是一款jetbrains公司推出的,专门用于python开发的IDE,非常强大好用。
二者选其一,轻量级的选vscode会比较好。(推荐)
创建video_capture.py
创建一个py脚本文件,取名的话,你可以随意,我这里取名为:video_capture.py
这个脚本文件就是我们要写代码的地方了。
安装opencv-python这个类库
opencv这个类库时需要先安装才能使用。
按 Win + R组合键,调出搜索框,输入cmd,回车打开命令行。
在命令行中输入下面这行内容进行安装:
pip install opencv-python但是可能会安装失败:
这是因为源的问题,改成阿里源就能安装成功了!
pip install opencv-python -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
嗯,这样就安装成功了。
开始写代码
首先,导入cv2:
import cv2
再导入os库,创建文件要用:
import os
打开视频文件,这一步是获取一个视频截图的对象。
cap = cv2.VideoCapture(video_path)
获取视频的总帧数:
total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
获取视频的帧率:
fps = cap.get(cv2.CAP_PROP_FPS)
然后就能得到视频的总时长:
duration = total_frames / fps
拿到总时长的目的,就是为了后面能够根据时间来截图。
提前创建好截图保存的目录:
try:
os.mkdir(self._output_path)
except OSError:
pass
然后一个比较关键的地方是计算时间点:
msec = (1000 * start_time + count * 1000 * time_interval)
其中start_time是起始时间的秒数,time_interval是时间间隔的描述,这个用来每隔多少秒进行截图。
计算得到的msec就是视频时间点的毫秒数了,然后使用这个时间设置视频的时间位置:
(1000 * self._start_time + count * 1000 * self._time_interval)
这个函数,就是把视频的拉到指定时间的位置,就和你自己在播放器上拖动视频的进度条一样。
然后读取视频的这一帧图片。
success, image = cap.read()
返回值success是bool值,true或者false,true就表示读取成功,false就是失败。
返回值image就是这个时间点的图片了。
然后就是将这个图片进行保存,存储在指定的路径中。
cv2.imwrite(out_path, image, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
out_path就是要存储的路径+文件名,image是当前截取的这张图片,后面的参数是设置图片质量,这个设置100就行,最高质量。
这就完成截取图片了。
简单吗?
其实简单来说,就是分三步:
设置视频时间点。读取图片。保存图片。
是非常简单了。这样子,只要加上相应的循环控制条件,从start_time循环到end_time,然后每一个时间间隔time_interval截取一张图,这样就能对视频按时间间隔截取批量的图片了。
扩展实现:获取指定时间点的图片
这个可以想象一下,只要给出视频的小时数、分钟数、秒数,比如这种格式:
01:31:40
这就意味着要截取一小时三十一分四十秒处的图片。
然后将这个时间格式转化为毫秒数msec,然后通过
cap.set(cv2.CAP_PROP_POS_MSEC, msec)
设置视频的时间点,然后进行读取、保存就ok了。
总结
然后通过这个就能够进行一些额外的扩展,比如获取指定时间范围内的视频截图?
只要制定开始时间start_time,截止时间end_time,然后对这个范围内按照时间间隔进行截图,就ok了。
希望能给你们启发!
完整的python代码脚本,想要获取的话,可以关注并私信我,发送“视频截图Python脚本”,我看到后会直接发给你的。
我是大师兄,一枚计算机专业研究僧,如果你有什么疑问,或者有什么观点,都可以在评论区发表看法,或者私信我。大家一起共同探讨。
如果你也和我一样,热衷于技术,热衷于科技、互联网,不妨点个关注吧,我会持续分享干货知识、经验和观点总结。
-
python实现批量视频分帧、保存视频帧
2020-09-19 08:19:22主要为大家详细介绍了python实现批量视频分帧、保存视频帧,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
Mac视频如何截图?( SnapMotion for Mac 5.0.4 中文)
2022-01-18 10:36:04SnapMotion是从视频中提取图像的最具创新性和最常用的工具。该应用程序允许您精确地提取帧,而不会损失质量,并且操作简单。 SnapMotion旨在支持4K电影等大型视频文件,并在需要时提取媒体的每一帧。该应用程序可以...你还不知道Mac电脑如何给视频截图吗?可以试试小编的方法,SnapMotion是从视频中提取图像的最具创新性和最常用的工具。该应用程序允许您精确地提取帧,而不会损失质量,并且操作简单,需要的朋友,快来试试吧!
SnapMotion旨在支持4K电影等大型视频文件,并在需要时提取媒体的每一帧。该应用程序可以播放macOS本机支持的每个视频。此外,它还可以将图像导出为所有行业标准格式,包括PNG,JPEG,TIFF和HEIC。
提供两种模式:
1、手动模式,允许您在选定的时间精确提取图像。
2、批处理模式,允许您同时提取数千个图像。
SnapMotion 功能介绍
- 在社交网络上分享图像(Facebook,Twitter,...)
- 拖放图像以导出
- 从快照创建动画GIF
- 直接在播放器中旋转视频
- 在粘贴板中复制提取的图像
- 自定义输出文件名
SnapMotion 特色
SnapMotion具有漂亮而清晰的界面,可让您精确地提取图像。它集成了您首选的社交服务以共享图像。此外,您可以构建动画图像。
捕捉多个帧
选择多个帧并拖放以导出它们。
分享服务
使用您首选的社交服务与朋友分享图像。
构建动画图像
您可以重新排序快照以将动画图像创建为GIF。
包括批处理
高级用户可以轻松拖放文件夹以打开位于子目录中的电影。可以同时启动多个任务,自动提取数千个图像。
针对最新版本的macOS进行了优化
SnapMotion支持macOS的最新功能,如触摸栏和通知中心。该应用程序尽可能高效,并使用您机器的所有处理器。
-
【python】opencv教程CV2模块——批量视频截屏
2021-01-29 22:16:22opencv教程CV2模块——批量视频截屏这个功能可以拓展为视频初审吧,毕竟人工审核视频如果需要全部播放完的话,太耗费时间了,看图片就快得多了。import cv2import osimport sys# 第一个输入参数是包含视频片段的路径... -
Python调用ffmpeg开源视频处理库,批量处理视频
2020-12-16 22:21:03代码示例 # coding=utf-8 import os import subprocess import datetime import json, pprint import re, time import threading import random import shutil ... def __init__(self, editvdo, addlogo=None, ... -
python视频截图
2022-01-13 16:58:52截取某一个文件夹的全部视频,生成对应视频的对应图片文件夹。 二、实现 1、截图实现 videoCapture = cv2.VideoCapture(videopath) if videoCapture.isOpened(): rval, frame = videoCapture.read() else: ... -
视频截图王 批量视频截图
2009-05-19 16:11:25“视频截图王”可以批量将你电脑上的视频文件生成截图。当你有太多的视频,你可以利用ACDSEE等图片浏览工具到图片库中快速翻阅,找到你想要的。 -
ffmpeg批量生成视频截图软件
2021-04-27 05:02:45and tagged ffmpeg, 截图, 视频. Bookmark the permalink. 月小升QQ 2651044202, 技术交流QQ群 178491360 首发地址:月小升博客 – https://java-er.com/blog/ffmpeg-avi-png/ 无特殊说明,文章均为月小升原创,欢迎... -
批量视频截图软件 源代码
2013-04-19 15:45:21自己编写的批量视频截图软件,基于VS2010,采用Directshow技术、多线程,可以导入文件夹下所有视频,选取截图数量,自动截图,减轻了视频网站工作人员的大量工作! -
SnapMotion for Mac(视频截图工具)
2020-11-27 16:16:00snapmotion mac具有漂亮简洁的界面,可以帮助用户快速地抓取视频文件中任何指定位置的截图,也可以按照用户的需求调整截图大小。除此以外,用户可以使用snapmotion mac构建动画图像。 snapmotion mac软件介绍 ... -
Python批量处理文件、图片、视频【干货建议收藏】
2020-04-03 23:16:14批量筛选2.批量重命名3.批量保存、复制或移动4.批量下载图片5.批量压缩图片 1.批量筛选 切片 切分 正则 2.批量重命名 直接修改 os 根据规则修改 3.批量保存、复制或移动 复制 移动 保存 保存图片 保存txt... -
Shake来做视频批量截图
2009-11-16 16:48:43本来一直用ffmpeg来获取视频文件的截图,后来发现Apple ProRes的格式,ffmpeg怎么都无法解码。只好用Apple Shake本身了。 截取一个mov文件的第一帧的命令是: [code="shell"] shake -filein sample... -
截图视频图片
2018-06-14 10:12:28截图视频某一帧保存为图片,需要Python环境支撑, 可以控制图片大小,类型 -
怎么快速一键批量给视频添加封面?
2022-02-08 11:33:51想要一键批量给视频添加一个封面可以用什么方法呢?今天小编就来教大家一个简单的操作方法来一键批量给视频添加封面,现在一起来看一下吧! 在浏览器搜索【固乔科技】,然后在主页找到【固乔智剪软件】,点击免费... -
视频批量去水印工具_一键去除视频水印
2022-01-19 11:13:48软件截图: 操作说明: 1、安装水印云去水印软件并在电脑上运行。 2、点击添加需要处理的图片或...网址https://www.shuiyinyun.com/inpaint-video.htmlhttp://视频批量去水印工具_一键去除视频水印 ... -
极客学院课程视频批量下载辅助工具
2016-01-11 16:07:10但普通用户不支持视频下载,基于学习的需要,有时需要下载视频进行离线学习,故本人开发了一个视频批量下载辅助工具,结合迅雷实现视频批量下载,欢迎有需要的下载使用,里面有具体的使用说明截图 -
如何实现批量截取整个网页完整长截图,批量将网页保存成图片web2pic/webshot/screencapture/html2picture
2020-12-08 23:29:04有很多淘宝或天猫、京东店铺爆款商品宝贝需要截图,那么多嫩不能批量截图?网红微信公众号文章、名人微博文章很好,如何保存成图片收藏下来或者自己加工成高流量文章?网页设计师看到很有设计... -
抖音视频链接批量无水印下载 v0704.rar
2019-07-08 08:16:09抖音视频链接批量无水印下载是一款针对最近火热的抖音短视频平台进行批量采集下载无水印视频的软件,它可以帮你自动采集指定链接的抖音无水印短视频。 抖音视频链接批量无水印下载...抖音视频链接批量无水印下载截图 -
中国大学mooc和BiliBili视频批量下载
2019-10-22 19:55:31因为马上要开始考数学物理方程和概率论了,超超的心里一阵忐忑啊!于是想在B站和慕课上找些视频来预习一下,但是在看的过程中...但是超超还是稍稍有点“自觉”的孩子,于是在互联网上找到了批量下载慕课和B站视频... -
批处理bat命令快速截图
2019-11-29 15:01:33******批处理bat命令快速截图******** set "p=E:\Test\" ::设置截图保存的路径,注意结尾要有\ set t=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2% ::设置当前的时间,用于截图的命名 ... -
批量截取MP4时间段内高清图片 Python+ffmpeg
2019-05-19 17:11:57批量截取MP4两个时间(如12:10到12:18)之间的图片,-r 1 按一秒一截取,-r 24一秒24帧截取,之所以每秒每秒调用ffmpeg,每次截取1s的两张,是因为直接ffmpeg截取超过1s的视频图像,后续的图片失真非常严重。... -
批量对图片文件夹自动识别并截取人脸区域分类保存
2020-05-28 15:59:14本软件应用于windows平台,支持批量截取人脸,成功率很高,自动定位人脸,裁取人脸,对于识别不成功自动归类,结果仅供参考,请勿用在商业用途,侵权请联系,会及时删除。喜欢请支持,siesie~