2011-08-27 12 views
2

Je suis en train de charger une vidéo Wmv dans Matlab comme suit:Matlab: fichiers vidéo chargement wmv

vidObj = mmreader('video.wmv'); 

Cependant, je reçois l'erreur suivante:

The file requires the following codec(s) to be installed on your system: video/x-ms-asf 

Je ne comprends pas pourquoi Je reçois cette erreur, car je suis capable de lire des fichiers wmv sur mon système. Je cours Matlab 7.10.0 (R2010a) sur Ubuntu 11.04. Comment puis-je résoudre ce problème?

+1

Avez-vous vérifié que vous avez installé des plugins pour Gstreamer? 'mmreader' utilise gstreamer Voir: http://www.mathworks.com/help/releases/R2010a/techdoc/ref/mmreaderclass.html – ephsmith

+0

Oui, j'ai les plugins Gstreamer, mais le problème persiste. – Josh

Répondre

0

Il peut être difficile d'obtenir ce fonctionnement sur un système Linux. Alternativement, vous pouvez écrire votre propre fonction d'importation wmv (si vous savez comment parler aux bibliothèques sous-jacentes sur votre système Linux, c'est-à-dire vlc).

+0

Merci pour la réponse. J'ai abandonné le problème, car il était clair que toute approche réalisable serait très lourde (si possible). Au lieu de cela, pour le problème auquel je faisais face, j'ai juste utilisé un système Windows avec Matlab pour gérer le chargement des fichiers wmv. – Josh

1

J'ai reçu le même message d'erreur en raison d'un conflit de version pour la bibliothèque C++ standard. J'ai démarré MATLAB dans une fenêtre de console et reconnu que Gstreamer ne parvient pas à charger un plug-in.

(:26573): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-0.10/libgstffmpeg.so': 
/usr/local/MATLAB/2010b/bin/glnx86/../../sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/libdirac_encoder.so.0) 

Le problème est, avec des navires MATLAB® libstdC++. So.6.0.10 et GStreamer se plaint qu'il doit travailler avec libstdC++. So.6.0.13

Vous devez remplacer le lien symbolique dir Matlab avec celui dans votre système.

$ rm /usr/local/MATLAB/2010b/sys/os/glnx86/libstdc++.so.6 
$ ln -s /usr/lib/libstdc++.so.6 /usr/local/MATLAB/2010b/sys/os/glnx86/libstdc++.so.6 
Questions connexes