佛说,要有光
God,……众生平等
跟着教程步骤走,
实现下图视频分割效果

场景检测分割视频

批量分割视频
本教程仅适用Win系统
教程需Python3
安装教程请转下方链接
承接上文
步骤一、下载ffmpeg
(PySceneDetect分割视频需调用ffmpeg)
1.1.1官网链接
1.1.2迅雷链接
http://192.168.31.4/ffmpeg-4.4-full_build-shared.7z?fid=y-Pgc06fgvlAmIJdHIF3l8QC8BayWhMCAAAAAPYRtJ0R5et71EhiTDj0VLYsj9jB&mid=666&threshold=150&tid=C7191E02DE2B3581AF0246FFE670C185&srcid=119&verno=1
1.2配置FFmpeg
1.2.1解压ffmpeg压缩包

解压ffmpeg压缩包
1.2.2复制bin文件夹路径
(bin文件夹内有要调用ffmpeg.exe)

复制含ffmpeg.exe程序的路径
1.2.3、快捷键Win + E,打开我的电脑
右键—>此电脑—>属性,进入属性面板

右键此电脑进入属性面板
1.2.4在属性面板中,配置ffmpeg
步骤:高级系统设置—环境变量—PATH—新建(黏贴之前复制路径)
(缺少此步骤,切割视频指令可能不执行)

配置ffmpeg环境
1.2.5、ffmpeg路径新建后,逐步点击确定,
完成ffmepg配置

逐步点击确定,完成ffmepg配置
步骤二、场景检测,分割视频
2.1、将需要分割的视频放置在不含中文路径下
(储存路径含中文,某些指令有可能不执行)

视频推荐存放在不含中文路径下
2.2.、在视频存放目录下,新建txt文档,并打开

打开新建txt文本
2.3、根据需要在txt文本中,输入指令:
2.3.1、批量分割视频指令:
for %%i in (*) do scenedetect -i "%%i" -s "%%i.stats.csv" detect-content list-scenes split-video -o "%%i_Output_video"

批量分割视频指令
2.3.2、保存文档并关闭,然后将文档后缀拓展名txt改为bat

保存文档,修改文本拓展名txt改为bat
2.3.3、鼠标左键双击bat批处理,批量生成分割视频

批处理执行
2.3.4、批量分割视频完成

批量分割视频完成
2.4.1、若需生成分割视频并生成图片,
将2.3.1指令替换成以下指令,
重新执行操作
for %%i in (*) do scenedetect -i "%%i" -s "%%i.stats.csv" detect-content list-scenes save-images -n 1 -o "%%i_Output_images" split-video -o "%%i_Output_video"
2.4.2、批量生成分割视频并生成图片完成

批量生成视频和图片

批量生成图片

批量生成分割视频
2.5.1、若需生成分割视频、生成图片并生成html页面
将2.3.1指令换成以下指令,重新执行操作
for %%i in (*) do scenedetect -i "%%i" -s "%%i.stats.csv" detect-content list-scenes save-images -n 1 -o "%%i_Output_images" export-html -w 400 split-video -o "%%i_Output_video"
2.5.2、生成分割视频、生成图片并生成html页面完成

批量生成图片、视频和hlml

生成的图片和html文件

html页面

生成的视频
以上部分为使用FFmpeg模块分割视频
以下部分为使用mkvmerge模块分割视频
(拓展部分,可忽略)
三、使用mkvmerge模块分割视频
3.1、下载mkvmerge模块,链接见下方:
3.1.1、官网链接:
https://mkvtoolnix.download/downloads.html
3.1.2、其它链接:
https://www.fosshub.com/MKVToolNix.html
3.2、复制含mkverge.exe的路径

复制调用模块的路径
3.3、配置mkverge环境,步骤与配置FFmpeg模块相同
步骤见:1.2、配置FFmpeg
3.4、mkverge分割视频步骤与FFmpeg一致
步骤见:二、场景检测,分割视频
3.5、mkverge和FFmpeg分割视频不同之处在指令
split-video 默认使用ffmpge模块
split-viero -c 使用mkvmerge模块
3.5.1、mkverge批量分割视频指令:
for %%i in (*) do scenedetect -i "%%i" -s "%%i.stats.csv" detect-content list-scenes split-video -c -o "%%i_Output_video"
3.5.2、mkverge批量生成分割视频并生成图片指令:
for %%i in (*) do scenedetect -i "%%i" -s "%%i.stats.csv" detect-content list-scenes save-images -n 1 -o "%%i_Output_images" split-video -c -o "%%i_Output_video"
3.5.3、生成分割视频、生成图片并生成html页面指令:
for %%i in (*) do scenedetect -i "%%i" -s "%%i.stats.csv" detect-content list-scenes save-images -n 1 -o "%%i_Output_images" export-html -w 400 split-video -c -o "%%i_Output_video"
说明:
在默认参数下,
mkverge分割出的视频大小几乎与原视频一致
ffmpeg分割出的视频有所压缩