bml2gif - the blinken preview

Hier kann alles andere besprochen werden. Software, Treffen, oder Projekte wie Kippenlights, GroggyClock, usw.
Post Reply
User avatar
cascade
BlinkenSemiProfi
BlinkenSemiProfi
Posts: 41
Joined: Sat Aug 30, 2003 12:48 pm
Location: Kiel
Contact:

bml2gif - the blinken preview

Post by cascade »

Hi ihr Mitblinker,

ich habe auf ST's Anfrage hin ein script online gestellt namens bml2gif[1] mit dem man animierte GIFs von seinen bml (und blm) filmchen machen kann.
Nun wollte ich mal Fragen ob jemand noch konkrete Vorschlaege hat fuer Erweiterungen oder Kritik aeussern will.
Bitte beachtet das ein kleiner server dahinter steht und php nicht gerade die leistungsfaehigste sprache ist und man deswegen leider nicht die ganz grossen animationen wie das bekannt view.bml erzeugen kann (ich habs probiert, die frames wurden erzeugt doch convert (teil von ImageMagick) wurde von meinem OS nach dem Konsum von 350MB Ram gekill).
Hier noch ein paar Samples:
Image
Image
Image
Image

In diesem Sinne: Happy Blinkin'
Ca$cAdE

[1] http://cascade.dyndns.org/~work/scripts/bml2gif/
BlinkenCUBE - AM mit 4160(+4)LEDs ^^ => Guckst du?
User avatar
ST
BlinkenProfi
BlinkenProfi
Posts: 93
Joined: Mon Jun 23, 2003 8:26 pm
Location: Stuttgart
Contact:

Post by ST »

Hi Ca$cAdE,

wie ich per Mail schon schrieb: "Ganz großes Kino!". :-)

Wenn du und 1stein zustimmt können wir die Sache ja auch auf blinknarea.org laufen lassen. Müsste natürlich auf "sicherheitstechnische Bedenken" abgeklopft werden, aber da spreche ich 1stein mehr Kompetenz zu. Schlimmer als phpBB und Twiki kanns ja nicht sein. ;-)


Viele Grüße

[STephan]
User avatar
stefan
Blinkenizer
Blinkenizer
Posts: 234
Joined: Wed Oct 09, 2002 9:45 pm
Location: Aachen
Contact:

Post by stefan »

Hm, ich bekomme bei 350MB RAM-Bedarf leider arge Bauchschmerzen. Das hieße ja, dass jeder einfach ein großes *.bml hochladen kann und dann steht alles andere auf dem Server, weil es wie blöd rumswappt...

Das ist nichts gegen das Skript, das sieht echt gut aus, was da so rauskommt - aber da würde ich Euch schon bitten, den RAM-Bedarf zu beschränken und das Skript erst auf blinkenarea.org zu installieren, wenn das klappt...

Gruß,
Stefan

EDIT: Kann man nicht einfach den Quelltext des Skripts releasen und jeder führt das Skript lokal aus? Sowas müsste doch von der Kommandozeile aus auch ohne Webserver laufen...
User avatar
cascade
BlinkenSemiProfi
BlinkenSemiProfi
Posts: 41
Joined: Sat Aug 30, 2003 12:48 pm
Location: Kiel
Contact:

Post by cascade »

Hey, das mitm RAM kommt nicht von mir sondern das ist nachher ImageMagick was beim zusammenpacken eines GIFs so viel zeug zieht.
Und da ist auch das Problem, habt ihr nen convert was LZW unterstuetzt?
Das PHP an sich ist aber auch (noch nicht) das fixeste, ich bin gerade am rumprobieren was man da noch so optimieren kann... Alternativ lern ich C und schreib das alles selbst *hust* Oder weiss jemand von euch wie man sonst gut animierte gifs erzeugen kann?

Man koennte ja auch einfach das script da lassen wo es liegt, nutzen tut das erstmal keiner und es laeuft bei mir noch alles ;)

Zum Thema Quelltext releasen: Solange mir selbst noch schlecht wird wenn ich den code anguck veroeffentliche ich nichts *g* Und das obwohl zwischen den ersten lauffaehigen versionen und der aktuellen sich die scriptlaenge trotz neuer features halbiert hat ebenso wie die zeit die es fuer ein movie braucht.
Momentan rendert das script trotzdem erst 3-5 frames pro sekunde, das zusammenfuegen zum gif dauert laenger, aber ich hab keinen einfluss auf die tools von ImageMagick. Und meinem alten Server der nebenbei schon genug macht und mit 384MB Ram nicht gerade ueppig ausgestattet ist fuer Bilderstellung ;(
Es ist ja auch nur nen Spielkram, nicht wirklich ernstzunehmen (wie alles was ich mache).
Ich werd mir erstmal weiter optimierungen einfallen lassen und den code aufraeumen, nun laeuft ja erstmal alles an basic features.

Danke erstmal fuer das positive resultat-feedback ;)

EDIT: Ich hab gerade nen patch gefunden mit dem man nur mit php animierte gifs erzeugen kann, wenn das was wird koennte das script an performance evtl gewinnen... Alternativ hab ich noch nen anderes commandline tool gefunden was animierte gifs erzeugt, erste test sind wesentlich schneller als convert von ImageMagick... hab ich ja noch was zu tun ;)

So long...
Ca$cAdE
BlinkenCUBE - AM mit 4160(+4)LEDs ^^ => Guckst du?
User avatar
cascade
BlinkenSemiProfi
BlinkenSemiProfi
Posts: 41
Joined: Sat Aug 30, 2003 12:48 pm
Location: Kiel
Contact:

Post by cascade »

