在Matlab中使用videoWriter时出错(asyncio)

时间:2015-04-06 06:59:05

标签: matlab

我正在尝试在Windows 7 64位计算机上使用Matlab 2013a中的videoWriter。我也安装了Matlab 2009a(这可能是问题)

我的代码在这里失败了:

    vid = VideoWriter('TestVideo');

这给了我以下错误: 使用VideoWriter时出错(第240行) 未定义的变量“asyncio”或类“asyncio.Channel”。

现在,如果我这样做:

    vid = VideoWriter('TestVideo.mp4','MPEG-4');

我收到此错误: 使用VideoWriter时出错(第168行) 指定的配置文件无效。

我尝试安装编解码器,但这没有帮助。

我读到有人遇到类似问题的地方,这是由于路径损坏而且可能是由旧的Matlab安装(2007)引起的,但没有关于最终修复它的内容。我试图将Matlab目录中的asyncio文件夹添加到Matlab路径中,但再次没有运气。 我进一步试图找出videoWriter关于asyncio的内容,但是在代码中找不到任何线索,老实说我真的不知道asyncio是什么。 卸载Matlab 2009a不是一种选择。

那么有人可以帮助我吗?

BR Gorm

3 个答案:

答案 0 :(得分:2)

您需要使用第二种方式调用VideoWriter ....这样做:

vid = VideoWriter('TestVideo.mp4','MPEG-4');

但是,您收到此错误:

Error using VideoWriter (line 168) The specified profile is not valid.

这是因为您可能没有在计算机上安装MPEG-4编解码器。您可以在MATLAB中执行此操作来验证这一点:

profiles = VideoWriter.getProfiles()

在命令提示符中运行以上代码。您将获得可用于使用VideoWriter将视频写入文件的所有可能配置文件的列表。例如,我在Mac OS上使用MATLAB R2013a,这就是我得到的:

>> profiles = VideoWriter.getProfiles()
  Summary of installed VideoWriter profiles:

          Name                                     Description                              
    ---------------- -----------------------------------------------------------------------
    Archival         Video file compression with JPEG 2000 codec with lossless mode enabled.
    Grayscale AVI    An AVI file with Grayscale Video Data
    Indexed AVI      An AVI file with Indexed Video Data
    MPEG-4           A MPEG-4 file with H.264 Compression
    Motion JPEG 2000 Video file compression with JPEG 2000 codec.
    Motion JPEG AVI  An AVI file with Motion JPEG compression
    Uncompressed AVI An AVI file with uncompressed RGB24 video data

如果您在个人资料列表中没有看到MPEG-4,那么您目前没有安装该个人资料。因此,您必须使用MATLAB提供的一个配置文件。


由于您运行的是Windows,我的一个建议是安装Windows 7 Codec Pack套件:http://www.windows7codecs.com/。我知道你说当你安装编解码器时,它没有用,但你可以试试上面的链接,如果你还没有这样做。

上述网站包含在Windows中播放视频文件所需的所有编解码器。希望您可以在安装编解码器后使用VideoWriter

答案 1 :(得分:1)

所以我找到了自己问题的答案。这条道路被打破了。通过将Matlab搜索路径设置为默认值,可以轻松解决问题。

答案 2 :(得分:0)

这是一个老问题,但我也想加两分钱。什么解决了我的问题是看我的Windows版本。许多公司的计算机上安装了Windows N版本。这些版本没有播放和创建媒体文件所需的所有编解码器和软件。因此,如果您在工作中使用Matlab,这可能就是问题所在。

修复程序正在下载Windows Media Feature Pack for N Versions,并确保没有安装其他编解码器包,例如K-Lite。