Intervallskript & Flickern

CHDK-Skripte, CHDK-Entwicklung, PC-Zusatzprogramme, Informationen für Tüftler

Re: Intervallskript & Flickern

Beitragvon msl » 07.06.2015, 19:46

Hallo,

zur Thematik Beleichtungszeiten > 1s:

Ich weiß nicht, wie oft es schon geschrieben wurde (zuletzt hier). Die Kompakten von Canon begrenzen die maximale Belichtungszeit in allen Modi auf eine Sekunde. Davon ausgenommen sind der Tv- und M-Modus bei Kameras mit Irisblende und der Modus "lange Belichtungszeit" bei Kameras mit ND-Filter.

Mit Hilfe von CHDK kann aber jede beliebige Belichtungszeit manuell vorgegeben werden (siehe CHDK-Menü). Der verwendete Aufnahmemodus spielt dabei keine Rolle. Es wird aber keine Berechnung durchgeführt. Dazu müssen wir dann Skripte bemühen.

Die D30 hat keine manuellen Modi (Tv, Av und M), da sie keine Irisblende besitzt. Dafür verfügt die Kamera über einen ND-Filter, der ein- und ausgeschwenkt werden kann. Das macht die Kamera von sich aus automatisch je nach Belichtungssituation. CHDK gibt uns die Möglichkeit, den Filter auch manuell zu bedienen (siehe CHDK-Menü).

Das Skript rawopint.lua berechnet die notwendige Belichtungszeit und setzt sie. Dabei wird auch das Vorhandensein eines ND-Filters berücksichtigt. Dazu werden auch alle relevanten Daten in einer Log-Datei festgehalten.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: Intervallskript & Flickern

Beitragvon c_joerg » 08.06.2015, 07:04

Hallo msl,

Ich weiß nicht, wie oft es schon geschrieben wurde (zuletzt hier).


ja hast du und ist mir auch bekannt…

Das Skript rawopint.lua berechnet die notwendige Belichtungszeit und setzt sie.


Eben, deshalb sollte es ja auch gehen.
Ich vermute das Problem ja auch einer anderen Stelle

Bei einem Sonnenuntergang ist der Ablauf wie folgt:
Zuerst wird die Belichtungszeit bis auf ui_tv_sv_adj_s1000=100 "ISO adj Tv Sec/1000" erhöht. In diesem Fall 0.1s. Ab 0.1s werden Belichtungszeit und ISO um jeweils 50% erhöht. Da aber der Anfangs ISO Wert und der maximale ISO Wert jeweils 100 sind, gibt es bei der ISO nichts zu erhöhen. Die Einstellung ui_tv_sv_adj_s1000 macht also so nicht viel Sinn. Ich könnte mir vorstellen, dass es in diesem Fall zu einem Problem im Script kommt. Deshalb würde ich den Wert erstmal auf 3s stellen (ui_tv_sv_adj_s1000=3000).

Es gibt noch eine weitere Sache, die man berücksichtigen muss, wenn man von einem hellen in einen dunklen Raum geht:
Der Wert ui_max_ev_change_e gibt an, wie schnell sich die Werte maximal ändern dürfen. Hat man im hellen Raum z.B eine Belichtungszeit von 1/250s (APEX96=768) und will auf 3,2s gehen (APEX96=-160), dann dauert es eben seine Zeit. Zum Beispiel:
Intervall =10s
ui_max_ev_change_e=1/3EV

(768 - -160)/32 * 10s = 290s also fast 5Minuten.
Kommt jetzt noch der ND Filter mit seinen 3Ev hinzu....

Grüße Jörg
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 456
Registriert: 14.08.2014, 06:50
Wohnort: Bremen
Kamera(s): S110 103a
S45
2 * G1X 101a, 100e
G9xII 1.00c,
SX230 101a
SX50hs 100c
EOS M3 101a
EOS M100 100a

Re: Intervallskript & Flickern