Das mit dem php patch koennte dauern, hab gerade paar probleme mit den ganzen abhaengigkeiten (diese miesen kleinen grafiklibs, irgendwann erhaeng ich die noch) und dem patch selbst...
Aber das andere Programm gifsicle[1] ist nett, um einiges schneller... Damit hab ich es sogar geschafft das view.bml (764 frames) und bb-gewaber.bml (599 frames) zu rendern, raus gekommen sind zwei 5,7 bzw 7,7MB grossen gifs (O1, nicht O2), laufen sogar ;)
Ich glaube das ist erstmal nen guter sprung, vor allem an geschwindigkeit... Kompression scheint auch besser zu sein, es unterstuetzt auch "transparency to shrink the file further" was die datein nochmals kleiner macht... z.b. die 12 Frames von muybridge.bml auf dem ARCADEmini Theme in 50% groesse sind dann ertraegliche 53KB und brauchen trotzdem nurnoch ca 4 Sekunden zum erzeugen... die 21 Frames von ST ihm seinem bt.bml in 50% aufm HDL suesse 26KB, das sind groessen mit denen ich leben kann ;) Macht leider nur probleme bei den themeless sachen wenn man die hohe compression anmacht...
Erstmal brauch ich ne runde schlaf, dann werd ich das weiter testen... Evtl wird das ja noch was ernsthaftes *g*

Blinkende Traume...
Ca$cAdE

[1] http://www.lcdf.org/gifsicle/
Last edited by cascade on Tue Nov 29, 2005 6:59 pm, edited 1 time in total.
BlinkenCUBE - AM mit 4160(+4)LEDs ^^ => Guckst du?
User avatar
ST
BlinkenProfi
BlinkenProfi
Posts: 93
Joined: Mon Jun 23, 2003 8:26 pm
Location: Stuttgart
Contact:

Post by ST »

Hallo 1stein,

> Hm, ich bekomme bei 350MB RAM-Bedarf leider arge Bauchschmerzen.
> Das hieße ja, dass jeder einfach ein großes *.bml hochladen kann und
> dann steht alles andere auf dem Server, weil es wie blöd rumswappt...

Das passiert bei Bildgrößen die das Script in der aktuellen Fassung garnicht anbietet. 350 MB Arbeitsspeicherbedarf waren die Begründung das das Script eben nicht die ganz großen Bilder macht die es könnte.

> aber da würde ich Euch schon bitten, den RAM-Bedarf zu beschränken
> und das Skript erst auf blinkenarea.org zu installieren, wenn das
> klappt...

Es hat nirgendwo jemand behauptet das wir das auf blinkenarea.org installieren wollen. Es war eine Idee, die an Bedingungen geknüpft ist die auch überhaupt noch nicht erfüllt sind.


Viele Grüße

[STephan]
User avatar
stefan
Blinkenizer
Blinkenizer
Posts: 234
Joined: Wed Oct 09, 2002 9:45 pm
Location: Aachen
Contact:

Post by stefan »

Hallo Cascade und ST,

na dann hatte ich das etwas falsch verstanden. Wenn das php-Skript dafür sorgt dass der gif-Erzeuger nicht zuviel RAM und Leistung frisst, könnt' ihr das im Prinzip ruhig irgendwo auf blinkenarea.org installieren.

Allerdings weiss ich nicht, warum man die bmls hochlädt und dann wieder ein gif runter. Es lädt ja auch keiner 20 jpgs hoch um dann ein zipfile daraus runterzuladen - da ist ein lokal installiertes Zip-Utitlity viel besser. So sehe ich das mit dem bml2gif-Programm auch. (Nur meine Meinung. Ich hätte sowas lieber ohne Server lokal.)

Gruß,
Stefan
User avatar
cascade
BlinkenSemiProfi
BlinkenSemiProfi
Posts: 41
Joined: Sat Aug 30, 2003 12:48 pm
Location: Kiel
Contact:

Post by cascade »

ST wrote: Das passiert bei Bildgrößen die das Script in der aktuellen Fassung garnicht anbietet. 350 MB Arbeitsspeicherbedarf waren die Begründung das das Script eben nicht die ganz großen Bilder macht die es könnte.
Was wo wie? Das script setzt keine beschraenkungen... Ich koennte zwar machen das es bei ner bestimmten frame zahl sagt baetsch zu lang oder sowas, aber bisher hielt ich das nicht fuer noetig.

Ich hab mal den entwickler des php-patches angeschrieben da der path fuer ne aeltere php version ist ob er den nicht nochmal fuer die aktuelle portieren koennte da der bei mir das configure script kaputtmacht.
Jaakko wrote: Just today I have been discussing with the php maintainer that has been
dealing with the GD extension. We talked about including the animation
functions. There is however much work, and I do not know who would be
doing that. Possibly not earlier than PHP 6.0.

About the performance, with big animations, gifsicle feels like a really
fast thing. I doubt my code in GD can do things as fast for big
animations. But I have never tested that..
Leider erwaehnte er nichts von neuen patches, hab nochmal explizit drauf angesprochen, mal abwarten...
Denn wenn diese ganzen temporaeren datein mal aufhoeren wuerde waere ja schon schoen ;)

Aber immerhin laeuft das script und mitleweile sogar ertraeglich schnell.
1stein wrote: (Nur meine Meinung. Ich hätte sowas lieber ohne Server lokal.)
Klar, wenn die ganzen kinderkrankheiten raus sind... noch find ich ja dauernd selbst noch fehler die peinlich sind ;) Wenns denn irgendwann laeuft und ich z.b. mal nen einfacheren theme support eingebaut habe (momentan ist es umstaendlich da was hinzuzufuegen) denk ich mal ueber stand alone nach.

So long...
Ca$cAdE
BlinkenCUBE - AM mit 4160(+4)LEDs ^^ => Guckst du?
Post Reply