2015-04-06 55 views
0

我想在Windows 7 64位機器上使用Matlab 2013a中的videoWriter。我也有安裝了Matlab的2009a的(這可能是問題)錯誤在Matlab中使用videoWriter(asyncio)

我的代碼失敗在這裏:

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格姆

回答

1

所以我找到了我自己的問題的答案。這是被打破的道路。通過將Matlab搜索路徑設置爲默認值,可以很容易地解決問題。

+0

你能詳細說一下嗎?你遵循什麼程序? – user2175594 2015-07-01 04:27:41

+0

問題是我有Matlab 2009和2013兩個版本,他們都在默認的MATLAB文件夾中使用相同的'pathdef.m'文件。如果你玩弄你的路徑,它可能會混淆其中一個Matlab版本的路徑。因此,現在使用位於Matlab安裝目錄(C:\ Program Files \ MATLAB \ R2013a \ toolbox \ local)中工具箱文件夾中的'startup.m'文件,而不是在Matlab中使用'Set Path'。啓動文件在Matlab啓動時運行,並且在那裏您可以定義自定義路徑等。因此,將路徑返回到默認值並創建一個'startup.m'文件。你可以擡頭看看; '幫助創業' – Gormd 2015-07-02 05:31:59

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解碼包套件:http://www.windows7codecs.com/。我知道你說過,當你安裝編解碼器時,它不起作用,但如果你還沒有做到這一點,你可以嘗試上面的鏈接。

上述網站包含您需要在Windows中播放視頻文件所需的所有編解碼器。這將有望讓您在安裝編解碼器後使用VideoWriter

+0

嗨雷,謝謝你的回覆。我按照您的建議安裝了編解碼器,但仍然失敗。 使用VideoWriter時出錯(第168行) 指定的配置文件無效。 「編解碼器檢查」也不起作用。使用audiovideo.writer.ProfileInfo 錯誤錯誤:文件:ProfileInfo.m行:106列:24個 參數來導入必須要麼終止或者指定一個完全合格的類名是「*」: ‘internal.DispTable’未通過此測試。 我也曾嘗試運行Matlab作爲管理員,但這也沒有幫助。 – Gormd 2015-04-06 09:15:01

0

這是一個老問題,但我也想補充我的兩分錢。什麼解決了我的問題是看我的Windows版本。許多公司在其計算機上安裝了Windows N版本。這些版本不具備播放和創建媒體文件所需的所有編解碼器和軟件。所以,如果你在工作中使用Matlab,這可能是問題所在。

修復程序正在下載Windows Media Feature Pack for N Versions並確保沒有安裝其他編解碼器包,如K-Lite。