Beitragvon schreibtisch » 11.06.2015, 16:41

c_joerg hat geschrieben:
nicht über einer Sekunde belichtet

sollte aber gehen
[...]
Code: Alles auswählen
ISO adj TV Sec/1000 -> 3000



Ich habe noch etwas kreativ rumgespielt unter anderem mit der ND-Einstellung ... jetzt gehts.
Im dunklen Raum macht sie das erste Bild mit Blende 3,8 ... aller Weiteren sofort Blende 9 und 1-2 Sekunden.
Bei dem tatsächlichen Sonnenuntergang (gleichmäßiges verdunkeln) bleibt die Blende auf 3,8.

msl hat geschrieben:Hallo,

zur Thematik Beleichtungszeiten > 1s:
[...]

Die D30 macht mit dem Skript wie oben beschrieben eine Belichtungszeit > 1S ... also alles fein.

c_joerg hat geschrieben:Da aber der Anfangs ISO Wert und der maximale ISO Wert jeweils 100 sind, gibt es bei der ISO nichts zu erhöhen. Die Einstellung ui_tv_sv_adj_s1000 macht also so nicht viel Sinn.

Damit gibst Du mir Recht, dass ich mit dieser Einstellung den ISO-Wert während der gesamten Aufnahmereihe auf einen ISO-Wert von 100 festsetze. Und genau das sollte das Ziel auch sein. ISO-Wert festsetzen. Warum? Bildrauschen auf ein Minimum zu reduzieren.

Toll wäre eine Priorität. Prio 1 - Belichtungszeit -> Grenze erreicht -> ISO-Wert hoch.
Mir scheint, dass erst der ISO-Wert hochgesetzt wird, dann die Belichtungszeit.

Alles in Allem ein wunderbares Script.
Ich konnte nur der Wetter- und Zeitverhältnisse wegen noch keinen 1A-Sonnenuntergang ablichten.


Wer kann helfen, noch einen Startverzögerung einzubauen?
Entweder a) starte zur Uhrzeit xy oder starte b) in x Stunden und y Minuten.

Praktische Anwendung.
a) Morgens Kamera aufbauen, arbeiten gehen, Untergang ablichten lassen, abends Kamera abbauen
b) abends Kamera aufbauen, Aufgang ablichten lassen, zum Frühstück abbauen

Schöne Grüße
Auf dem Weg zum perfekten Sonnenuntergang-Zeitraffer ... CHDK-Neuling

Angefangen mit Minolta Dimage 7i. Danach die Panasonic Lumix DMC-FZ50.
Aktuell: Fuji X-S1 und seit kurzem für Outdoor-Zeitraffer auch bei schlechtem Wetter: PowerShot D30
schreibtisch
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 17
Registriert: 31.05.2015, 10:09
Kamera(s): Powershot D30

Re: Intervallskript & Flickern

Beitragvon c_joerg » 11.06.2015, 19:26

Im dunklen Raum macht sie das erste Bild mit Blende 3,8 ... aller Weiteren sofort Blende 9 und 1-2 Sekunden.


Nochmal wieso Blende? Die Kamera hat doch gar keine Blende oder habe ich da was übersehen?

Toll wäre eine Priorität. Prio 1 - Belichtungszeit -> Grenze erreicht -> ISO-Wert hoch.


Genau so macht das das Script wenn ISO adj TV Sec/1000 = Max Tv Sec/1000.
Also erst bis maxinale Belichtungszeit und dann bis maximale ISO.
Wenn nicht dann lade doch mal die log Datei rawopint.csv hoch.

Praktische Anwendung.
a) Morgens Kamera aufbauen, arbeiten gehen, Untergang ablichten lassen, abends Kamera abbauen
b) abends Kamera aufbauen, Aufgang ablichten lassen, zum Frühstück abbauen


