WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

player für mmread - fehler bei mplay und movie

 

geieraffe
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 19.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.04.2012, 08:27     Titel: player für mmread - fehler bei mplay und movie
  Antworten mit Zitat      
Guten Morgen,
ich hab mir bereits mit mmread() ein Video in meinen WS geladen, aber abspielen geht nicht:

mit movie() bekomm ich den Fehler:
"Invalid movie structure: wrong number of fields."

mit mplay() gibts den Fehler:
"Reference to non-existent field 'colormap'."

Der Video-Struct hat folgende Felder:
width,height, nrFrames, frames, rate, totalDuration, times, skippedFrames.

..weit und breit nichts zu sehen von 'colormap'.


einzig mit mmplay() kann ich das Video abspielen, aber nur im Vollbildmodus. Bzw. wenn ich s aus dem CommandWindow starte, dann öffnets eine neue figure und spielt es dort.

Ich hätte das Video aber in bestimmten axes in meiner GUI. dort kann ich es nur fullscreen starten. Anders scheint das handle irgendwie falsch zu sein und es sieht so aus, wie wenn der das Video mit mega-zoom abspielt und mein ganzer Bildschirm nur den 10x10 pixeln oben links im video gefüllt ist.

Hat jemand ne Idee, wie ich entweder einen andern Player verwenden kann, oder aber mmplay() in meine gewünschten axes zwingen kann?

edit:
mein video ist ein *.VisionVideo-File.
der VLC-Player sagt Codec ist MPEG-4 Video (DX50) ...falls das weiter hilft
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 24.04.2012, 10:24     Titel:
  Antworten mit Zitat      
Hallo

was hast du für Matlab Version?
In neuen Versionen sollte man VideoReader verwenden.
Private Nachricht senden Benutzer-Profile anzeigen
 
geieraffe
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 19.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.04.2012, 11:41     Titel:
  Antworten mit Zitat      
ich verwende R2007b, sprich 7.5.0.342

zu VideoReader hab ich in der Version leider nichts gefunden und eine andere Version steht mir leider nicht zur Verfügung.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 25.04.2012, 11:35     Titel:
  Antworten mit Zitat      
Hallo

okay, aber woher kommt MMREAD Funktion?

Ich kenne nur MMREADER. Also wenn du das Video mit MMREADER einliest, dann wird das Video nicht komplett eingelesen, sondern das muss du in Schleife Bild für Bild einlesen.
Fürs Abspielen muss du auch selbst sorgen
so:
Code:

vidObj = mmreader('Pfad_zu_Video.avi')
Frame = read(vidObj,1);
him     = imshow(Frame);
for k=1:vidObj.NumberOfFrames
  Frame = read(vidObj,k);
   set(him, 'CData',Frame)
   pause(1/vidObj.FrameRate);
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
geieraffe
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 19.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.04.2012, 12:22     Titel:
  Antworten mit Zitat      
mmread() hab ich von http://www.mathworks.com/matlabcentral/fileexchange/8028-mmread

Ich bin inzwischen auch schon ein Stück weiter und konnte mplay so umschreiben, dass es mir immerhin ein Bild anzeigt, aber wohl immer nur das erste.


Deine vorgeschlagene Lösung kann ich leider nicht ausprobieren, da mir imshow() fehlt.
Funktioniert das auch mit einer anderen Funktion?

edit:
kleiner Nachtrag: mmreader() funktioniert nicht, ich bekomm die Fehlermeldung
Code:
??? Error using ==> mmreadermex
Initialization failed. (Es wurden keine Zwischenfilter für die Herstellung der Verbindung
gefunden.)
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 25.04.2012, 17:42     Titel:
  Antworten mit Zitat      
IMSHOW kannst durch IMAGE oder IMAGESC ersetzen

Okay dann fällt MMREADER weg, da unterstützt Matlab wohl den Codec wohl nicht

so kann man das Video mit MMREAD abspielen:
Code:

video= mmread('pfad_zu_video.avi')
Frame = video.frames(1).cdata;
figure
him     = image(Frame);
for k=1:length(video.frames)
   Frame = video.frames(k).cdata;
   set(him, 'CData',Frame)
   pause(1/video.rate);
end
 


MPLAY ist nicht mehr auf neuen Matlab Versionen vorhanden

Hast du auch AVIREAD ausprobiert?
Private Nachricht senden Benutzer-Profile anzeigen
 
geieraffe
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 19.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.04.2012, 08:05     Titel:
  Antworten mit Zitat      
Vielen Dank erstmal zwischendrin für deine Mühe Very Happy

also mit AVIREAD bekomm ich:
Code:
video = aviread(path2video);
??? Error using ==> readavi
Unable to locate decompressor to decompress video stream

... falscher Codec eben.

Dein Code von oben aber hat funktioniert ... einmal.
Seitdem bekomm ich nur eine Figure mit weißem Quadrat und ich hab keine Ahnung warum Smile

edit:
ok funktioniert doch, lag wohl am out of memory.

Vielen Dank


btw ... kennst du außer AVIREAD, MMREADER und MMREAD noch etwas?
die ersten beiden funktionieren bei mir näml nicht und die dritte Lösung funktioniert nur unter Windows :/
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 26.04.2012, 10:07     Titel:
  Antworten mit Zitat      
schaue hier rein
http://www.gomatlab.de/alternative-.....deos-einlesen-t23353.html
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.