Files
python-ai-video/src/utils/screenshot.py
2024-09-27 01:10:21 +08:00

37 lines
1.2 KiB
Python

import os, shutil
from docarray import Document, DocumentArray
# https://blog.csdn.net/Jina_AI/article/details/128475707
class Screenshot:
# 视频名称
videoName = ''
# 视频所在的 父级路径
videoPath = '../../source/'
# 视频帧截图后输出的 父级路径
outputKeyframes = '../../dist/'
d = ''
keyframes = DocumentArray()
def __init__(self, video_name):
self.videoName = video_name
self.d = Document(uri=self.videoPath + self.videoName).load_uri_to_video_tensor(only_keyframes=False)
self.createdDir()
self.start()
def start(self):
for i in range(len(self.d.tensor)):
if i in self.d.tags['keyframe_indices']:
keyframe = Document(
tensor=self.d.tensor[i], tags={'index': len(self.keyframes)}
)
keyframe.save_image_tensor_to_file(file=f'{self.outputKeyframes}/{self.videoName}/{len(self.keyframes)}.png')
self.keyframes.append(keyframe)
def createdDir(self):
if not os.path.isdir(self.outputKeyframes + self.videoName):
os.makedirs(self.outputKeyframes + self.videoName, exist_ok=True)
Screenshot('yjkon.mp4')