Übe erst mal so … ;)
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 456
Registriert: 14.08.2014, 06:50
Wohnort: Bremen
Kamera(s): S110 103a
S45
2 * G1X 101a, 100e
G9xII 1.00c,
SX230 101a
SX50hs 100c
EOS M3 101a
EOS M100 100a

Re: Intervallskript & Flickern

Beitragvon schreibtisch » 11.06.2015, 20:01

c_joerg hat geschrieben:
Im dunklen Raum macht sie das erste Bild mit Blende 3,8 ... aller Weiteren sofort Blende 9 und 1-2 Sekunden.

Nochmal wieso Blende? Die Kamera hat doch gar keine Blende oder habe ich da was übersehen?

Möglicherweise hast Du da was übersehen.
Fakt ist, dass in den Exif-Werten eine Blende von etwa 9 steht.
Lt. Hersteller 3,9 - 4,8
Wobei die D30 aus meiner Sicht (wurde glaub ich auch schon diskutiert), keine Iris-Blende hat ... von daher kommt mir diese Anzeige auch merkwürdig vor.

c_joerg hat geschrieben:
Toll wäre eine Priorität. Prio 1 - Belichtungszeit -> Grenze erreicht -> ISO-Wert hoch.


Genau so macht das das Script wenn ISO adj TV Sec/1000 = Max Tv Sec/1000.
Also erst bis maxinale Belichtungszeit und dann bis maximale ISO.

Das war mir so konkret nicht klar und bisher beim meinen Spielereien auch nicht nachvollziehbar. Lag aber sicher eher an den Lichtverhältnissen im Wohnzimmer/dunklen Raum.

c_joerg hat geschrieben:
Praktische Anwendung.
a) Morgens Kamera aufbauen, arbeiten gehen, Untergang ablichten lassen, abends Kamera abbauen
b) abends Kamera aufbauen, Aufgang ablichten lassen, zum Frühstück abbauen


Übe erst mal so … ;)

*reusper* Soll ich Dir mal so von einem erwachsenen Mann zu einem erwachsenen Mann meine spontanen Gedanken dazu schreiben?
"Wie jetzt ‘übe erst mal so‘? Lass das mal meine Sorgen sein, wann ich wie übe. Und es war auch gar nicht die Frage wie ich übe, sondern wer bei der Funktion unterstützen kann, denn - wenn wir schon beim üben sind - würde mir exakt diese Funktion unter anderem wegen der zwei beschriebenen Beispiele ungemein helfen.
Praktisch wäre es darüber hinaus auch noch für andere Nutzer"

Das waren die spontanen Gedanken.
Jetzt das nachdem ich drüber geschluckt habe:

Danke für den Hinweis. Im Prinzip hast Du recht. Nur fällt mir das mit Job und Familie relativ schwer die Kamera abends aufzustellen. In der Nacht um 3 bzw. 4 für den Aufgang pflege ich dann doch lieber meinen Nachtschlaf.
Auf dem Weg zum perfekten Sonnenuntergang-Zeitraffer ... CHDK-Neuling

Angefangen mit Minolta Dimage 7i. Danach die Panasonic Lumix DMC-FZ50.
Aktuell: Fuji X-S1 und seit kurzem für Outdoor-Zeitraffer auch bei schlechtem Wetter: PowerShot D30
schreibtisch
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 17
Registriert: 31.05.2015, 10:09
Kamera(s): Powershot D30

Re: Intervallskript & Flickern

Beitragvon msl » 11.06.2015, 21:28

Hallo zusammen,

auch bei Kameras ohne Irisblende gibt es unterschiedliche Blendenwerte. Die resultieren aus ND-Filter-Stellung und Brennweite.

Zum Thema Ãœben:

Es gibt ein Skript, dass alle möglichen Start- und Stoppvarianten für ein Intervallskript berücksichtigt. U.a. kann auch die Zeit für Sonnenauf- und untergang anhand des Standortes berechnet werden und als Startvorgabe definiert. Allerdings ist dieses Skript für Langzeitintervalle (z.B. Baufortschritt) vorgesehen. Es zeigt aber diverse Techniken zum zeitgesteuerten Ablauf.

