python 将视频 通过视频帧转换成时间实例
我就废话不多说了,还是直接看代码吧!
defframes_to_timecode(framerate,frames): """ 视频通过视频帧转换成时间 :paramframerate:视频帧率 :paramframes:当前视频帧数 :return:时间(00:00:01:01) """ return'{0:02d}:{1:02d}:{2:02d}:{3:02d}'.format(int(frames/(3600*framerate)), int(frames/(60*framerate)%60), int(frames/framerate%60), int(frames%framerate)) print(frames_to_timecode(25,123))
00:00:04:23
补充知识:python+opencv截取指定帧的视频段,同时转换分辨率
在网上看了好久一直没解决问题,好多都是复制粘贴别人的东西,耽误时间,小编在多次尝试和修改后终于成功了,废话不多说,直接上代码:
importcv2 videoCapture=cv2.VideoCapture('K:/test/00000.mov') fps=30#保存视频的帧率 size=(350,256)#保存视频的大小 videoWriter=cv2.VideoWriter('K:/test/0000_test.avi',cv2.VideoWriter_fourcc('X','V','I','D'),fps,size) i=0 whileTrue: success,frame=videoCapture.read() ifsuccess: i+=1 print('i=',i) if(i>=1000andi<=2000): frame=cv2.resize(frame,(350,256)) videoWriter.write(frame) if(i>2000): break else: print('end') break
其中原视频格式应该转换成.mov(小编只在这种情况获得成功,其他可以自行测试),如果需要调整分辨率的话,必须有:
frame=cv2.resize(frame,(350,256))
这一过程,否则视频帧将无法写入,视频输出大小为0。
有不足的地方希望指出,希望能帮到你!
以上这篇python将视频通过视频帧转换成时间实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。