文章目录

1 代码

modify_video_frame_rate.py

import os
import cv2

# 修改视频帧率为指定帧率,分辨率保持不变
def modify_video_frame_rate(videoPath,destFps):
    dir_name = os.path.dirname(videoPath)
    basename = os.path.basename(videoPath)
    video_name = basename[:basename.rfind('.')]
    video_name = video_name + "moify_fps_rate"
    resultVideoPath = f'{dir_name}/{video_name}.mp4'

    videoCapture = cv2.VideoCapture(videoPath)

    fps = videoCapture.get(cv2.CAP_PROP_FPS)
    if fps != destFps:
        frameSize = (int(videoCapture.get(cv2.CAP_PROP_FRAME_WIDTH)), int(videoCapture.get(cv2.CAP_PROP_FRAME_HEIGHT)))

        #这里的VideoWriter_fourcc需要多测试,如果编码器不对则会提示报错,根据报错信息修改编码器即可
        videoWriter = cv2.VideoWriter(resultVideoPath,cv2.VideoWriter_fourcc('m','p','4','v'),destFps,frameSize)

        i = 0;
        while True:
            success,frame = videoCapture.read()
            if success:
                i+=1
                print('转换到第%d帧' % i)
                videoWriter.write(frame)
            else:
                print('帧率转换结束')
                break

if __name__ == '__main__':
    modify_video_frame_rate('test.mp4',50)

更多内容请访问我的个站:www.stubbornhuang.com

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