2016年5月28日 星期六

Opencv wmv 檔案無法讀取 播放 的 問題

Opencv讀取wmv檔案時有時候會遇到問題,通常MP4跟AVI檔案不會有問題,網路上通常是說是dll檔的問題,改個名就好。

在opencv安裝路徑下的\sources\3rdparty\ffmpeg資料夾,如C:\opencv249\sources\3rdparty\ffmpeg。

如果當初安裝設定是用32位元,則將資料夾中的opencv_ffmpeg.dll檔案名修改為opencv_ffmpeg2410.dll,如果是opencv2.4.9,則改成opencv_ffmpeg249.dll。其他版本依此類推。
如果是64位元系統,那就修改opencv_ffmpeg_64.dll檔案名為opencv_ffmpeg2410_64.dll。

並在環境變數中的系統變數進行修改,當初安裝OpenCV環境設定的時候應該有加入一個路徑的變量。參考的文章大多是用Path,我之前是另外用了LibraryPath。

如果不知道自己用哪個的話,把這個加到C:\opencv249\sources\3rdparty\ffmpeg
加到Path中,並在專案的屬性中的函式庫連結補上 $(Path)。

忘記當初設定的話,在之前專案的屬性可以找到,也可以稍微看一下系統變數,不過會隨著呼叫的libary越多,裡面寫的東西越多...不好找就是。



因為我原本命名的是LibraryPath
但到現在也忘了,看到才想到
晚點換到LibraryPath裡面,就可以省略掉Path。

目前可以成功播放了

只是覺得這個bug好像是原本寫死的dll檔的檔名寫錯了(程式內吧...
然後大概因為開源的關係,所以能夠抓出來。


參考資料: http://blog.csdn.net/heyijia0327/article/details/44034671
該文章另有python的簡單改法。

沒有留言:

張貼留言

ADGuard