最近在分辨video的codec是哪些类型,特记录如下供参考。
OpenCV使用的版本是3.2, 视频是用手机拍摄,codec类型分别为MPEG4和H264,
代码:
import cv2
capture = cv2.VideoCapture('test.mp4')
#cv2.VideoCapture.get(CV_CAP_PROP_FORMAT)
fps = capture.get(cv2.CAP_PROP_FPS)
print 'fps is ' + str(fps)
codec = int(capture.get(cv2.CAP_PROP_FOURCC))
print ('codec is %x'%(codec))
print ('codec is ' + chr(codec&0xFF) + chr((codec>>8)&0xFF) + chr((codec>>16)&0xFF) + chr((codec>>24)&0xFF))
>python cv_test.py
fps is 30.006208181
codec is 31637661
codec is avc1
如果是MPEG4编码,打印结果为 “codec is 7634706d”,十六进制对应的ASCII为 'v' '4' 'p' 'm'
如果是H264编码,打印的结果为 "codec is 31637661", 十六进制对应的ASCII为 '1' 'c' 'v' 'a'
查询Video Codecs by FOURCC(http://www.fourcc.org/codecs.php)
1. 搜索"mp4v" (和得到的16进制倒序排列),信息如下
Eval download (MP4V) info
Homepage: Eval download
Owner: Media Excel
MPEG-4 Video. LEAD's MCMP codec also supports this format.
2. 搜索“avc1”(和得到的16进制倒序排列),信息如下
AVC1 info
Owner: Apple
Apple's version of the MPEG4 part 10/H.264 standard apparently.
原文:https://blog.csdn.net/jgw2008/article/details/79317454