【问题标题】:Divide a video into multiple child videos using Python使用 Python 将一个视频分成多个子视频
【发布时间】:2022-01-17 12:14:49
【问题描述】:

我确实会创建屏幕录制视频,然后使用视频编辑软件将 (screen-record.mp4) 分成三个不同的视频。

例如:(screen-record.mp4 => blue-area1.mp4 & blue-area2.mp4 & blue-area3.mp4)。

但是,手动完成确实需要大量的精力和时间,

有没有办法使用 python 或其他东西来自动化这个过程,我是 python 新手。

【问题讨论】:

标签: python automation


【解决方案1】:

您可以使用cv2 lib 裁剪视频:

import cv2


def crop_video(file, coordinates, output):
    """ Crop video """
    cap = cv2.VideoCapture(file)
    fps, frames = cap.get(cv2.CAP_PROP_FPS), cap.get(cv2.CAP_PROP_FRAME_COUNT)
    x, y, w, h = coordinates
    fourcc = cv2.VideoWriter_fourcc(*'mp4v')
    out = cv2.VideoWriter(output, fourcc, fps, (w, h))
    while cap.isOpened():
        ret, frame = cap.read()
        if ret:
            crop_frame = frame[y:y + h, x:x + w]
            out.write(crop_frame)
        else:
            break
    cap.release()
    out.release()
    cv2.destroyAllWindows()


if __name__ == '__main__':
    for i, coord in enumerate([(0, 0, 960, 540), (960, 0, 959, 539), (960, 540, 959, 539)]):
        crop_video('video.mp4', coord, f'output{i+1}.mp4')

输入样本:

输出样本:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 2013-11-27
    • 1970-01-01
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多