=> http://chdk.wikia.com/wiki/Ultimate_Intervalometer

rawopint ist ein sehr aufwendiges Skript, was sich zudem noch in der Entwicklung befindet. Da ist es nicht unbedingt ratsam, zeitliche Steuerungen hinzuzufügen. Denkenswert wäre eine zweigeteilte Lösung. Dazu müsste ein separates Skript für die zeitliche Steuerung erstellt werden, welches dann zum gewünschten Zeitpunkt rawopint startet.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: Intervallskript & Flickern

Beitragvon schreibtisch » 11.06.2015, 21:38

Hallo msl,

Danke für die Hinweise.
Sehr aufschlussreich.

msl hat geschrieben:Dazu müsste ein separates Skript für die zeitliche Steuerung erstellt werden, welches dann zum gewünschten Zeitpunkt rawopint startet.

Lese ich das richtig zwischen den Zeilen, dass es ein solches Script noch nicht gibt?
Auf dem Weg zum perfekten Sonnenuntergang-Zeitraffer ... CHDK-Neuling

Angefangen mit Minolta Dimage 7i. Danach die Panasonic Lumix DMC-FZ50.
Aktuell: Fuji X-S1 und seit kurzem für Outdoor-Zeitraffer auch bei schlechtem Wetter: PowerShot D30
schreibtisch
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 17
Registriert: 31.05.2015, 10:09
Kamera(s): Powershot D30

Re: Intervallskript & Flickern

Beitragvon msl » 11.06.2015, 21:56

Hallo,

so eine Skriptlösung kann es nicht schon geben. Bekanntlich lässt sich immer nur ein Skript so vorladen, dass man die Skriptparameter im CHDK-Menü individuell einstellen kann. Demzufolge muss das erste Skript auch die Parameter des zweiten Skriptes, welches später automatisch nachgeladen wird, enthalten.

Deshalb muss so eine zweigeteilte Lösung immer individuell in Abhängigkeit des nachzuladenden Skriptes angepasst werden.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: Intervallskript & Flickern

Beitragvon schreibtisch » 11.06.2015, 22:18

msl hat geschrieben:Bekanntlich lässt sich immer nur [...]

Was eben für einen CHDK-Neuling wie mich so bekanntlich sein kann. ;-)


msl hat geschrieben:[...] muss das erste Skript auch die Parameter des zweiten Skriptes, welches später automatisch nachgeladen wird, enthalten.[...]

Frage 1: Was spricht gegen ein allgemeines Skript, welches das Zweite mit den darin enthaltenen Standardparametern startet?
Frage 2: (Wie gesagt, ich bin seit knapp 3 Wochen neu dabei) Ist es tatsächlich so kompliziert vor dem eigentlichen Start eine Zeitverzögerung einzubauen?
Auf dem Weg zum perfekten Sonnenuntergang-Zeitraffer ... CHDK-Neuling

Angefangen mit Minolta Dimage 7i. Danach die Panasonic Lumix DMC-FZ50.
Aktuell: Fuji X-S1 und seit kurzem für Outdoor-Zeitraffer auch bei schlechtem Wetter: PowerShot D30
schreibtisch
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 17
Registriert: 31.05.2015, 10:09
Kamera(s): Powershot D30

Re: Intervallskript & Flickern

Beitragvon msl » 11.06.2015, 22:47

Hallo,

das mit dem bekanntlich ist so eine Sache. Da kann viel lesen viel helfen. ;)

zu 1.
Das ist technisch so nicht möglich. Dazu müsste ich jetzt einen Vortrag zur Verwaltung der Lua-Variablen halten ...

