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)
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:opencv-python – 读取视频,不改变视频分辨率修改视频帧率
原文链接:https://www.stubbornhuang.com/513/
发布于:2019年12月11日 17:11:21
修改于:2023年06月26日 22:50:26
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
51