Zeitintervalle bei Serienaufnahmen verkürzen

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

Zeitintervalle bei Serienaufnahmen verkürzen

Beitragvon fincafritz » 17.11.2011, 02:45

Hallo, bin neu hier, und hatte bis vor einigen Tagen noch keinen blassen Schimmer, was man mit CHDK so alles anstellen kann. Trotz erheblicher Wissenlücken, und nur mit Infos aus diesem Forum versehen, habe ich mich dann doch selbst ans Werk gemacht, und es zu meinem eigenen Erstaunen geschafft, 2 x 2GB Karten mit der Firmware zu versehen und einwandfrei zum Laufen zu bringen. Da ich die Kamera für Fotoflüge mit einem Oktokopter benutzen möchte, habe ich mir einen Skript mit dem Dateinamen "default.bas" besorgt und aufgespielt. Das Programm macht Serienaufnahmen ohne Limit und in der gewünschten hohen Auflösung, und es hat in der Kamera ( SX 220 HS ) sofort einwandfrei funktioniert. Da die Zeitdauer der Aufnahmen auch an die Flugzeit von gut 15-20 Minuten gebunden ist, und das Programm nur ca. alle 10 Sekunden ein Bild auslöst, komme ich so nicht auf die Anzahl der gewünschten Fotos. Besser wäre es, die Kamera würde alle 3-5 Sekunden ein Bild auslösen. Auf einen Tipp hin habe ich im Skript in der Zeile "if t<100 then let t=5000", den letzten Wert mehrfach nach unten verändert, zuletzt auf 300, da dies mir angeblich zum Erfolg verhelfen sollte. Ist aber so nicht eingetreten, es ist bei den gut 10 Sekunden geblieben. Auch eine Veränderung der Sekundenzahl in der Zeile " @param c Interval (10th Seconds)" hat nicht geholfen. Kann mir jemand einen Ratschlag geben was im Skript geändert werden muss, um das Problem zu lösen? Das Skript habe ich unten beigefügt. Bedanke mich jetzt schon im voraus für jeden guten und brauchbaren Ratschlag. Und danke nochmals an msl, zumindest hattest Du ein wenig den Ehrgeiz bei mir geweckt, und auch für Deine praktischen Ratschläge im Forum sei ebenfalls gedankt, sonst hätte ich die beiden Karten sicher nicht so schnell zum Laufen gebracht.

----------------------------------------------
rem Author - Keoeeit
rem USE WITH CAUTION
rem do not run for many hours or days
@title Interval Shooting Non-stop
@param a Interval (Minutes)
@default a 0
@param b Interval (Seconds)
@default b 2
@param c Interval (10th Seconds)
@default c 0

t=a*60000+b*200+c*100

if t<100 then let t=5000

n=1

print "Interval shooting."
print "Until you interrupt it."
print "Use with caution."

sleep 1000

goto "shot"

:shot
print "Shot number", n
shoot
n=n+1
sleep t
goto "shot"


----------------------------------------------
fincafritz
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 2
Registriert: 04.11.2011, 10:09
Kamera(s): Canon Powershot SX 220 HS

Re: Zeitintervalle bei Serienaufnahmen verkürzen

Beitragvon h3px » 17.11.2011, 09:31

Hi fincafritz,
da ich mich mit Skript schreiben nicht auskenne, mein Tipp es mit SevenUp oder SevenUpLight zu probieren. --> Skript-Sammlung (getestet und allg. lauffähig) bzw. schon auf deiner Karte.
Dort das Intervall auf Null stellen und deine Cam mach so schnell Bilder wie sie halt kann.
Bei meiner SX200/Ixus 870 sind das so 25 bis 30 Bilder pro Minute.
Dürfte der schnellste Weg zu einer höheren Bildrate sein.
Viel Spaß.

Gruß h3px
Benutzeravatar
h3px
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 365
Bilder: 10
Registriert: 15.01.2009, 20:38
Wohnort: ~ MUC
Kamera(s): S 110 103a - SX 260 101a
Ixus 870 101a - A590 101b

Re: Zeitintervalle bei Serienaufnahmen verkürzen

Beitragvon msl » 17.11.2011, 13:48

Hallo,

prinzipiell sind die Ausführungen von h3px richtig. Wir haben aber seit einiger Zeit eine weitere Möglichkeit, den Abstand zwischen zwei Aufnahmen zu verkürzen. Dazu muss der der Befehl click "shoot_full_only" als Ersatz für shoot verwendet werden.

Kurze Erläuterung dazu: Bisher wurde ein Intervall-Skript mit dem Befehl shoot verwendet. Dieser Befehl beinhaltet den kompletten Ablauf halb gedrückter + voll gedrückter Auslöser. Das braucht Zeit. Mit dem neuen Befehl kann diese Zeit verkürzt werden.

Wenn ich mit nachfolgendem Beispiel die Intervall-Zeit auf eine eine Sekunde einstelle, erreiche ich mit der SX220 ca. 1,2 Sekunden effektiv. Das ist eine deutliche Verbesserung gegenüber der alten Methode. Da sind effektiv maximal 2- 3 Sekunden möglich.

Hier nun das Beispiel:
Syntax: [ Download ] [ Verstecken ]
Benutze uBasic Syntax Highlighting
@title Flight Interval
@param a Shoot Count
@default a 10
@param b Delay
@default b 5
@param c Interval (Seconds)
@default c 1

if a<2 then let a=10
T=b*1000
if T<0 then let T=10
t=c*1000
if t<0 then let t=10

sleep T

m = get_tick_count
print "Shoot 1 of", a
press "shoot_half"
click "shoot_full_only"

for n=2 to a
    sleep t
    print "Shoot", n, "of", a
    click "shoot_full_only"
next n
release "shoot_half"
n = get_tick_count - m

cls
print "shoot only", n/a, "ms"
end
Erstellt in 0.006 Sekunden, mit GeSHi 1.0.8.9


Skriptparameter:

Shoot Count - Anzahl der Bilder
Delay - Startverzögerung in Sekunden
Interval - Abstand in Sekunden

Das Skript gibt nach Abschluss der Intervall-Serie eine durchschnittliche effektive Intervall-Zeit in ms aus.

Das Skript sollte so prinzipiell auch für den Copter-Flug tauglich sein. Hier wäre noch zu klären, wie es mit den Vibrationen der Flugmaschine aussieht. Wegen der sicherlich vorhandenen Vibrationen müsste man zusehen, dass die Verschlusszeit 1/250 s nicht unterschreitet. Je nach Lichtverhältnissen ist dann die ISO-Einstellung wichtig. Außerdem würde ich ohne aktivierte Bildstabilisierung (IS) testen. Möglicherweise vertragen sich Bildstabilisierung und Vibration nicht.

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4514
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: Zeitintervalle bei Serienaufnahmen verkürzen

Beitragvon fincafritz » 17.11.2011, 14:07

Ja, vielen Dank, mal sehen ob ich damit klar komme. Das Sevenup habe ich bereits auf einer 2GB Karte, habe auch eine Einstellung in der Kamera ausgewählt, dass 200 Fotos für 13 Minuten angezeigt sind. MIt der O - Stellung im Zeitintervall hat es so nicht funktioniert, Das Zeitintervall ist jetzt auf 4 Sekunden eingetragen, und nach einer Info aus dem Forum habe den Wert "nach shot" auf 1 gestellt. Warum auch imm kommt immer nur ein Bild, das wars, und dann das nächste wieder nach ewig langer Zeit. Zwei Anfängerfragen dazu: Wenn ich die Scripteinstellungen in der Kamera verändere, wie muss ich die bestätigen ( Set, oder einfach zurück im Menü )? Oder ist mein Fehler, dass ich die Parameter auf jeden Fall direkt auf der CD Karte im Editor ändern muss, und dann erst zurück in die Kamera? Ich teste jetzt erst mal die aktuellen Ratschläge aus, mal sehen was daraus wird.
Gruß, FF
fincafritz
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 2
Registriert: 04.11.2011, 10:09
Kamera(s): Canon Powershot SX 220 HS

Re: Zeitintervalle bei Serienaufnahmen verkürzen

Beitragvon msl » 17.11.2011, 14:19

Hallo,

Das CHDK "merkt" sich alle getätigten Einstellungen automatisch - siehe CHDK-Handbuch S.69. Eine besondere Bestätigung ist nicht erforderlich. Wenn du im Skript-Menü den Punkt "Parameterspeicher an/aus" aktiviert hast, speichert CHDK auch die Parametereinstellungen zu dem jeweilig verwendeten Skript. Dabei kann man bis zu 10 unterschiedliche Parametersätze je Skript anlegen - Menüpunkt "Parameter-Satz-Nr.".

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4514
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a


Zurück zu Code-Ecke

Wer ist online?

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