
将长视频智能分割并调整比例的Python开源库
ClipsAI是一个Python开源库,专门用于处理音频为主的叙事视频。这个库能自动将长视频分割成多个短片,并支持将视频宽高比从16:9调整为9:16。它利用WhisperX进行视频转录,通过Pyannote实现说话人分离,从而实现动态重构画面和聚焦当前说话者。ClipsAI适用于播客、采访和演讲等类型的视频,只需几行代码即可完成视频的智能裁剪和比例调整。
ClipsAI 是一个开源 Python 库,可以自动将长视频转换为短片段。只需几行代码,您就能将视频分割成多个片段,并将其宽高比从 16:9 调整为 9:16。
注意: ClipsAI 专为以音频为中心、基于叙事的视频而设计,如播客、访谈、演讲和布道。它积极使用视频转录来识别和创建片段。我们的调整算法能动态重新构图并聚焦于当前说话者,将视频转换为各种宽高比。
完整文档请访问 ClipsAI 文档。 查看由该库生成的片段的 UI 演示。
安装 Python 依赖。<br></br> 我们强烈建议使用虚拟环境(如 venv)以避免依赖冲突
pip install clipsai
pip install whisperx@git+https://github.com/m-bain/whisperx.git
安装 libmagic
安装 ffmpeg
由于片段是通过视频的转录找到的,因此必须先对视频进行转录。转录使用 WhisperX 完成,这是一个开源的 Whisper 包装器,具有检测每个单词开始和结束时间的附加功能。有关将原始视频剪辑为所选片段的参考,请参阅剪辑参考。
from clipsai import ClipFinder, Transcriber transcriber = Transcriber() transcription = transcriber.transcribe(audio_file_path="/abs/path/to/video.mp4") clipfinder = ClipFinder() clips = clipfinder.find_clips(transcription=transcription) print("开始时间:", clips[0].start_time) print("结束时间:", clips[0].end_time)
调整视频大小需要 Hugging Face 访问令牌,因为使用了 Pyannote 进行说话人分离。使用 Pyannote 不会收费,说明在 Pyannote HuggingFace 页面上。有关将原始视频调整为所需宽高比的参考,请参阅调整大小参考。
from clipsai import resize crops = resize( video_file_path="/abs/path/to/video.mp4", pyannote_auth_token="pyannote_token", aspect_ratio=(9, 16) ) print("裁剪:", crops.segments)