我无法在openCV中打开mpeg4视频文件。视频文件是使用以下命令在ffmpeg中生成的:
ffmpeg -y -f rawvideo -vcodec rawvideo -s 2048x2048 -r 30 -pix_fmt gray -i \\.\pipe\pipe1 -qv 5 -vcodec mpeg4 out.avi
现在我试着像这样打开文件
^{pr2}$但这返回:错误,没有
如果我使用libxvid进行编码,同样的过程可以正常工作,但是我想使用mpeg4,因为它编码更快(我需要同时编码多个流)。在
openCV应该能够打开mpeg4编码的avi文件吗?在
我在Windows64位下使用openCV3和Python2.7
我还附加了一个视频编码在xvid(左)的GSpot面板,我可以打开。还有一个mpeg4编码的视频(右),我无法打开。 我怀疑某些LAV分路器/解码器设置可能会干扰?!-但我对这件事的理解还不够深入。在
这是我对mpeg4文件的ffprobe输出,该文件使用附加的ffmpeg参数'-vtag xvid'编码,如Mulvya的一条评论中所建议的
ffprobe version N-75474-g74e4948 Copyright (c) 2007-2015 the FFmpeg developers
built with gcc 4.9.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 55. 2.100 / 55. 2.100
libavcodec 57. 3.100 / 57. 3.100
libavformat 57. 2.100 / 57. 2.100
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 6.100 / 6. 6.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.100 / 2. 0.100
libpostproc 54. 0.100 / 54. 0.100
Input #0, avi, from 'out1b.avi':
Metadata:
encoder : Lavf57.2.100
Duration: 00:00:23.50, start: 0.000000, bitrate: 2049 kb/s
Stream #0:0: Video: mpeg4 (Simple Profile) (xvid / 0x64697678), yuv420p, 2048x2048 [SAR 1:1 DAR 1:1], 2044 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
或者你也可以做一些我碰巧想到的事情:
首先,您当然知道opencvex:2.4.11的版本
然后转到C:\opencv\build\x86\vc12\bin,复制opencv_ffmpeg2411.dll,并将其粘贴到Python ex:C:\Python27的根目录中
**如果dll文件是opencv_ffmpeg.dll只有在没有版本的情况下,您应该自己键入opencv_ffmpeg(没有dots的版本).dll
你好。在
希望我帮了忙
尝试将
-vtag xvid
作为输出选项添加到ffmpeg命令中codec标记告诉播放器/处理器要将哪个解码器用于输入视频流。尽管XVid和MPEG4是同一个编解码器的编码器,但OpenCV可能无法识别标记为
mpeg4
的视频。在相关问题 更多 >
编程相关推荐