python OpenCV VideoWriter 視訊格式及大小
問題:1、VideoWriter不能寫MP4或是其他格式視訊;
2、VideoWriter寫入儲存的視訊大小為0kb;
3、VideoCapture讀取開啟不了MP4格式的視訊。
解決:將OpenCV中的opencv_ffmpeg330_64.dll(在OpenCV\build\bin資料夾下,注意這是我的opencv版本)檔案拷貝到Python的Lib\site-packages資料夾下(與cv2.pyd檔案放在一起解碼用)。
編碼格式(('M', 'P', '4', '2') 視訊大小最小):
cv2.VideoWriter_fourcc('M','J','P','G') = motion-jpeg codec
cv2.VideoWriter_fourcc('P','I','M','1') = MPEG-1 codec
cv2.VideoWriter_fourcc('M', 'P', '4', '2') = MPEG-4.2 codec
cv2.VideoWriter_fourcc('D', 'I', 'V', '3') = MPEG-4.3 codec
cv2.VideoWriter_fourcc('D', 'I', 'V', 'X') = MPEG-4 codec
cv2.VideoWriter_fourcc('U', '2', '6', '3') = H263 codec
cv2.VideoWriter_fourcc('I', '2', '6', '3') = H263I codec
cv2.VideoWriter_fourcc('F', 'L', 'V', '1') = FLV1 codec
通過攝像頭錄製了長約5分鐘的視訊,在D盤下生成的檔案如下:
生成檔案佔用空間最小的編碼方式是 MPEG-4.2 codec,約為19MB。用紅線段標識,對應在VideoWriter類的建構函式引數為CV_FOURCC('M', 'P', '4', '2') 。
最大的是MPEG-1 codec,用藍線段標識,約為111MB。對應在VideoWriter類的建構函式引數為CV_FOURCC('P','I','M','1') ,所佔磁碟空間是前者的5.7倍。所以如果需要24小時全天候錄製監控,基於磁碟空間的考慮,可以優先使用MPEG-4.2的編解碼方式。
def composeVideo():
fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', '2')
# cv2.VideoWriter(path,fourcc,fps,size) path是生成視訊路徑,fourcc是視訊格式,fps表示一秒放多少張圖片,size表示大小,一般是視訊影像大小
videoWriter = cv2.VideoWriter('out-video\\snake2.avi', fourcc, 10, (1920,1080))
# 我的圖片編號是3,6,9,12,...,627,寫自己的圖片編號就行
for i in range(3,630,3):
image_number = i
print(i)
img12 = cv2.imread('out-video\\out-pic\\' + str(image_number) + '.jpg')
videoWriter.write(img12)
videoWriter.release()
相關文章
- 【OpenCV3】視訊讀寫cv::VideoCapture和cv::VideoWriterOpenCVIDEAPT
- OpenCV-Python 視訊讀取OpenCVPython
- Python-OpenCV 處理視訊(二): 視訊處理PythonOpenCV
- opencv視訊播放OpenCV
- iOS整合FFmpeg及視訊格式轉碼iOS
- Python的OpenCV轉換影像大小PythonOpenCV
- opencv python 從攝像頭獲取視訊/從檔案獲取視訊 /儲存視訊OpenCVPython
- Opencv3 python學習2——視訊基礎OpenCVPython
- Python-OpenCV 處理視訊(一)(二): 輸入輸出 視訊處理PythonOpenCV
- python+ffmpeg視訊轉碼轉格式Python
- 利用Python和OpenCV將URL直接轉換成OpenCV格式PythonOpenCV
- 使用OpenCV和Python構建運動熱圖視訊OpenCVPython
- Python-OpenCV 處理視訊(一): 輸入輸出PythonOpenCV
- Python-OpenCV 處理視訊(四): 運動檢測PythonOpenCV
- opencv視訊人臉檢測OpenCV
- opencv 視訊處理相關OpenCV
- opencv提取視訊每一幀OpenCV
- iOS開發 iOS整合FFmpeg及視訊格式轉碼iOS
- Python-OpenCV 處理視訊(三): 標記運動軌跡PythonOpenCV
- Python-OpenCV 處理視訊(五): 運動方向判斷PythonOpenCV
- linux檢視目錄大小及硬碟大小Linux硬碟
- Element-UI框架 —— Upload 上傳(視訊上傳格式和大小判斷)UI框架
- 決定視訊檔案佔用空間大小的因素(編碼格式,位元率)
- 視訊人臉檢測——OpenCV版(三)OpenCV
- python使用opencv播放視訊併傳送到串列埠,讓51顯示PythonOpenCV串列埠
- 深度學習 + OpenCV,Python實現實時視訊目標檢測深度學習OpenCVPython
- VP8視訊格式初探
- 3、Opencv播放視訊、儲存、暫停視訊,開啟攝像頭OpenCV
- 【opencv五】利用opencv給讀入的視訊新增拖動滑塊OpenCV
- win10轉換視訊格式的方法_win10怎麼改視訊格式Win10
- 【計算機視覺】視訊格式介紹計算機視覺
- OpenCV成長之路(10):視訊的處理OpenCV
- Android 音視訊開發 視訊編碼,音訊編碼格式Android音訊
- 前端獲取視訊編碼格式前端
- Mac視訊格式轉換工具—iFlicksMac
- MakeMKV——MKV視訊格式轉換工具
- Mac視訊格式轉換軟體Mac
- 全能的視訊格式轉換工具