之前也简单使用过OpenCV模块,这里再次使用的时候再介绍下这个模块
OpenCV 是一个功能强大、应用广泛的计算机视觉库,它为开发人员提供了丰富的工具和算法,可以帮助他们快速构建各种视觉应用。
接下来就看看如何使用opencv获取视频的封面和时常,封面我是随机获取视频中的一帧作为图片
获取随机封面
import cv2 import random def get_video_cover(video_path, image_out_path): cap = cv2.VideoCapture(video_path) #获取总帧数 frame_num = cap.get(cv2.CAP_PROP_FRAME_COUNT) #过去随机1帧 frame = random.randint(1, int(frame_num)) #获取指定帧 cap.set(cv2.CAP_PROP_POS_FRAMES, frame) #读取指定帧 success, image = cap.read() if success: try: #将指定帧图片保存 cv2.imwrite(image_out_path, image) print("获取影片封面成功!") except Exception as e: print(e) else: print("获取影片封面失败!")
get_video_cover(r"./20250528233946F1042EFCA28410F6917B.mp4", r"./cover.png")
最后获取封面如下
获取视频总时长代码如下:
import cv2
def get_video_duration(video_path): cap = cv2.VideoCapture(video_path) if cap.isOpened(): #获取帧率 rate = cap.get(cv2.CAP_PROP_FPS) #获取帧数 frame_num = cap.get(cv2.CAP_PROP_FRAME_COUNT) duration = frame_num / rate print("影片时长为 {}".format(duration)) else: print("获取影片时长失败!")
get_video_duration(r"./20250528233946F1042EFCA28410F6917B.mp4")
打印594.7666666666667,单位是秒。
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://sulao.cn/post/1045
评论列表