Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python从视频中提取幻灯片_Python_Video_Image Processing_Video Capture_Video Processing - Fatal编程技术网

如何使用python从视频中提取幻灯片

如何使用python从视频中提取幻灯片,python,video,image-processing,video-capture,video-processing,Python,Video,Image Processing,Video Capture,Video Processing,我有一个视频培训课程作为AVI文件提供。大多数屏幕显示为幻灯片,鼠标指针在其上移动 我想在屏幕更改时自动捕获幻灯片的屏幕截图(当图像因鼠标指针移动而发生少量更改时忽略) 我想这样做,这样我可以将图像粘贴到word或html文档中,我可以在学习时添加注释,就像我正在拍摄屏幕截图一样,但它非常缓慢和乏味,而且课程非常长(大约24小时的总播放时间) 我很了解python,但不确定如何从视频文件中提取静物,然后如何将一个静物与另一个静物进行比较,看看它们之间有多大的差异,以决定保留哪个和丢弃哪个 有人能

我有一个视频培训课程作为AVI文件提供。大多数屏幕显示为幻灯片,鼠标指针在其上移动

我想在屏幕更改时自动捕获幻灯片的屏幕截图(当图像因鼠标指针移动而发生少量更改时忽略)

我想这样做,这样我可以将图像粘贴到word或html文档中,我可以在学习时添加注释,就像我正在拍摄屏幕截图一样,但它非常缓慢和乏味,而且课程非常长(大约24小时的总播放时间)

我很了解python,但不确定如何从视频文件中提取静物,然后如何将一个静物与另一个静物进行比较,看看它们之间有多大的差异,以决定保留哪个和丢弃哪个

有人能建议怎么做吗?

像这样的工具适合从视频中提取图像。从手册中:

 ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg
这将每秒从视频中提取一个视频帧,然后 将它们输出到名为
foo-001.jpeg
foo-002.jpeg
等文件中。 图像将重新缩放以适应新的WxH值

然后,可以通过和/或来比较它们之间的差异

编辑:我刚刚意识到,只抓取(帧内)可能会更有效,因为这些发生在场景发生剧烈变化时。在谷歌上快速搜索,我们发现:

ffmpeg -i foo.avi -vsync 0 -vf select="eq(pict_type\,PICT_TYPE_I)" -s WxH -f image2 foo-%03d.jpeg

你基本上想要的是场景检测。在Python中是一个教育性的概念证明,它确实做到了这一点,并且应该为了解问题本身提供一个良好的起点

至于自己实现它,它是将视频转换为帧序列的理想工具——我可能不会尝试在纯Python中实现这一部分

为了计算帧之间的差异,您可以使用ImageMagick(特别是它的工具)。例如,ImageMagick有几种Python绑定,仅举两种


您还可以使用来进行图像分析。OpenCV是一个高性能、高质量的计算机视觉算法库,如果不是最强大的工具,它可能是其中之一。但是,它有点假设您对计算机视觉/图像处理有一定的了解,并且已经对所要查找的内容有了很好的了解。

从视频演示文稿中提取幻灯片/帧有几个原因,尤其是在教育或会议相关视频的情况下。它允许您访问学习笔记,而无需观看整个视频

我已经多次遇到这个问题,所以我决定自己使用python为它创建一个解决方案。我已经使代码开源,您可以轻松地设置此工具并通过几个简单的步骤运行它

有关详细信息,请参阅此。 有关如何使用此工具的步骤

  • 克隆
  • 通过运行“pip安装-r requirements.txt”来设置您的环境
  • 复制您的视频路径
  • 运行“python video2pfslides.py”

轰!pdf幻灯片将在输出文件夹中提供,请记录并欣赏

谢谢。第二个例子是,即使使用最新版本的ffmpeg,我也无法开始工作。第一个示例适用于我需要的。@zio请确保您设置了所需的宽度和高度参数(WxH),即1280x720。最后的命令如下:./ffmpeg-I foo.avi-vsync 0-vf select=“eq(pict_type\,pict_type_I)”-s 1280x720-f image2 foo-%03d.jpeg谢谢。比较工具与python中的imagemagick一起非常适合我。