zu 2.
Es ist nicht kompliziert. Theoretisch mit zwei Zeilen Code erledigt, wenn es darum geht, eine Wartezeit in Sekunden oder Minuten vorzuschalten. Das ist dann aber wenig elegant und kann evt. zu Fehlern führen, wenn die Wartezeit zu lange ist. Viel besser wäre doch, unterschiedliche verzögerte Startmöglichkeiten bereitzustellen, wie z.B. Eingabe Uhrzeit, berechnete Sonnenaufgangszeit u.s.w. Solche Möglichkeiten sind in einem vorgeschalteten Skript besser aufgehoben.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: Intervallskript & Flickern

Beitragvon c_joerg » 12.06.2015, 06:50

Lass das mal meine Sorgen sein, wann ich wie übe.


Ich wollte dich mit dieser Aussage keinesfalls Angreifen. Ich wollte damit nur wiederspiegeln, wie es mir ergangen ist. Ich habe mich 6 Monate mit einem eigenen Script befasst, bis ich zu rawopint gekommen bin.
Trotzdem habe ich mindestens 15 Sonnenuntergänge gebraucht, bis einigermaßen was Vernünftiges herauskam. Ich finde es schon frustrierend, wenn man die Kamera die ganze Nacht aufstellt, und am nächsten Tag nichts Vernünftiges herausgekommen ist, weil die Parameter falsch waren. Du wagst dich hier gleich an die Königsdisziplin, an den ‚Heiligen Gral‘ der Zeitrafferfotografie.


Nur fällt mir das mit Job und Familie relativ schwer die Kamera abends aufzustellen.


Mir geht es genauso, muss mir jede Minute hart erkämpfen. Ich würde deshalb mal einige Läufe so -1h bis +1/2 nach Sonnenuntergang machen. Das ist dann mit jetzt 22:20 auch nicht ganz so spät.

Mich persönlich würde mal interessieren, wie gut man so einen Sonnenuntergang mit einer 10Bit Kamera hinbekommt. Den letzten Sonnenuntergang, den ich dir von mir gezeigt habe, wurde immerhin mit der 14Bit G1X gemacht.

Fakt ist, dass in den Exif-Werten eine Blende von etwa 9 steht. .


Öffne doch mal die log Datei rawopint.csv. Dort steht in der Spalte av genau, was das Script eingestellt hat. Dort findest du ach Tv und Sv (ISO) wieder.

Dazu müsste ein separates Skript für die zeitliche Steuerung erstellt werden, welches dann zum gewünschten Zeitpunkt rawopint startet.


Das war mir auch noch nicht so bekannt… halte ich bei rawopint auch für die beste Lösung da die Parameter doch schon ziemlich überfrachtet sind….


Grüße Jörg
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 456
Registriert: 14.08.2014, 06:50
Wohnort: Bremen
Kamera(s): S110 103a
S45
2 * G1X 101a, 100e
G9xII 1.00c,
SX230 101a
SX50hs 100c
EOS M3 101a
EOS M100 100a

Re: Intervallskript & Flickern

Beitragvon msl » 12.06.2015, 13:56

schreibtisch hat geschrieben:Frage 2: (Wie gesagt, ich bin seit knapp 3 Wochen neu dabei) Ist es tatsächlich so kompliziert vor dem eigentlichen Start eine Zeitverzögerung einzubauen?

Ich habe mal einen Lösungsansatz zusammengeschrieben, der sich u.U. in das bestehende Skript einfügen lässt. Die Idee ist, eine Uhrzeit einzugeben. Wird diese Zeit erreicht, startet der weitere Verlauf. Das ganze ist aber ungetestet, insbesondere der Tageswechsel:
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
--[[
@title timer start
@chdk_version 1.4
#h_input=4 "hour" [0 23]
#m_input=50 "minute" [0 59]
]]


time_in_sec = h_input*3600 + m_input*60

if time_in_sec < get_day_seconds() then
    repeat
        cls()
        print("waiting for the next day")
        print(string.format("new day in %d min.", (24*3600 - get_day_seconds())/60))
        sleep(10000)
    until time_in_sec >= get_day_seconds()
