opencv2没有正确创建视频

时间:2014-09-21 04:34:13

标签: python opencv video

您好我以前使用此代码制作视频。现在它不再起作用这是一个示例代码:我已经使用了*' MJPG' *' XVID'总是有相同的结果。请帮忙。文件非常小(40帧文件为16k)

   import numpy as np
    import cv2
    import glob
    import sys
    import cv2.cv as cv
    file_listr = glob.glob(sys.argv[1]+'*.png')
    #~ file_listg = glob.glob(sys.argv[1]+'./*w525_norm.*')
    file_listr.sort()
    #~ file_listg.sort()
    r = cv2.imread(file_listr[0],0)
    print r.shape
    #~ print file_listr
    print file_listr[0][:-4]+'.avi'
    video = cv2.VideoWriter('testout.avi',cv.CV_FOURCC(*'MP43'),1,r.shape)

    for i in range(len(file_listr)):
        r = cv2.imread(file_listr[i])
        #~ g = cv2.imread(file_listg[i],0)
        #~ print r.dtype
        #~ g = np.zeros(r.shape).astype(r.dtype)
        #~ b = np.zeros(r.shape).astype(r.dtype)

        if sys.argv[2] == 'r':
            cv2.imshow('RGB',r)#np.dstack((b,g,r)))
            cv2.waitKey(100)
        elif sys.argv[2] == 'w':
            video.write(r)#np.dstack((b,g,r)))


    video.release()
    cv2.destroyAllWindows()

这是mplayer ouptut(vlc也不起作用):

AVI file format detected.
[aviheader] Video stream found, -vid 0
AVI: Missing video stream!? Contact the author, it may be a bug :(
libavformat file format detected.
[lavf] stream 0: video (mpeg4), -vid 0
VIDEO:  [MP4V]  612x812  24bpp   -nan fps    0.0 kbps ( 0.0 kbyte/s)
Clip info:
 encoder: Lavf54.20.4
Load subtitles in ./
Failed to open VDPAU backend libvdpau_i965.so: cannot open shared object file: No such file or directory
[vdpau] Error when calling vdp_device_create_x11: 1
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 54.35.0 (external)
Unsupported AVPixelFormat 53
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
Audio: no sound
Starting playback...
V:   0.0   0/  0 ??% ??% ??,?% 0 0 


Exiting... (End of file)

1 个答案:

答案 0 :(得分:0)

看起来有些东西已经破坏了你的libvdpau库,可能还有其他一些与媒体相关的库。

您最近是否更改了回购?

如果是这样,应该能够通过卸载您使用的mplayer,vlc或其他媒体程序,还原到之前的存储库,然后重新安装媒体播放器来解决此问题。 FWIW,mplayer以做这种事情而闻名,尽管有可能在vlc& amp;其他节目也是如此。

如果你最近没有改变你的回购,我想这仍然可以通过定期升级你现有的媒体播放器或安装新的媒体程序,尽管你的包管理器应该< / em>警告过你是否必须卸载任何库。

我当然不是这个主题的专家;希望有人会看到你的问题。但几个月前,当我测试一些不稳定的回购时,我发生了类似的事情:我失去了使用vlc,我不得不卸载它并恢复我的回购以使它全部恢复工作。那是一个可怕的日子!