【視頻轉換】監控視頻DAV轉mp4


遇到.dav格式的視頻,無法用OpenCV讀取,如何轉換成mp4

1. 首先將.dav視頻修改后綴成.h264
# 批量修改視頻后綴
def video_rename(file_path,save_path):
    for video_name in os.listdir(file_path):
        new_name = video_name.split('.')[0] + '.h264'
        os.rename(os.path.join(file_path,video_name),os.path.join(save_path,new_name))
    print("視頻格式轉換完成,dav 轉 h264 !!")
2. 利用OpenCV轉換成mp4
  • 此時的.h264可以用播放器顯示,但OpenCV還是不能獲取幀率、總時長等信息,只能讀取視頻,所以將讀取的視頻幀保存到mp4
# 視頻轉換 mp4
def video2mp4(video_name,save_name,save_fps = 25,video_w = 1280,video_h=1024):
    if video_name.split('.')[-1] == 'mp4':
        return -1
    cap = cv2.VideoCapture(video_name)
    tmp_video_mp4 =  cv2.VideoWriter(save_name, cv2.VideoWriter_fourcc('M','P','E','G'), save_fps, (video_w,video_h))
    start_time = time.time()
    while True:
        success, origin_img = cap.read()
        if not success or len(origin_img) < 2:
            break
        tmp_video_mp4.write(cv2.resize(origin_img,(video_w,video_h)))
    end_time = time.time()
    tmp_video_mp4.release()
    print("video {} change done! spand time = {}".format(save_name,end_time - start_time))
  • 完成視頻格式的轉換,但轉換時間較長。

利用pyqt搭建視頻轉換平台
  • 1.打開監控視頻.dav文件夾,選擇保存路徑
  • 2.選擇線程數量(不宜過多,會卡),和保存視頻的幀率
  • 3.按下啟動按鈕,圖像窗口會顯示視頻圖像,下方顯示處理視頻的狀態
  • 4.可以隨時暫定轉換過程,視頻會正常保存
    在這里插入圖片描述
    下載鏈接如下
    https://download.csdn.net/download/wangxiaobei2017/18142723


免責聲明!

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



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