python cv2讀取rtsp實時碼流按時生成連續視頻文件


代碼實現

# coding: utf-8
import datetime
import  cv2
import os
 
ip = '192.168.3.160'.replace(".", "_") 
rtsp = 'rtsp://admin:admin@192.168.3.160:554/1/1' 
# 初始化攝像頭
cap = cv2.VideoCapture(rtsp)

fourcc = cv2.VideoWriter_fourcc(*'XVID')
size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))


frame_count = 0
while cap.isOpened():
    isSuccess, frame = cap.read()
    if isSuccess: 
        if frame_count % 120 == 0 or frame_count == 0:  
            frame_count = 0 
            i = datetime.datetime.now().strftime("%Y%m%d%H%M%S") 
            filename = str(i) + '-' + ip + '.avi'
            print(filename)
            video_writer = cv2.VideoWriter(filename, fourcc, 24, size)
            
        video_writer.write(frame)
        frame_count = frame_count + 1
        print(frame_count)
        if frame_count % 120 == 0:  
            video_writer.release()
            portion = os.path.splitext(filename)
            newname = portion[0] + '.mp4'
            os.rename(filename, newname)
        cv2.imshow('show', frame)    
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()        

效果

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM