Verfasst am: 08.12.2010, 18:34
Titel: Re: Videoqualität ist mies!
Hallo subkaz,
Ein AVI mit 'Compression'='none' hat eine schlechte Qualität?! Das ist ja krass. Eigentlich sollten die unkomprimierten Videos riesig sein (hunderte Mega-Bytes), aber ein eins-zu-eins-Abbild des orginalen Inhalts der Figure.
AVIs sind für Animationen meiner Ansicht nach ungeeignet. Es gibt zwar tolle Kompressoren, aber wenn man das dann in einem PowerPoint-Vortrag auf einem fremden Rechner abspielen will, klappt in 50% der Fälle gar nichts.
Deshalb speicher ich alle Animationen für Präsentationen als animated GIF ab. Zuerst erzeuge ich einen Haufen von PNG-Files (GETFRAME, IMWRITE), und lasse dann ImageMagick (free download aus dem Netz) ein optimiertes animated GIF erzeugen:
Mit Color-Reduction bekomme ich dann Filme, die statt 250MB nur noch 173kB haben und auf jedem Rechner darstellbar sind, auch Apples von 1998.
Gruß, Jan
subkaz
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 08.12.2010, 18:43
Titel:
Hi,
thx dass ist mal eine gute Idee.
Jetzt versuche ich mich gerade an getframe() nur leider fehlen meine laufend erneuerten Positionen (mit 'Marker', '+') die ich in die Figure eintrage im Video. Woran liegt das denn?
Ich übergebe getframe() ja das figure handle.
Kannst Du mir da auch weiterhelfen?
Wie sieht denn Deine Kombi mit imwrite aus?
Kannst Du mir da den kompletten Befehl für angeben den Du verwendest?
Jetzt versuche ich mich gerade an getframe() nur leider fehlen meine laufend erneuerten Positionen (mit 'Marker', '+') die ich in die Figure eintrage im Video. Woran liegt das denn?
Ich habe keine Ahnung, woran das liegen könnte. DRAWNOW vor GETFRAME einfügen vielleicht?
Ich habe dann noch ein paar Kleinigkeiten eingebaut:
1. Anti-Aliasing mit einer beschleunigten Version von:
http://www.mathworks.com/matlabcentral/fileexchange/20979
2. Farb-Reduktion auf 256 Farben ohne Dithering mit RGB2IND, wobei die ColorMap aus dem ersten Frame benutzt wird (reduziert die File-Größe noch weiter).
3. Progressbar, da das Speichern dann doch recht lange dauern kann.
Leider ist das zu umfangreich, um es in die FEX zu setzen.
Gruß, Jan
subkaz
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 08.12.2010, 20:03
Titel:
Hi Jan S,
jetzt habe ich ein animated.gif das powerpoint nicht darstellen kann.
Kann ich irgentwie überprüfen ob das animated gif nen Fehler hat?
Kann mann das irgentwie abspielen?
Kenn animated Gif gar nicht, ist mir völlig unklar wie daqs laufen soll?
Nein, das Ausrufe-Zeichen ist wichtig! Damit wird der Befehl ans Betriebssystem weitergegeben, das dann wiederum ImageMagick aufruft. Hast Du ImageMagick installiert?
Gruß, Jan
subkaz
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 09.12.2010, 09:51
Titel:
Hi,
ja ich habe es installiert.
Du führst das in der Eingabeaufforderung aus? (unter Windows 7)
Da kennt er bei mir nur "convert" bei "!convert" sagt er dass er den Befehl nicht kennt.
Mfg
subkaz
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 09.12.2010, 12:56
Titel:
Hallo Jan S,
sach mal ich glaube das liegt daran, dass ich mit surf() plotte.
Kann ich da dann auch animated gifs draus machen, oder geht das grundsätzlich nicht?
... mit plot bekomme ich in meiner Anwendung auch welche hin.
Wie ziehe ich mir also ein Video wenn ich mit surf() und plot3() arbeite?
Das Ausrufezeichen ist nötig, wenn man das Programm direkt aus Matlab startet. Ich führe lasse das halt gleich automatisch am Ende des Exports erledigen. Also entweder "!convert" in Matlab oder "convert" in der Kommando-Zeile von Windows.
Es ist vollkommen egal, ob man die Grafik mit PLOTs, SURFs oder irgendwelchen anderen Funktionen erstellt! Mit GETFRAME wird der Inhalt des Fensters in ein [Width x Height x 3] Array umgewandelt, das die Farbe jedes einzelnen Punktes enthält. Ob diese Punkt nun mit SURF oder PLOT erstellt wurden, ist nicht zu unterscheiden.
Du kennst animated GIFs z.B. von den lustigen Smilies, die links neben dieser Eingabe-Maske vor sich hin blinzeln, lachen und mit den Augen rollen. Jeder Browser kann sie anzeigen, eingeschlossen Netscape 1.1 für Mac und die WAP-Browser der Handies.
Wenn es nicht funktioniert, kannst Du Dir ja mal die einzelnen PNGs anschauen. Wenn die in Ordnung sind, hat Convert wohl Probleme. Gibt es eine Fehlermeldung?
Gruß, Jan[/i]
subkaz
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 10.12.2010, 10:10
Titel:
Hallo Jan,
ok ich hatte convert nicht aus matlab direkt gestartet und habe deshalb convert verwendet.
Das Problem ist, dass die png-Dateien immer das gleich Bild enthalten.
Somit wird auch das mit der animated gif nichts.
Ich habe jetzt halt einmal mit plot() ne Grafik erstellt und da funktioniert das Erzeugen einer animated gif einwandfrei.
... und das andere Mal habe ich ne Grafik mit surf() und da klappt das nicht da getframe() immer das gleiche Bild nimmt und nie die aktuelle Version.
Bitte entschuldige die banale Antwort: An etwas anderem.
Das hat mit SURF nichts zu tun, sondern irgendein anderes Detail muss sich auch noch unterscheiden. Poste doch einfach mal den entsprechenden Code-Abschnitt mit allen relevanten Zeilen. Vielleicht zeichnest Du in einem Fenster und benutzt GETFRAME für ein anderes? Oder das DRAWNOW fehlt?
Ich habe SURF, PATCH, LINE und UICONTROLs in meinen Animated-GIFs, mit OpenGL, Painters und ZBuffer Renderer - und es funktioniert, siehe z.B.:
Gruß, Jan
subkaz
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 15.12.2010, 19:44
Titel:
@Jan S
hmm, ich starte noch einen letzten Versuch.
Ist die Scrollbar im Powerpoint dann auch da?
Wenn ja wie geht das?
Also irgendwas stimmt da nicht mit dem figure-Zugriff
-> Kannst Du mir da weiterhelfen?
... und mir da so eine Scrollbar einbauen für Powerpoint (so dass ich das ggf. im Vortrag anhalten kann?)
Also irgendwas stimmt da nicht mit dem figure-Zugriff
-> Kannst Du mir da weiterhelfen?
Kannst Du beschreiben, was nicht stimmt?
Zitat:
... und mir da so eine Scrollbar einbauen für Powerpoint (so dass ich das ggf. im Vortrag anhalten kann?
Die Scrollbar ist Teil des Films. Stoppen kannst Du den Film direkt in PowerPoint. In modernen Versionen (also nach Office97 ...) sollte man eigentlich auch irgendwie im Film navigieren können. Ich weiß aber nicht wie, da ich versuche um das Microsoft-Office herum zu kommen, wann immer es möglich ist.
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
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.