Weil du ihn in den Text eingefügt hast
Du musst den anhang einfach dran hängen lassen, dann wird der angezeigt, glaub ich.
Grüße
Weil du ihn in den Text eingefügt hast
Du musst den anhang einfach dran hängen lassen, dann wird der angezeigt, glaub ich.
Grüße
Danke für das Update - leider bin ich bis jetzt noch nicht zum Testen gekommen...werde mich nächste Woche wieder näher damit befassen.
So hatte jetzt wieder Zeit mich mit dem Beamertool zu beschäftigen:
Generell: gute Performance (25 Layer, Bewegungs, Farb- & Dimmeffekte
Skalierung: habe jetzt mit dem Faktor 1.5 experimentiert - funktioniert für mich ganz gut
zwei Probleme traten dann doch auf:
1.) ich habe neue, größere Gobos gezeichnet: bei einigen wird nur ein Quadrat angezeigt (siehe Anhang 25 wird angezeigt, 26 nicht)
mein Texturordner ist derzeit ca. 26 MB groß - wenn ich die Dateien umbenenne (andere Reihenfolge) werden andere falsch dargestellt.
2.) wenn die von dir erstellte Maske im Texturordner ist bekomm ich nach dem Laden nur einen grauen Schirm
LG Denny
P.S.: Ich hab mir übrigens noch 2 PIs bestellt ![]()
P.P.S.: Hier alle Texturen zum Download - http://www.adrive.com/public/596RFU/Textures.zip
War im Urlaub, komm darum leider erst jetzt zum Antworten.
Zu Problem 1:
Den Fehler, dass nur Quadrate angezeigt werden kann ich leider nicht nachvollziehen. Bei Textur 25/26 ist es da so, dass dann alle Texturen >26 auch nicht bzw. Falsch angezeigt werden? Wenn ich deine Texturen lade bleibt bei mir alles komplett schwarz. Wenn das Quadrat nur Teile des Bildschirms betrifft bzw. sogar nur einzelne Laserinstanzen könntest du davon bitte ein Bild machen?
Ich denke mal die Ursache davon ist der Speicher des Raspberry Pi. Darum habe ich oben auch empfohlen den Graphik Speicher auf 128MB zu erhöhen, jedoch sind viele 1024*1024 Texturen einfach zu groß. Beim Programmstart läd das Programm alle Texturen unkomprimiert in den Grafikspeicher. Dabei werden für jedes Pixel 4 Byte benötigt (ein Byte je für rot, grün und blau, sowie ein Byte für den Alpha Kanal). Bei einer Auflösung von 1024*1024 Pixel macht das 4MB pro Textur. Es passen also theoretisch gerade mal 32 solch großer Texturen in die 128MB Speicher. Wenn man jetzt noch abzieht, dass auch noch ein paar andere Daten als die Texturen im Speicher liegen, wird klar warum 25 Texturen gehen aber dann Schluss ist.
Lösung: hab ich leider erstmal keine, darum steht auch auf meiner ToDo Liste noch Speichermanagment verbessern, jedoch muss ich mich in diese Thematik ersteinmal einarbeiten.
Eine einfache Lösung wäre die Texturen erst bei Bedarf zu laden, jedoch habe ich mich bisher dagegen entschieden, da das Laden einige Zeit benötigt. (Merkt man ja beim Programmstart mit den großen Texturen). Die Texturen sollen ja schließlich sofort angezeigt werden sobald sie per DMX ausgewählt werden.
Als Workaround kannst du Testweise den Graphikspeicher auf 256MB zu erhöhen (nur Modell B in der neusten Version, also wenn der Raspberry Pi 512 MB Speicher hat). Ansonsten hilft nur kleinere Texturen verwenden. Insbesondere bei rechteckigen Texturen (z.B.: 1, 2 und 3) ist eine große Auflösung unötig, da diese ja schön skalierbar sind. Es entstehen keine Treppeneffekte an den Kanten auch beim Rotieren nicht. Auch das Quadratisch-Machen der Texturen in dem man transparenten Rand hinzufügt ist unnötig, da beim Anzeigen der Texturen die Auflösung bzw. das entsprechende Seitenverhältnis berücksichtigt wird.
Zu Problem 2:
Bei mir funktioniert die Maske die ich ins Forum gestellt habe. Wäre es möglich, dass der graue Bildschirm von Problem 1 kommt? Teste die Maske mal nur mit einer einzigen weiteren Textur.
Zum genrellen Stand:
Bin dabei die gif unterstützung einzubauen, jedoch wird dies noch einige Zeit dauern. Da ich keine passende Bibliothek zum gif Bilder laden gefunden habe, schreib ich gerade meine eigenen Funktionen zum gif Dateien auszulesen. (Aktueller Fertigstellungsgrad ca. 60%). Anschließend dies noch in die Lasersimulation einbauen.
Nachteil von Animierten gifs ist aber auch obiges Problem 1, ein animiertes gif bestehend aus 16 Frames und einer Auflösung von nur 256*256 Pixel benötigt dann auch 4MB speicher. längere hochauflösende Animationen werden also auch hiermit nicht bzw. nur in geringen umfang möglich werden.
mfg
Moritz
neue Version 0.2!
Änderungen:
gif-Unterstützung:
- neben png Gobos jetzt auch gif möglich, einfach ???.gif in den Texturen Ordner schieben. (sollte ein png und gif Bild mit gleicher Nummer im Texturenordner sein wird das png genommen)
- es wird auch die Animation von gif Dateien unterstützt, jedoch eingeschränkt.
- Animtions-Einschränkungen:
- der Animations DMX Kanal wird ignoriert
- die Animation läuft in Endlosschleife unabhängig davon was in der gif Datei steht
- die Animation läuft etwa 20% zu schnell ab
- Bei der ersten Anwahl des gif Gobos wird die Animation am Anfang gestartet, wechselt man zu einem anderen Gobo wird die Animation pausiert und setzt bei erneuter Anwahl an dieser Stelle fort
- Es ist nun möglich das Programm per Tastendruck [q] zu beenden
Am Speicherproblem aus dem vorherigen Post hat sich leider noch nichts getan, also möglichst keine sehr große gif Bilder mit vielen Frames verwenden bzw. einfach testen ob es dann noch geht ![]()
Installation wie bei den vorherigen Versionen.
Download:
lasersim_0.2.zip
mfg
Moritz
PS.: beim Download ist keine gif Datei dabei, falls ihr gerade keine (animierte) Gif Datei zu Hand haben solltet, ist diese hier ganz schön (leider nur sehr kleine Auflösung): fire.gif
Hi,
ich bin endlich mal dazu gekommen meinen RaspberryPi in Betrieb zu nehmen. Dein Tool gefällt mir.
Die Ausgabe via SSH ist ganz praktisch zum debuggen aber meiner Meinung nach zu aufwändig wenn man Show starten will.
Kannst Du einen Parameter vorsehen, mit dem man die Ausgabe unterdrückt? z.B. ./lasersim.bin --silent
Für alle nicht-Linuxer: das Skript /etc/rc.local wird beim Booten ausgeführt.
Folgende zeilen müssen einfügt werden (vor exit 0):
cd /home/pi/lasersim
./lasersim.bin > /dev/null
dann startet das Tool beim booten automatisch.
Grüße
zoidberg
Hallo,
Moritz war so freundlich mir mal den Quellcode zur Verfügung zu stellen. Da hab ich noch eine Funktion eingebaut. Wenn ein Artnetpaket empfangen wird, blinkt eine Kontroll-LED. Ich hab dafür den GPIO-Port 23 benutzt. Schaltung gibts z.B. hier
Download: http://beamertool.ath.cx/lasersim.tar.gz
Für die Nicht-Linuxer hab ich noch ein kleines Installationskript geschrieben: http://beamertool.ath.cx/lasersim.sh
Achtung: dieses Skript nimmt sehr tiefgreifende Änderungen am System vor. Bitte benutzt eine extra SD-Karte zum testen!
Nachdem das Skript durchgelaufen ist, bootet der RaspberryPi neu und startet Lasersim automatisch. Es gibt ein kleines Webinterface, welches unter http://lasersim erreichbar sein sollte. Weiterhin wird eine Sambafreigabe angelegt. Das Gerät sollte in der Windows-Netzwerkumgebung sichtbar sein.
Unter der Freigabe \\lasersim\lasersim liegt dann die Datei config.txt. Dort können die Adressen eingetragen werden.
Download Win32DiskImager: http://sourceforge.net/projects/win32diskimager
Download Raspbian “wheezy” Image: http://www.raspberrypi.org/downloads
Write Image to SD-Card
Login via SSH (z.B. Putty) http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
username: pi
password: raspberry
# run following commands:
sudo raspi-config
-> Expand Filesystem
-> Advanced Options -> Memory Split -> 256
wget http://beamertool.ath.cx/lasersim.sh
sudo bash lasersim.sh
Gibt es mittlerweile schon eine neue Version?
Würde mir noch *.mp4 mit H-264 Support wünschen... dann könnte ich endlich meine Beamer-Shows rein auf Raspi laufen lassen.
Der Raspi kann ja FullHD Videos wiedergeben - kann man das nicht irgendwie mit einbauen?
Hallo Markus
Nur videos wiergeben wäre nicht das Problem sondern dass manipulieren.
Ist also nicht ganz so leicht. Aber wenn da wer Ahnung hat, nur los ![]()
Gruß Philipp
Hmm...
Bisher hat man beim PC-BeamerTool auch nur eingeschränkten Nutzen von Manipulieren gehabt, da Transparenz nicht unterstützt wurde... aber trotzdem bleiben noch vermutlich schwer umzusetzende Features...
Muss ich doch alle Texturen in Gifs umwandeln... ![]()
Vielleicht keine so schlechte Idee - hätte ich vielleicht mal andere/eine Möglichkeit(en) der Kompression anstatt gar keiner...
Es gibt leider noch keine neue Version.
Auf meiner ToDo Liste steht Videounterstützung aber ganz oben, jedoch bin ich noch ziemlich am Anfang damit und das Projekt ist in letzter Zeit aufgrund anderer Projekte etwas eingeschlafen. Prinzipiell ist das Einbinden von Videos samt Manipulation aber möglich.
Ein Beispiel dazu findet man auf dem Raspberry im Verzeichnis /opt/vc/src/hello_pi/hello_videocube
Ich versuch mal das in nächster Zeit weiterzumachen, will aber jetzt mal noch kein Termin versprechen.
Das Umwandeln von Videos in gifs kann ich nur eingeschränkt empfehlen. Im Moment werden zu Beginn alle Texturen unkomprimiert in den Graphikspeicher geladen. Bei einem gif wird dabei jedes Frame einzeln als Bild im Speicher abgelegt. Jedes Pixel belegt dabei 4 Bytes. Wenn man jetzt von FullHD Auflösung ausgeht braucht ein Gobo/Textur oder Frame eines Gif's etwas 8 MB. Wenn man jetzt noch von 24 Bildern die Sekunde ausgeht und 256 MB Grafikspeicher auf dem Raspberry, passen also leider nicht mal 1,5 Sekunden Full HD Video als gif in den Speicher und man kann dabei keine weiteren Texturen verwenden.
(Speicheroptimierung steht auch noch auf der ToDo-Liste
)
Wenn es was neues gibt meld ich mich auf jeden Fall hier.
Hmm... Schade.
Darf ich noch ein paar Feature Wünsche äußern?
a) auch ansteuerbar per Beamer.out.dll
b) Zuschaltbare DMX-Kanäle die, die GPIOs ansteuern.
Ich stell mir das so vor:
Es gibt ein Konfigurationsfenster im Beamertool, wo man bis zu 7 weitere ausgelesene DMX-Kanäle aktivieren kann (7, weil 1 GPIO für die Kontroll LED ist). Zudem ist das Verhalten frei konfigurierbar, wie z.B. Switch, PWM.
Hintergrund:
Man kann dann direkt einen Shutter-Servo mit den Pi ansteuern. Oder auch andere Funktionen.
Grüße,
Black
Hallo miteinander
Also wenn du mit Servus und nem Raspberry Pi schaffen willst, kann ich dir folgendes empfehlen. Hat bei mir hervorragend funktioniert https://github.com/richardghirst/…er/ServoBlaster. Ist halt nicht unbedingt dass sicherste (keine galvanische Trennung) für die GPIO aber tut perfekt.
Ist jetzt nur mal so als Anregung eingebracht.
Gruß Philipp
Hallo,
hatte die letzten Monate leider keine Zeit um mit dem Beamertool zu spielen...wollte aber trotzdem fragen ob ich den aktuellen Quellcode bekommen kann.
Leider tritt bei WLan immer wieder eine starke Verzögerung auf - ich muss aber noch testen wo genau die Fehlerquelle liegt (DMXControl, Router,...). Bilde mir ein wenn ich die LaserPis über ein anderes Pult ansteuere tritt das Problem nicht auf.
LG Denny
P.S.: Ein paar kleine Arbeiten konnte ich aber bereits realisieren - habe aber Größtenteils auf Gegenstände projiziert - Beameffekte gibt es kurz ab ca.4:45 http://www.youtube.com/watch?feature=…tKX540D-Q#t=284
Hallo,
habe versucht das Beamertool neu zu installieren und bekomme bei der Ausführung des Scripts mehrere Fehlermeldungen - siehe Anhang.
Komme leider nicht weiter ![]()
hoffe es kann sich das mal wer der wissenden ansehen...
Das sieht verdächtig so aus, als wäre das Shell-Script nicht mehr mit Linux-(\n), sondern mit Windows-Zeilenumbrüchen (\r\n) versehen. Da wurde wohl versehentlich was konvertiert. Versuch noch mal, die Datei im Binärmodus auf den PI zu übertragen.
Stefan
Ich habe die Datei über "wget http://beamertool.ath.cx/lasersim.sh" geladen und dann mit "sudo bash lasersim.sh" ausgeführt - das hat so auch schon mal vor einigen Monaten funktioniert. - Werde mal versuchen die Datei binär zu übertragen.
lg Denny
neue Version 0.3!
Es gibt nun die neue Version 0.3 des Raspberry Pi Beamertools, unter anderem mit Videounterstützung. Aufgrund der vielen und tiefgreifenden Änderungen ausdrückich nochmal als BETA. Zu Stabilitätstests bin ich noch nicht groß gekommen, insbesondere nicht mit verschiedenen Videodateien.
Änderungen:
- Portierung des gesamten Quellcodes von C nach C++ (objektorientiert)
- Modularisierung innerhalb des Quellcodes
- Unterstützung für h264 Videos
- kein rotes "E" mehr, für fehlende Texturen
Was tut (noch) nicht?
- Die LED Anzeige für ArtNet Empfang fehlt (Bei meinem Raspberry gehen scheinbar die GPIO Pins nicht richtig, bin noch nicht dazugekommen dem auf den Grund zu gehen, hab den LED Code erstmal auskommentiert. Funktioniert bei euch die Version von zoidberg mit LED Anzeige? Falls ja wird es definitiv an meinem Raspberry liegen)
- Die ArtpollReply ist fehlerhaft. Der Code zum Ermitteln der eigenen IP Adresse war nicht C++ kompatibel und ist noch nicht aktualisiert.
- Wenn man Videos als Texturen verwendet dauert das Starten (ca. 5s) und Beenden (ca. 10s) sehr lange
- Die Texturen sind zwar schon ein eigenes Modul, momentan werden aber noch beim Start alle Texturen geladen. Geplant ist, dass die Texturen erst bei Bedarf geladen werden, damit sollte dann genug Platz sein, dass man viele HD Texturen verwenden kann.
- Die Berechnung der Drehungen, Shutter, etc. erfolg im Moment noch pro Frame wie im Windows Beamertool. Beim Abspielen von Videos (insbesondere HD) kannn der Raspberry Pi die Framerate nicht halten, dadurch kann es sein, dass die automatischen Drehungen, Shutter, etc. langsamer ablaufen. (zukünftig dann eventuell mal zeitgesteuert)
- Es können nur 3 Video Texturen verwendet werden (zukünftig mehr)
Videoformat
Die Videos müssen direkt im AVC Format vorliegen OHNE mp4, mkv, avi, etc. Container und die Dateiendung .h264 haben.
Zum Testen hab ich die Videotexturen aus dem Beamertool Texturenpack genommen und mit ffmpeg konvertiert. (192.h264 ist beim Download dabei)
ffmpeg Download: http://www.ffmpeg.org/download.html
Aufruf:
Die Nummerierung der Texturen ist egal. Es wird für jede Zahl zwischen 000 und 255 geprüft ob eine *.png Datei vorhanden ist, dann *.gif und dann *.h264
Gibt es mehr als 3 Videotexturen wird stattdessen eine rote Fehlertextur angezeigt.
Wenn ihr eine HD Textur zum testen benötigt gibt es einen kurzen Full HD Ausschnitt aus Big Buck Bunny im AVC Format. Dieser ist auf dem Raspberry im Verzeichnis: /opt/vc/src/hello_pi/hello_video/test.h264
Einfach ins Beamertool/Texturen Verzeichnis kopieren und umbenennen.
Installation:
Es wird das Programm mediainfo benötigt (zum Herausfinden der Videoauflösung):
ansonsten entspricht die Installation die der aller ersten Version (siehe oben).
Bin leider auch noch nicht dazu gekommen, zoidbergs Installationsscript an die neue Version anzupassen.
Hier der Download:
lasersim_0.3.zip
Bitte schreibt hier alle Fehler die ihr findet, insbesondere zu den Videos.
PS: Ich hab hier zwar immer mitgelesen, hab mich aber nicht mehr zu Wort gemeldet, darum hier mal gesammelt:
Black
Wie meinst du mit ansteuern per beamer.out.dll? Ich weiß zwar nicht was die beamer.out.dll genau macht, bin aber davon ausgegangen, dass diese nur ein lokal auf dem gleichen Rechner laufendes Beamertool steuern kann. Solange dort im Hintergrund kein Netzwerkprotokoll wie ArtNet läuft seh ich keine Möglichkeit dies zu unterstützen.
Zuschaltbare DMX Kanäle für die GPIO Pins sind sicher eine tolle Idee, jedoch hab ich noch keinerlei Erfahrungen mit den GPIO Pins und das liegt sicher außerhalb der Kernfunktion des Beamertools, daher würde ich das mal eher auf die langfristige optionale TODO Liste setzten. Sollte das jemand einbauen wollen, kann er das gerne übernehmen.
zu Denny:
Den Quellcode schick ich gerne jedem der Interesse hat per PN. Ich habe immer noch vor den mal zum Download anzubieten, jedoch wollte ich damit warten bis ich selber irgendwann mal damit zufrieden bin, insbesondere zählt Dokumentation und Kommentierung dazu. Ich hab mit bei der C++ Portierung zwar schon mühe gegeben den Code so sauber wie möglich zu halten, jedoch gibt es noch fast keinen Kommentar und keine Dokumentation. Solange geb ich den Code gerne per PN weiter.
zum Installations Skript:
hab das mit dem Script auch mal probiert. Für mich sieht es so aus als ob das Script schon auf dem Downloadserver "\r\n" Zeilenumbrüche hat.
neue Version 0.3.1
Die Lösung für die GPIO Pins ansteuern war recht einfach, darum gleich noch ein kleines Update hinterher. Man benötigt schlicht root Rechte um die GPIO Pins schreiben zu können. Wenn man die Status LED für den Artnet Empfang benötigt muss man das Raspberry Pi Beamertool mit sudo ... starten. Das Beamertool funktioniert auch weiterhin ohne root Rechte, jedoch dann ohne Status LED für den Artnet Empfang.
Download:
rpi_beamertool_0.3.1.zip
mfg
Moritz
Hallo Moritz
Hört sich ja mal echt super an.
Das mit den 3 Videos liegt daran, dass du die videos gleich in den Speicher lädst oder was hat das für einen Grund.
Hab mein Raspi leider gerade nicht da und kann deshlab nicht testen ![]()
Gruß Philipp