Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenCV无法读取ffmpeg视频_Opencv_Video_Ffmpeg - Fatal编程技术网

OpenCV无法读取ffmpeg视频

OpenCV无法读取ffmpeg视频,opencv,video,ffmpeg,Opencv,Video,Ffmpeg,在使用ffmpeg之后,我无法在OpenCV(python和c++)中读取视频帧 具体来说,我有以下问题: 1) 无法使用VideoCapture打开视频文件 2) 能够使用VideoCapture打开视频文件,但读取零帧和/或接收大小为0x0像素的帧 我将我的解决方案粘贴在下面,希望这能帮助其他人 这些问题是在Mac OS X Sierra 10.12.5、ffmpeg 3.2.4、Python 2.7.13、g++4.2.1上遇到的。OpenCV无法读取ffmpeg那样多的视频格式。因此,通

在使用ffmpeg之后,我无法在OpenCV(python和c++)中读取视频帧

具体来说,我有以下问题:

1) 无法使用
VideoCapture
打开视频文件

2) 能够使用
VideoCapture
打开视频文件,但读取零帧和/或接收大小为0x0像素的帧

我将我的解决方案粘贴在下面,希望这能帮助其他人

这些问题是在Mac OS X Sierra 10.12.5、ffmpeg 3.2.4、Python 2.7.13、g++4.2.1上遇到的。OpenCV无法读取ffmpeg那样多的视频格式。因此,通常可以在VLC中播放视频,但不能在OpenCV的
VideoCapture
中打开它们。因此,通常需要使用
ffmpeg
等工具进行转换(参见下一点)。一种适合我的格式是h.264

2) OpenCV似乎需要YUV420,而默认情况下,
ffmpeg
使用YUV444。因此,以下命令解决了我的问题:

ffmpeg-i input.avi-c:v libx264-vf format=yuv420p output.mp4

1)OpenCV无法读取与ffmpeg一样多的视频格式。因此,通常可以在VLC中播放视频,但不能在OpenCV的
VideoCapture
中打开它们。因此,通常需要使用
ffmpeg
等工具进行转换(参见下一点)。一种适合我的格式是h.264

2) OpenCV似乎需要YUV420,而默认情况下,
ffmpeg
使用YUV444。因此,以下命令解决了我的问题:

ffmpeg-i input.avi-c:v libx264-vf format=yuv420p output.mp4