Full-resolution silent pictures (silent.mo)

Started by a1ex, July 01, 2014, 05:11:15 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

flez1966

Thinking about the 'card filling so fast' issue and the suggestion of buy a 128/256, i think the 600d max is 64gb, which is still only about 2k shots (my 16gb card filled in half an hour)

BUT.......

I have a eye-fi card that uploads all the .jpgs to 'the cloud' and never fills..

so can i hack/hex edit the FW so when it creates the filename 000001.dng it instead call its .jpg,  that is not changing the format of the file etc, but just tricking the eye-fi card, I know this breaks the standard on many levels but it would be a workaround...

thoughts?

Walter Schulz

Quote from: flez1966 on April 05, 2015, 03:56:02 PMThinking about the 'card filling so fast' issue and the suggestion of buy a 128/256, i think the 600d max is 64gb, which is still only about 2k shots

600D supports SDXC (48 GByte and up).

Quote from: flez1966 on April 05, 2015, 03:56:02 PM[...]eye-fi[...]

If you get your eye-fi card working with ML (most just don't) it would be not a big problem to create a script doing some renaming. After LUA scripting module is available, of course.

Ottoga

Sorry everyone for the long post, but I thnk that it s important for Windows users to be aware of what does and doesn't work re FRSP.mlv file extractions.

@g3gg0

Thanks for the reply. The actual parameter was -A <fps>. This had no impact.  I was however able to extract the images via the -dng parameter.

As general feedback, after more experimenting today, the below table is a summary of my experience trying to extract FRSP images from MLV files (in the windows world).

Extraction
Application        Comments
---------------    -----------------------------------------------------------------------------------------------
MLV_Dump      Successfully extracts the dng's from all frsp.mlv files attempted. With one exception the
                      quality of the images extracted was as expected. All the images extracted from the exception
                      MLV had significant artefacts (green spots) rendering them unusable. The images were
                      extracted again using mlv2dng and there were no artifacts nor were there any on the control
                      CR2 image taken. (ref examples below)

MLV2DNG       Successfully extracts the dng's from all but 1 of the frsp.mlv files attempted. The following
                     error/warning message is displayed for each file processed.
                          "Exception! Header not recognized: 'STYL'".
                     The one major issue with this aplcation is that the image off-sets are incorrect in the resultant
                     dng files (ref: example below).

MLRawViewer v1.4.3     Loads the files and allows preview but crashes on export - all frsp.mlv files

raw2cdng v1.7.1           Loads the files and allows preview but crashes on export - all frsp.mlv files

Pismo File Mount           Fails to mount ant frsp.mlv files - crashes

WebDAV                      Doesn't support mlv files. Still need to try using MLV_Dump to convert the files to
                                  standard raw and see if that works.


Below are example images highlighting the MLV_Dump artifacts issue (note that this only occured in one of the frsp.mlv files processed).
The MLV2DNG extracted image also highlights the image off-sets error (Black border across the top and the left hand side of the image)

MLV_Dump extracted image
https://www.dropbox.com/s/gutb5jl56pjf615/MLV_DumpTest_5496_000005.dng?dl=0

MLV2DNG extracted image
https://www.dropbox.com/s/vqq1y8x6ir8c6rn/MLV2DNG_Test_5496_000005.dng?dl=0

Canon CR2 image
https://www.dropbox.com/s/1l8h20b3lkzcr4g/IMG_5496.CR2?dl=0

@Kharak,
This may answer your questions, if not pm me please. Just remember when capturing tha the camera must be in manual mode and liveview (not movie mode} exposure should be 1/15 of a second or slower (Alex please correct me if this is no longer true). A variable ND filter will help with his.

I'm still having fun and games getting my exposures right. A topic for another post after a controlled test that I have in mind.
EOS 7D.203, EFS 55-250mm, EF 75-300 III, Tamron 16-300 DiII VC PZD Macro, SpeedLite 580EX II.

chmee

->raw2cdng<- will look into the code today.

edit: help: liveview with halfshutter gives me DNG, how to get MLV with FRSP?
[size=2]phreekz * blog * twitter[/size]

Ottoga

@chmee - excellent, thanks.

Happy to test for you.
EOS 7D.203, EFS 55-250mm, EF 75-300 III, Tamron 16-300 DiII VC PZD Macro, SpeedLite 580EX II.

Licaon_Kter

Quote from: chmee on April 06, 2015, 01:08:41 PMedit: help: liveview with halfshutter gives me DNG, how to get MLV with FRSP?
Also load mlv_rec module and then in the silent module options select MLV instead of DNG

Quote from: Ottoga on April 06, 2015, 12:26:10 PMJust remember when capturing tha the camera must be in manual mode and liveview (not movie mode} exposure should be 1/15 of a second or slower (Alex please correct me if this is no longer true).
Using a slow speed yields even slower times, on my M1:
if I set speed = I get FRSP speed
1/125 = 240ms ( 1/4 )
1/4 = 500ms ( 1/2 )
0.5" = 789ms

g3gg0

with mlv_dump you should preprocess the MLV file.
e.g. mlv_dump -A 25000 -o out.mlv in.mlv
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

Kharak

Quote from: Ottoga on April 06, 2015, 12:26:10 PM

@Kharak,
This may answer your questions, if not pm me please. Just remember when capturing tha the camera must be in manual mode and liveview (not movie mode} exposure should be 1/15 of a second or slower (Alex please correct me if this is no longer true). A variable ND filter will help with his.


Here Alex talks about 1/8000 being a gradient http://www.magiclantern.fm/forum/index.php?topic=12523.msg121962#msg121962

Guess this is a trial and error thing, I better just start slamming some FRSP's.
once you go raw you never go back

a1ex

Quote from: Licaon_Kter on April 06, 2015, 02:46:45 PM
Using a slow speed yields even slower times, on my M1:
if I set speed = I get FRSP speed
1/125 = 240ms ( 1/4 )
1/4 = 500ms ( 1/2 )
0.5" = 789ms

The time displayed is the total runtime of the image capture function (which is always higher than actual capture time).

Most likely, the time displayed should be equal to bottom row exposure time + a model-specific constant. If one creates a table with shutter speeds vs capture times, we might attempt to fit a mathematical model (and find that constant).

breaker

Alex, are there any way to auto-end the pic review after taking silent pics? I'm working on getting external trigger to work properly, and the only thing stopping me now is that it's only taking pics every second time. The ml intervalometer behavour is perfect, but it's not taking external halfshutter signal in that mode... Maybe there could be a setting setting "external trigger" in that menu?
I have tweaked a cable to make the trigger signal reach halfshutter.
EOS 7D | EOS 650D | Sigma 30mm f/1.4 | Canon EF-S 15-85mm f/3.5-5.6 | Canon EF-S 18-135mm f/3.5-5.6 STM | 50D RAW Monster :-D

itsskin

Is it possible to create a software for automatic gradient correction in DNGs?

a1ex

@breaker: I'll take care of it.

@itsskin: yes, but there are two difficulties:
- difference between top row and bottom row can be up to around 2...5 stops, depending on camera model (so there will be either clipped or pink highlights)
- we should find some way to measure top/bottom exposure times
   - method 1: somebody has to sit down and do the measurement for every single shutter speed (and repeat for every camera model) - really boring and hard to maintain
   - method 2: find a way to tell the exposure times from other parameters (partial success here)

itsskin

These particle results looks pretty precise :) How can we all help here?

IMHO this gradient effect heavily limits the use of FRSP. Pretty hard to eliminate it in post, especially when there is a lot of pushing of clarity/exposure/contrast.

Audionut

Quote from: a1ex on April 06, 2015, 09:20:45 PM
   - method 1: somebody has to sit down and do the measurement for every single shutter speed (and repeat for every camera model) - really boring and hard to maintain

Canon 6D:

SV          Time (ms)
15"         16987
13"         13175
10"         12109
8"          8659
6"          6220
5"          5731
4"          4495
3"2         3542
3"          3276
2"5         3031
2"          2431
1"6         1937
1"5         1804
1"3         1681
1"          1372
0"8         1131
0"7         1065
0"6         1004
0"5         849
0"4         739
0"3         697
1/4         592
1/5         513
1/6         497
1/8         445
1/10        408
1/13        399
1/15        382
1/20        363
1/25        359
1/30        350
1/40        343
1/45        341
1/50        339
1/60        334
1/80        331
1/90        330
1/100       329
1/125       326
1/160       325
1/180       324
1/200       324
1/250       322
1/320       322
1/350       321
1/400       321
1/500       317


317ms being the smallest capture time.  The boring bit was formatting it for this post.  :P

stoopkid


Tv Tv t2i ms dif m1 ms diff
sec ms actual actual
1/4000 0.3 281 280.8 238 237.8
1/3200 0.3 281 280.7 238 237.7
1/2500 0.4 282 281.6 238 237.6
1/2000 0.5 282 281.5 238 237.5
1/1600 0.6 281 280.4 238 237.4
1/1250 0.8 281 280.2 238 237.2
1/1000 1.0 281 280.0 238 237.0
1/800 1.3 281 279.8 238 236.8
1/640 1.6 281 279.4 238 236.4
1/500 2.0 281 279.0 238 236.0
1/400 2.5 282 279.5 238 235.5
1/320 3.1 283 279.9 240 236.9
1/250 4.0 284 280.0 240 236.0
1/200 5.0 286 281.0 241 236.0
1/160 6.3 287 280.8 243 236.8
1/125 8.0 288 280.0 244 236.0
1/100 10.0 291 281.0 248 238.0
1/80 12.5 292 279.5 250 237.5
1/60 16.7 297 280.3 252 235.3
1/50 20.0 301 281.0 257 237.0
1/40 25.0 304 279.0 262 237.0
1/30 33.3 313 279.7 267 233.7
1/25 40.0 322 282.0 278 238.0
1/20 50.0 330 280.0 285 235.0
1/15 66.7 344 277.3 300 233.3
1/13 76.9 364 287.1 317 240.1
1/10 100.0 380 280.0 333 233.0
1/8 125.0 410 285.0 362 237.0
1/6 166.7 450 283.3 400 233.3
1/5 200.0 481 281.0 431 231.0
1/4 250.0 560 310.0 510 260.0
300 637 337.0 584 284.0
400 701 301.0 655 255.0
500 820 320.0 765 265.0
600 974 374.0 920 320.0
800 1101 301.0 1048 248.0
1000 1290 290.0
1300 1599 299.0
1600 1853 253.0
2000 2329 329.0
2500 2947 447.0
3200 3457 257.0
4000 4408 408.0
5000 5643 643.0
6000 6664 664.0
8000 8569 569.0
10000 11038 1038.0
13000 13079 79.0
15000 16887 1887.0


I did a t2i and an M1. What's weird it I did 13" on the M1 a few times and it always gives me a really short difference. I'm not sure if that means something about it lines up better so it goes faster or if it's not really 13 seconds...

a1ex

Interesting, the differences become a bit strange at long exposure times. A while ago, I've noticed that long exposures are made in smaller increments (that is, the sensor is reconfigured a few times during a long exposure). I should probably measure the rolling shutter effect at long exposures as well.

Look for this string in Canon firmware: "VSizeSetting Time:%d Acc:%d loop:%d" / "VSize T:%d A:%d l:%d". This routine decides how many increments are used to take an exposure. Its input value is time in ms, taken from this table.

I've tried to run that function for different input values, and here's the output for EOS-M (in 1/3 EV steps):

Tv Time Acc out[1] out[2] loop
1/4000 15 345 0 3532 1
1/3200 15 345 0 3532 1
1/2500 15 345 0 3532 1
1/2000 15 345 0 3532 1
1/1600 15 345 0 3532 1
1/1250 15 345 0 3532 1
1/1000 15 345 0 3532 1
1/800 15 345 0 3532 1
1/640 15 345 0 3532 1
1/500 15 345 0 3532 1
1/400 16 368 0 3532 1
1/320 17 391 0 3532 1
1/250 17 391 0 3532 1
1/200 19 437 0 3532 1
1/160 20 460 0 3532 1
1/125 21 483 0 3532 1
1/100 24 552 0 3532 1
1/80 26 599 0 3532 1
1/60 29 668 0 3532 1
1/50 34 783 0 3532 1
1/40 38 875 0 3532 1
1/30 45 1036 0 3532 1
1/25 54 1244 0 3532 1
1/20 62 1428 0 3532 1
1/15 77 1774 0 3532 1
1/13 95 2188 0 3532 1
1/10 111 2557 0 3532 1
1/8 140 3225 0 3532 1
1/6 177 4078 0 3532 1
1/5 208 4792 0 3532 1
1/4 266 1589 5004 3532 2
0.3" 341 3317 5004 3532 2
0.4" 413 4976 5004 3532 2
0.5" 523 2511 5004 3532 3
0.6" 678 1082 5004 3532 4
0.8" 805 4009 5004 3532 4
1" 1043 4493 5004 3532 5
1.3" 1352 1612 5004 3532 7
1.6" 1607 2488 5004 3532 8
2" 2083 3456 5004 3532 10
2.5" 2700 2672 5004 3532 13
3.2" 3210 4423 5004 3532 15
4" 4162 1359 5004 3532 20
5" 5396 4792 5004 3532 25
6" 6417 3317 5004 3532 30
8" 8320 2165 5004 3532 39
10" 10789 4055 5004 3532 50
12.5" 12830 1082 5004 3532 60
16" 16637 3801 5004 3532 77
20" 21575 2580 5004 3532 100
25" 25656 1612 5004 3532 119
32" 32323 5230 5004 3532 149


notes:
- Tv is shutter speed string as displayed by ML
- Time is from Canon's shutter timing table (in ms), and it's also printed in the string below
- Acc and loop are from this string: "VSizeSetting Time:%d Acc:%d loop:%d"
- out[1] and out[2] are also output values from VSizeSetting, just not displayed in debug messages

halbmoki

First let me thank everybody involved in the FRSP development. This sounds awesome for timelapse :)

Sadly, today's nightly build doesn't seem to work on my 50D. Regular photo, lo-res silent pictures and video mode work as usual, but FRSP just flashes the screen (no message, just light gray) and the blue LED and then turns both off. The camera is still running at this point and everything goes back to normal after turning liveview off and on again or just going to Canon menu and then pressing half shutter again. The top display even shows "busy" for the set exposure time, but nothing gets written to the memory card, even after waiting 5 minutes without touching the camera. I did check the card with the card reader, not in camera.

Any guesses what I could have done wrong?
I can supply more information or a video of this behaviour, if it helps.

Settings: M mode, ISO 100, f/4, different shutter speeds from 10s to 1/50s, daylight WB, video inactive, expsim and exp-override active. Fresh installation from Nightly.2015Apr06.50D109 onto formatted card with no modules except silent.mo and mlv_rec.mo.



Pyriphlegethon

Is there currently a solution for sending a trigger signal via PC sync port on camera (or attached to hot shoe) when the silent picture is 'taken'? Some way to trigger external intervalometer/motor setup would be great, but uncertain how feasible this idea is as a search doesn't yield much success on any idea similar. Thanks.

a1ex

@halbmoki: did it ever work? A video of the camera screen would help.

@Pyriphlegethon: see this, this, this and this.

halbmoki

@a1ex: No, it never worked. This is the first version I'm trying, since I'm not very good with coding and compiling. I'm just assuming it's my mistake, because someone else reported success with a 50D earlier in the thread.
Here's a video of what happens when I try to take a full-res silent picture:
https://vimeo.com/124403853
The first 2 half-shutter presses are regular silent pics (always worked and still do), then one with FRSP/DNG and one with FRSP/MLV. Both are repeatable and the screen stays black for more than 10 minutes every time, unless I press some other button than half-shutter.
Little correction from my last post: There is a message "Hold on..." on the screen for a moment before it turns black. Didn't notice that before, because it's really fast.

The camera also crashed (frozen inside ML menu, had to remove battery) once while turning video off when FRSP was already on. I couldn't reproduce this after a few tries, though.

a1ex

@halbmoki: I think I found the problem: set image review in Canon menu to a nonzero value. Without it, some cameras can't trigger the QuickReview mode for previewing the image.

@breaker: what kind of trigger signal do you use? If I redefine half-shutter to trigger another picture, there will be no easy way to return to LiveView. If your trigger signal is a little longer, I could let short presses to return to LiveView, and long presses to trigger another picture (without adding yamlmo).

breaker

@alex: I'm using an Dynamic Perception MX3. I could not find anything in the documentation, and all i have in hand now is a slow multimeter. Anyway, i estimate the trigger signal to be somewhere between 500 and 1000 ms. I might measure it with oscilloscope tomorrow.
Another thing - i can also activate bulb mode on the trigger, so that will let me choose whatever trigger lenght i would like :)

Edit: fully adjustable, 120 ms default.

EOS 7D | EOS 650D | Sigma 30mm f/1.4 | Canon EF-S 15-85mm f/3.5-5.6 | Canon EF-S 18-135mm f/3.5-5.6 STM | 50D RAW Monster :-D

halbmoki

Thank you, a1ex! That did it. The image takes about 3 seconds to save, but it does work and the results look great. Now I only need a bunch of memory and a completely new editing maching that doesn't melt at the thought of 4K timelapse ;)

X-RAY

@ alex
oh well, this should also be the problem which I PMed you. will test that later.
but the image review was intended to be 0 for better battery runtime (timelapse), or isn't that the case anyway? Man, I'm still waiting for a possibility to deactivate that shitty screen. ^^ But I know, this probably won't ever be solved.
www.frankenfotograf.com
instagram.com/frankenfotograf

a1ex

I was able to re-trigger an exposure by a second half-shutter press, but with some restrictions:
- with image review turned off in Canon menu, works nice, but will not trigger ETTR (same behavior with regular pictures, and you get a warning in the menu)
- with image review enabled, half-shutter will take me back to LiveView and I can't stop it, so a long press will also enable LiveView for a split-second (it will eat up a bit of battery juice)

https://bitbucket.org/hudson/magic-lantern/commits/41267aa1a330

Before including it in the nightlies, here's a compiled module for you to try it:
silent.mo