Repolode
Breakthrough

Breakthrough/PySceneDetect

基于 Python 与 OpenCV 的视频镜头切换检测工具和库,可识别剪切与转场并按场景分割视频。

Star
5,396
Fork
560
未关闭 Issue
64
最近提交
5天前

这是什么?

PySceneDetect 用于分析视频文件,找出每个镜头的结束与下一个镜头的开始位置。它同时提供命令行程序和 Python API。检测方式包括适用于快速剪切的内容感知检测、适应快速运镜的自适应检测,以及处理淡入淡出的阈值检测。

命令行可以借助 ffmpeg 或 mkvmerge 按镜头切割视频,保存每个镜头的代表帧,并列出各场景的起止时间码。多个命令可以串联使用,参数也能写入配置文件。库中提供 detect()、split_video_ffmpeg() 等函数,便于接入其他处理流程。

项目已发布到 PyPI,并提供内置 ffmpeg 和 mkvmerge 的 Docker 镜像,同时有 Windows 的 MSI 安装包和便携版。

核心功能

  • 01通过内容感知和自适应检测器识别硬切镜头。
  • 02使用阈值检测器识别淡入淡出等转场。
  • 03借助 ffmpeg 或 mkvmerge 将视频按场景分割成片段。
  • 04将每个检测到的场景保存为图片帧。
  • 05同时提供命令行工具和 Python API。
  • 06可通过 PyPI、Docker 或 Windows 安装包获取。

适用场景

  • 将长视频或电影按镜头拆分,便于剪辑或审阅。
  • 为视频机器学习构建镜头或关键帧数据集。
  • 为每个场景自动生成缩略图或预览图。
  • 将场景检测作为视频处理流水线中的一个环节。

快速上手

  1. 1

    从 PyPI 安装该包

    pip install scenedetect --upgrade
  2. 2

    检测场景并使用 ffmpeg 在每个切换点分割视频

    scenedetect -i video.mp4 split-video

使用前须知

  • 视频分割功能需要单独安装 ffmpeg 或 mkvmerge,使用 Docker 镜像则无需安装。

收录于专题

标签

#video-processing#scene-detection#opencv#computer-vision#python#video-editing#analysis#image-processing#python-opencv#scene-recognition

常见问题

PySceneDetect 是什么?
基于 Python 与 OpenCV 的视频镜头切换检测工具和库,可识别剪切与转场并按场景分割视频。 PySceneDetect 用于分析视频文件,找出每个镜头的结束与下一个镜头的开始位置。它同时提供命令行程序和 Python API。检测方式包括适用于快速剪切的内容感知检测、适应快速运镜的自适应检测,以及处理淡入淡出的阈值检测。
PySceneDetect 可以免费使用吗?用的什么许可证?
PySceneDetect 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
PySceneDetect 还在维护吗?
活跃维护中。PySceneDetect 最近一次提交是在 2026年11月2日。
PySceneDetect 适合用来做什么?
将长视频或电影按镜头拆分,便于剪辑或审阅。 为视频机器学习构建镜头或关键帧数据集。 为每个场景自动生成缩略图或预览图。 将场景检测作为视频处理流水线中的一个环节。
PySceneDetect 怎么安装和运行?
从 PyPI 安装该包: pip install scenedetect --upgrade 检测场景并使用 ffmpeg 在每个切换点分割视频: scenedetect -i video.mp4 split-video
在哪里获取 PySceneDetect?
源代码和安装说明在 GitHub 上:https://github.com/Breakthrough/PySceneDetect

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目