【Python】视频转mp4格式、视频转gif、图片转ico格式

from moviepy.editor import *

def Video2Mp4(videoPath, outVideoPath):
    """视频转mp4"""
    import time
    import cv2

    capture = cv2.VideoCapture(videoPath)
    fps = capture.get(cv2.CAP_PROP_FPS)  # 获取帧率
    size = (int(capture.get(cv2.CAP_PROP_FRAME_WIDTH)), int(capture.get(cv2.CAP_PROP_FRAME_HEIGHT)))
    # fNUMS = cap.get(cv2.CAP_PROP_FRAME_COUNT)
    suc = capture.isOpened()  # 是否成功打开

    allFrame = []
    while suc:
        suc, frame = capture.read()
        if suc:
            allFrame.append(frame)
    capture.release()

    fourcc = cv2.VideoWriter_fourcc(*"mp4v")
    videoWriter = cv2.VideoWriter(outVideoPath, fourcc, fps, size)
    for aFrame in allFrame:
        videoWriter.write(aFrame)
    videoWriter.release()

def Video2GIF():
    """视频转gif"""

    clip = (VideoFileClip(r"C:\Users\DOUH\20230728_143045.mp4").resize((500,300)))
    clip.write_gif(r"C:\Users\DOUH\20230728_143045.gif", fps=8)

def Picture2Ico():
    """图片转ico"""
    from PIL import Image

    img = Image.open("AutoTestIco.png")
    # icon_sizes = [(16, 16), (32, 32), (48, 48), (64, 64)]
    icon_sizes = [(256, 256)]
    img.save('AutoTestIco.ico', sizes=icon_sizes)

if __name__ == '__main__':
    # inputVideoPath = "C:/Users/DOUH/Documents/Adobe/Premiere Pro/14.0/20230701_110248.avi"  # 读取视频路径
    # outVideoPath = f"out_{int(time.time())}.mp4"
    # Video2Mp4(inputVideoPath, outVideoPath)

    Video2GIF()

你可能感兴趣的:(工具,python)