Movie aus RAM abspielen?

Anfängerfragen zum Programmieren mit PureBasic.
Gimbly
Beiträge: 169
Registriert: 28.12.2005 14:26
Wohnort: NRW

Movie aus RAM abspielen?

Beitrag von Gimbly »

Hallo,

wenn man mit den Movie-Befehlen ein Video abspielt, arbeitet ständig die Festplatte.

Ich möchte ein kleines (10 MB) avi-Video in einer Endlosschleife abspielen lassen, aber ohne ständigen Festplattenzugriff.

Gibt es eine Möglichkeit das Video ins RAM zu laden und von dort abzuspielen?
Gruß
Markus
Benutzeravatar
uweb
Beiträge: 461
Registriert: 13.07.2005 08:39

Beitrag von uweb »

Wenn Du LoadMovie() nicht durch eigenen Code ersetzen kannst
(Ich schätze der Aufwand wäre, wenn es überhaupt so geht, rießig)
kommst Du an einer Datei nicht vorbei.
Das einzige was ich Dir raten kann ist eine RAM-Disk.
Gimbly
Beiträge: 169
Registriert: 28.12.2005 14:26
Wohnort: NRW

Beitrag von Gimbly »

RAM-Disk wäre keine Lösung, da man die ja nicht nur während der Laufzeit des Programms einrichten und dann wieder rausschmeißen kann.
Gruß
Markus
Benutzeravatar
uweb
Beiträge: 461
Registriert: 13.07.2005 08:39

Beitrag von uweb »

Ja, damit bin ich auch nicht so glücklich.

Einer der Punkte auf meiner langen Liste von
Dingen die ich irgendwann einmal realisieren
(können) will ist WebDAV.

Das ist eine Erweiterung von HTTP um Dateien und
Verzeichnisse zu verwalten.

Es bietet mehr als FTP und läßt sich unter Windows
sehr einfach dynamisch als Netwerkverbindung einbinden.

Du kannst das leicht mit einigen freien Web-Servern testen.
Die greifen dann aber auch nur auf physikalische Dateien zu.

Den Aufwand einen eigenen Server zu schreiben,
der einen davon befreit, sollte man nicht unterschätzen.

Eine andere Alternative kenne ich nicht.
Gimbly
Beiträge: 169
Registriert: 28.12.2005 14:26
Wohnort: NRW

Beitrag von Gimbly »

Na ja,

die Notlösung, die ich im Moment verfolge, ist die, die Movie-Frames auf ein Sprite zu rendern und dieses dann im RAM abzulegen. Beim Abspielen greif ich dann mit Zeigern auf die Frames zu und schreibe sie direkt in den Videospeicher.

Da kommen aber schnell einige 100 MB zusammen, da die Frames ja entkomprimiert werden. Ausserdem geht das mit annehmbarer Geschwindigkeit nur mit Assembler, den ich zum Glück "aus alten Zeiten" noch einigermaßen beherrsche.

Eventuell könnte man die Frame-Daten noch komprimiert speichern und beim Abspielen wieder entkomprimieren, aber das ist natürlich auch wieder einer Geschwindigkeitsfrage.

Alles wirklich nur eine sehr umständliche Notlösung ...
Gruß
Markus
Antworten