Project Icon

PySceneDetect

自动化视频场景分析与切割工具

作为一个开源项目,PySceneDetect集成了多种视频场景检测算法,包括内容感知和自适应检测。它不仅提供命令行接口,还支持Python API,方便开发者集成到现有工作流程中。该工具能够自动识别视频中的场景变化,实现视频分割、关键帧提取和时间码分析等功能,为视频编辑、内容分析和自动化处理提供了有力支持。

PySceneDetect

视频切割检测和分析工具

构建状态 PyPI 状态 PyPI 版本 PyPI 许可证


最新版本:v0.6.4(2024年6月10日)

网站scenedetect.com

快速入门示例scenedetect.com/cli/

文档scenedetect.com/docs/

Discordhttps://discord.gg/H83HbJngk7


快速安装

pip install scenedetect[opencv] --upgrade

视频分割支持需要ffmpeg/mkvmerge。Windows版本(MSI安装程序/便携式ZIP)可以在下载页面找到。


快速开始(命令行)

使用ffmpeg在每个快速切割处分割输入视频:

scenedetect -i video.mp4 split-video

保存每个切割的一些帧:

scenedetect -i video.mp4 save-images

跳过输入视频的前10秒:

scenedetect -i video.mp4 time -s 10s

更多示例可以在文档中找到。

快速开始(Python API)

要开始使用,库中有一个高级函数可以对视频进行内容感知场景检测(从Python提示符尝试):

from scenedetect import detect, ContentDetector
scene_list = detect('my_video.mp4', ContentDetector())

scene_list现在将是一个包含视频中找到的所有场景的开始/结束时间的列表。还有一个两遍版本AdaptiveDetector,可以更好地处理快速相机移动,以及ThresholdDetector用于处理淡出/淡入事件。

尝试调用print(scene_list),或遍历每个场景:

from scenedetect import detect, ContentDetector
scene_list = detect('my_video.mp4', ContentDetector())
for i, scene in enumerate(scene_list):
    print('    场景 %2d: 开始 %s / 帧 %d, 结束 %s / 帧 %d' % (
        i+1,
        scene[0].get_timecode(), scene[0].get_frames(),
        scene[1].get_timecode(), scene[1].get_frames(),))

如果安装了ffmpeg,我们还可以将视频分割成每个场景(也支持mkvmerge):

from scenedetect import detect, ContentDetector, split_video_ffmpeg
scene_list = detect('my_video.mp4', ContentDetector())
split_video_ffmpeg('my_video.mp4', scene_list)

对于更高级的用法,API高度可配置,可以轻松集成到任何管道中。这包括使用不同的检测算法、分割输入视频等。以下示例展示了如何实现类似上述的函数,但使用scenedetect API

from scenedetect import open_video, SceneManager, split_video_ffmpeg
from scenedetect.detectors import ContentDetector
from scenedetect.video_splitter import split_video_ffmpeg

def split_video_into_scenes(video_path, threshold=27.0):
    # 打开视频,创建场景管理器,并添加检测器。
    video = open_video(video_path)
    scene_manager = SceneManager()
    scene_manager.add_detector(
        ContentDetector(threshold=threshold))
    scene_manager.detect_scenes(video, show_progress=True)
    scene_list = scene_manager.get_scene_list()
    split_video_ffmpeg(video_path, scene_list, show_progress=True)

更多示例请参见文档

参考

帮助与贡献

请将任何错误/问题或功能请求提交到问题跟踪器。提交之前,请确保搜索现有问题(包括开放和关闭的),以避免创建重复条目。 欢迎并鼓励提交拉取请求。PySceneDetect在BSD 3-Clause许可下发布,提交的代码应符合该许可。

如需帮助或其他问题,您可以加入官方PySceneDetect Discord服务器,在Github上提交问题/错误报告,或通过我的网站联系我。

代码签名

本程序使用SignPath.io提供的免费代码签名,以及SignPath Foundation提供的免费代码签名证书。

许可证

BSD-3-Clause;详见LICENSETHIRD-PARTY.md


版权所有 (C) 2014-2024 Brandon Castellano。 保留所有权利。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号