end

repeat
    cls()
    print("waiting for input time")
    print(string.format("start in %d min.", (time_in_sec - get_day_seconds())/60))
    sleep(10000)
until time_in_sec <= get_day_seconds()

print("start task")
Erstellt in 0.008 Sekunden, mit GeSHi 1.0.8.9
Bei diesem Beispiel wird aller 10 Sekunden die Zeit überprüft. Vor einer Integration in rawopint würde ich das Beispiel testen. Das Einfügen in rawopint ist kein Problem. Es brauchen nur die zwei Zeilen für die Parameter (#) zu den anderen Parametern hinzugefügt werden, am besten zwischen Zeile 2 und 3. Der eigentliche Skriptcode ab "time_in_sec ..." wird am besten zwischen den Zeilen 50 und 51 platziert.

Ich möchte aber ausdrücklich darauf hinweisen, dass so eine Lösung wenig optimal ist. Keine Ahnung, ob das wirklich funktioniert.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: Intervallskript & Flickern

Beitragvon schreibtisch » 12.06.2015, 23:11

Hi msl,

funktioniert wunderbar, auch wenn ich es zunächst als Beta bezeichnen würde.
Ich hätte an so einer Lösung Stunden/Tage gesessen. Danke!

Mal sehen, vielleicht kriege ich es so umgebaut, dass erst das Display ausgeht (sofern der dafür vorgesehene Parameter gesetzt worden ist) und dann erst der Timer geprüft wird.

Aber so zunächst ... echt gut.
Danke!!!!
Auf dem Weg zum perfekten Sonnenuntergang-Zeitraffer ... CHDK-Neuling

Angefangen mit Minolta Dimage 7i. Danach die Panasonic Lumix DMC-FZ50.
Aktuell: Fuji X-S1 und seit kurzem für Outdoor-Zeitraffer auch bei schlechtem Wetter: PowerShot D30
schreibtisch
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 17
Registriert: 31.05.2015, 10:09
Kamera(s): Powershot D30

Re: Intervallskript & Flickern

Beitragvon schreibtisch » 20.06.2015, 10:36

Hallo,

ich habe die Funktion eingebaut, dass die Verzögerung ein- und ausgeschaltet werden kann.

Einfügen von drei Parameter-Zeilen:
Code: Alles auswählen
--[[
#delay_status=1 "Delay" [0 1]
#h_input=17 "hour" [0 23]
#m_input=30 "minute" [0 59]
]]


Zwischen Zeile 50 (props=require'propcase') und 52 (interval=ui_interval_s10*100):

Code: Alles auswählen
-- delay begin
time_in_sec = h_input*3600 + m_input*60
if delay_status == 1 then
if time_in_sec < get_day_seconds() then
    repeat
        cls()
        print("waiting for the next day")
        print(string.format("new day in %d min.", (24*3600 - get_day_seconds())/60))
        sleep(10000)
    until time_in_sec >= get_day_seconds()
end
repeat
    cls()
    print("waiting for input time")
    print(string.format("start in %d min.", (time_in_sec - get_day_seconds())/60))
    sleep(10000)
until time_in_sec <= get_day_seconds()
print("start task")
else
print("Delay off - start task")
end
-- delay end


Ich habe mich im internationalen Forum nicht angemeldet. Mag das jemand dort weiterleiten bzw. dem Autor für ein update zur Verfügung stellen?
Auf dem Weg zum perfekten Sonnenuntergang-Zeitraffer ... CHDK-Neuling

Angefangen mit Minolta Dimage 7i. Danach die Panasonic Lumix DMC-FZ50.
Aktuell: Fuji X-S1 und seit kurzem für Outdoor-Zeitraffer auch bei schlechtem Wetter: PowerShot D30
schreibtisch
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 17
Registriert: 31.05.2015, 10:09
Kamera(s): Powershot D30

Vorherige

Zurück zu Code-Ecke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron