Skip to content

fishyy119/PPTVideo_to_image

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PPTVideo_to_image(Cpp_branch)

开发环境与依赖项

编译器:MinGW-W64 x86_64-14.2.0-release-posix-seh-ucrt-rt_v12-rev0

C++标准:C++17

其他依赖项:OpenCV 4.4.0

关于功能

本程序通过将视频各帧进行提取,使用感知哈希算法计算图片相似度,最终将视频各个不相似帧提取为图片输出。

在基本功能的基础上,本程序还提供了以下功能

  1. 指定输入视频的某一个片段,仅针对此片段进行处理
  2. 在控制台进行日志输出,提示处理进度

本程序提供了以下的自定义参数

  1. 输入视频文件
  2. 输出文件夹
  3. 目标视频片段起点时刻
  4. 目标视频片段终点时刻
  5. 跳帧幅度

    考虑到PPT视频具有大量连续重复帧,其持续时间大多数情况下以秒或分钟计,本程序默认每30帧一读取,大多数情况下不会有丢页情况。

    考虑到实际情况,跳帧幅度也可调整为更大

    对于某些特殊的快速翻页片段,也可使用更小的跳帧幅度进行二次提取

  6. 进度提示间隔
  7. 相似度比较阈值

    此值为非负整数,是图像感知哈希值的汉明距离的阈值,此值越小,则对于图片相似度的判断越严格 ,默认值为4

    特别地,当此项为0时,所有截取到的帧都会被输出,相似性判断失效

    当此项为1时,相似度判断最为严格

    在此项为1时,可能会出现一页ppt重复输出的现象,但是对于带有动画的视频不会有漏帧的现象(即两页PPT的中间动画状态被输出的同时,第二页PPT由于与中间状态相似而没有被输出,对于使用了淡入淡出动画的PPT影响尤为明显)

运行方式

交互式运行

不带参数直接启动程序,会依次提示输入各项参数:

.\PV2i.exe

非交互式运行

可通过命令行一次性传入参数,启动后不再询问输入:

.\PV2i.exe --input 1.mp4 --output out --start 0 --end 10 --frame-skip 30 --progress-interval 5 --threshold 4

如需禁用进度输出,可加:

.\PV2i.exe --quiet --input 1.mp4 --output out

如果需要“命令行预填 + 继续交互确认”,可加:

.\PV2i.exe --interactive --input 1.mp4

支持的命令行参数

  • -i, --input <PATH>:输入视频文件路径
  • -o, --output <PATH>:输出文件夹路径
  • -s, --start <MIN>:起点分钟数
  • -e, --end <MIN>:终点分钟数,-1 表示到视频结尾
  • -f, --frame-skip <N>:跳帧检测值
  • -p, --progress-interval <MIN>:进度提示间隔(分钟)
  • -t, --threshold <N>:相似度比较阈值
  • -q, --quiet:安静启动,禁用进度输出
  • --interactive:即使已传入参数,也进入交互式确认
  • -h, --help:显示帮助信息
  • -v, --version:显示版本号

About

从PPT录屏视频中提取不相似帧,从而逆向构建PPT各页

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors