OpenCV python code, GitHub項目,中路徑OpenCVDemo/OpenCvPythonDemo/VlogHelper/CreateVideo.py
// 我用的mac,發現用XVID不生效
out = cv2.VideoWriter('project.avi', cv2.VideoWriter_fourcc('M','J','P','G'), 1, size)
AVI MP4區別
AVI和MP4是 container(容器)格式:用來封裝 video codec(視頻 編碼器)、audio codec和其他文件
視頻質量
視頻質量和video codec file相關,和其container 格式(AVI、MP4)
- avi 一般用 DivX codec:保持高視頻質量,壓縮視頻
- mp4 基於MOV,採用有損壓縮MPEG4 AVC/H.264 codec
這就是爲什麼認爲avi比mp4質量好,但是avi也可以使用 MPEG-4 video 的codec
選哪個
- avi 常用於Windows (Media Player有相應的解碼器)
- 文件體積大
- MP4 常用於手機、平板和網絡傳輸等(體積小)
- 支持章節、字母
- 文件體積小
#cv2.VideoWriter_fourcc('I', '4', '2', '0'),該參數是YUV編碼類型,文件名後綴爲.avi
#cv2.VideoWriter_fourcc('P', 'I', 'M', 'I'),該參數是MPEG-1編碼類型,文件名後綴爲.avi
#cv2.VideoWriter_fourcc('X', 'V', 'I', 'D'),該參數是M EG-4編碼類型,文件名後綴爲.avi
#cv2.VideoWriter_fourcc('T', 'H', 'E', 'O'),該參數是Ogg Vorbis,文件名後綴爲.ogv
#cv2.VideoWriter_fourcc('F', 'L', 'V', '1'),該參數是Flash視頻,文件名後綴爲.flv
不同平臺,自帶支持的codec是不同。
In Fedora: DIVX, XVID, MJPG, X264, WMV1, WMV2. (XVID is more preferable. MJPG results in high size video. X264 gives very small size video)
In Windows: DIVX (More to be tested and added)
In OSX: MJPG (.mp4), DIVX (.avi), X264 (.mkv).
如下一致,都是指MJPG
cv.VideoWriter_fourcc('M','J','P','G')
cv.VideoWriter_fourcc(*'MJPG')
參考外文