Dukedarkness hat geschrieben:Hallo, was genau macht der shootbefehl im Videomodus.
Ich höre zwar wie die Ixus kurz scharfstellt, sie macht aber weder ein Foto noch einen Film.
Im Fotomodus läuft das skript fehlerfrei und macht auch ein Foto.
3 Fragen
1. Ist es möglich im Videomodus ein Foto per skript zu schiessen?
2. Ist es möglich den Modus (Video/Foto) per skript umzuschalten?
oder
3. Ist es möglich im Fotomodus ein Video per skript zu drehen?
Gruß und Dank
Boris
Hallo & herzlich willkommen hier im Forum, Boris !
Der shoot-Befehl wird eigentlich im Foto & Videomodus identisch verwendet.
-> manueller Modus, evtl. Blitz auf AUS (nicht Auto), evtl. im CHDK Script-Menü "Script shoot delay" etwas hochsetzen, z.B. auf 5 oder 10.
Zu Deinen Fragen:
1.) Ja, aber nicht während einer Videoaufnahme; ein Script kann grundsätzlich in jedem Modus (Play,Foto,Video) gestartet werden.
2.) Nein, derzeit nicht.
3.) Ja, bei den neueren Modellen, die eine definierbare "Shortcut" Taste haben:
- Fotomodus, die Shortcut (=PRINT) Taste muss mit "Video aufnehmen" im Canon-Menü belegt sein.
- kurzer Druck auf Print aktiviert/deaktiviert nun den CHDK <Alt> Modus, langer Tastendruck (~1s) aktiviert die "Zweitfunktion", die Videoaufnahme startet.
- mit erneutem langem Tastendruck auf Print stoppt die Videoaufnahme und man ist wieder im Fotomodus.
In einem Script klappt das auch ganz gut, einfach einen Tastendruck auf "print" emulieren, also z.B. in Lua mit click("print")
...hier ist auch keine Wartezeit zum "halten" der Taste nötig, da im Alt-Modus die Funktionen auf Lang/Kurz-Klick getauscht sind.
Hier noch ein kleines Lua-Script von mir, bin zu faul zum übersetzen...was es macht:
-> a Bilder (1. Parameter) im Abstand von b Sekunden, dann ein Video mit c Sekunden Länge, nun eine Pause mit d Sekunden...und das Ganze in einer Schleife e Mal.
--[[
rem PRINT must be attached with Record Video - func
rem SD870 / fe50
@title Still+Vid mix SD870
@param a Number of Images
@default a 3
@param b Sleep between Pics in s
@default b 5
@param c Video lenght in s
@default c 5
@param d Sleep after Loop in s
@default d 30
@param e LoopCount
@default e 2
--]]
seq
= 0
vidc
= 0
imagec
= 0
function Report
()
print("Seq:"..seq..
" Pics:"..imagec..
" Vid:"..vidc..
" done")
end
function MainLoop
()
for i
= 1,a
do
shoot
()
imagec
= imagec +
1 -- inc Image counter
sleep
(b
*1000)
end
click
("print") --Video start
sleep
(c
*1000) --Video capturing...
click
("print") --Video stop
sleep
(1000)--now back in still rec mode, video should be saved
vidc
= vidc +
1 -- inc Video counter
seq
= seq +
1 -- inc Sequence counter
end
-- Main --------------------------------------------------
image_dur
= 600 -- ms for capturing image
duration
= (e
*(((a
*image_dur
) +
(b
*1000) +
(c
*1000) +
(d
*1000)) / 1000) / 1000) -- in s
print("Take "..a..
"pics, sleep "..b..
"s")
print("then "..c..
"s Vid, each "..d..
"s")
print(e..
"(Loops, ~"..duration
/60..
" min)")
repeat
MainLoop
()
Report
()
sleep
(d
*1000)
until seq
== e
print("script done")
Report
()
Erstellt in 0.011 Sekunden, mit
GeSHi 1.0.8.9
Script ist auch als Anhang dabei, ist getestet auf der Ixus 860...