如何获取当前系统上可用的编解码器列表,即据我所知,当编解码器不可用时,cv2.VideoWriter可能会失败。默认情况下使用什么编解码器? 不确定是否适用于所有情况,但似乎opencv默认回退到mp4v编解码器,并显示消息:OpenCV: FFMPEG: fallback to use tag 0x7634706d/'mp4v' 另外,为了添加新的编解码器,我们需要重建opencv,或者我们可以通过类似apt get的东西安装额外的编解码器\更新ffmpeg?
在OpenCV中没有办法实际枚举可用的fourcc编解码器。 这是非常不幸的,因为由于许可问题,OpenCV编解码器的 Package 在发行商之间是不同的。如图所示:OpenCV video writer unable to find codec or "avc1" 在VideoWriter上使用isOpened()可以告诉您编码器是否可以成功初始化。 有了一个给定的fourcc编解码器列表,你可以这样做:
2条答案
按热度按时间k4aesqcs1#
Here是FOURCC的视频编解码器列表。你可以在那里得到你需要的char格式。
正如文档所述:
构造器/函数初始化视频写入器。在Linux上,FFMPEG用于编写视频;在Windows上使用FFMPEG或VFW;在MacOSX上使用QTKit。
OpenCV使用FFMPEG支持(在您的情况下用于Linux)来编写视频,以便@Mark Setchell在评论中提到,您可以通过命令获得ffmpeg支持的编解码器格式:
x759pob22#
在OpenCV中没有办法实际枚举可用的fourcc编解码器。
这是非常不幸的,因为由于许可问题,OpenCV编解码器的 Package 在发行商之间是不同的。如图所示:OpenCV video writer unable to find codec or "avc1"
在
VideoWriter
上使用isOpened()
可以告诉您编码器是否可以成功初始化。有了一个给定的fourcc编解码器列表,你可以这样做:
一个现有的,但可能大多数不受支持的fourcc的广泛列表可以从OpenCV文档的链接中检索:https://web.archive.org/web/20220316062600/http://www.fourcc.org/codecs.php