【发布时间】:2020-03-15 21:58:55
【问题描述】:
OpenCV 4.1.1.26 中 mp4 的视频编解码器是什么?
我正在尝试从两个摄像头编写视频,编写 AVI 视频工作正常,但编写 mp4 视频不工作。
- Python 3.7
- OpenCV 4.1.1.26
- Windows 10
下面是一个相机的示例代码
cap = cv2.VideoCapture(0)
fourcc = cv2.VideoWriter_fourcc(*'DIVX')
out = cv2.VideoWriter('output_1.mp4', fourcc, 15, (640, 480))
我使用了不同的编解码器(MPEG、H264、mp4v、('m'、'p'、'4'、'v')、FFmpeg 等),如OpenCV 4 Documentations、FOURCC Codecs Documentations 和不同专家的建议和不同平台上的助手,但任何解决方案在我的代码中都不起作用,mp4 视频已保存,但由于编解码器问题,即使在 OpenCV VideoCapture 中也无法在任何媒体播放器中播放。另一方面,当我保存 avi 视频时,它工作正常。 我检查了这些链接以获得帮助。
what is the codec for mp4 videos in python OpenCV
How to write mp4 video file with H264 codec?
寻找有价值的建议。
【问题讨论】:
-
如果相机给出的帧大于
(640, 480),那么您必须在将其保存到文件之前更改其大小。如果你不改变大小,那么它可能会创建一个空文件,然后你就无法播放它 -
能详细解释一下吗?
-
如果相机给出的帧大于
(640,480),那么您可能需要在保存之前执行frame = cv2.resize(frame, (640, 480))。 -
您在运行代码时不会收到错误消息吗?当我尝试带有扩展名
.mp4的DIVX时,它会向我显示FFMPEG无法创建它的消息 - 但如果我使用扩展名.avi则创建文件没有问题。但我用的是 Linux。