Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - vonj

#1
Quote from: Danne on May 19, 2019, 02:18:38 PM
Not at all familiar with thsi concept but you could check this build for 100D:
https://www.magiclantern.fm/forum/index.php?topic=16040.msg208816#msg208816

The 4k setting could probably be modified to 24 fps and even broaden. That is height could be sacrificed. So could you be more specific maybe about width/height/fps and maybe I can test to build it.

I need as high fps as possible and as high width as possible. Height is completely irrelevant, 1 pixel high would be OK. I guess it needs to be 16 pixels high or something? The lower height the better, because I will throw away almost all rows of pixels anyway when scanning.
#2
Quote from: a1ex on May 19, 2019, 08:25:20 AM
Yellow front LED - I only know how to control it on the EOS M2 (where it's red). It's not under direct control of the main CPU. What camera are you using, btw?

Audio out could work. Timing issues were just something to watch for; I don't think anybody actually tested this method. At the hardware level, this is done with DMA transfers; if the sound pulse is computed in advance, it may actually work just fine. Caveat: some camera models are not able to play beeps from ML yet; it needs further reverse engineering.

Wide picture at high frame rate: this is already available on 5D3, with regular crop_rec_4k builds: 5796x400 @ 48 fps. I plan to implement this on all camera models, just not sure how much each camera is going accept (i.e. height vs frame rate).

I was also thinking about triggering image acquisition from half-shutter signals (i.e. some sort of genlock). These signals are forwarded by the MPU to the main CPU, so there will be a delay - need to measure it somehow (or at least the jitter). Or from mic input, but we'd have to monitor that signal with polling, i.e. not "too often", to avoid interference with DryOS task scheduling. Or there might be some useful signals on the USB/AV jack (unexplored territory).


I'm using a Canon 100D.

If I find a solution which fits my camera, it would be nice and I'll take it. Would be even cooler if people could build a cheap film scanning device all over the world with any ML capable camera.

With high horizontal resolution, I mean about 2k and up.

In raw video mode, I notice that my 100D goes to max 1728 resolution. Is that also the max resolution I can expect in full resolution silent pictures?
(1728 is OK for motion picture scanning but a bit low for stills pictures.)

I am still leaning towards that recording regular video (not raw) with some kind of sync output is best. But is it possible to hook into frame sync for regular video recordning, or only for MLV recording?
#3
Quote from: a1ex on May 18, 2019, 11:42:21 PM
Right - for your use case, you only need a slit-scan image. The silent picture module implements one, and only saves the final image at the end, so... you can just add the LED blink in the vsync routine from there.

Caveat: the silent picture implementation is limited to LiveView resolution (i.e. it's not going to save a very tall picture, if you need that). Can be done by tweaking the memory allocation calls.

I need as wide a picture as possible, tall is irrelevant. 1 line high would suffice, but makes it harder to calibrate the camera to hit the slit. 100 pixels tall or something would probably be perfect.

Do you think silent picture can take pictures at say, 25 or 30 fps? (Or, even higher?! The higher the better, really.)

Another thought I had - could the yellow front LED be blinked instead of the red SD card LED?

(Or some other output altogether, like audio out? But I read somewhere that there could be timing problems with audio out.)


Ignoring my usecase and thinking about motion control rigs in general, video recording is best, of course.

#4
Thank you so much for giving me pointers. This looks possible to do for me. Though, I think I do need to blink some LED while recording, how else can I dump my data to a file? Could I get a couple of lines in LiveView and save it out as JPEG? Even low or medium quality JPEG is probably fine, since I need only a line?

The reason I was thinking about video recording, is that you easily get 24-30 fps and the camera already provably can save video to the SD card fast enough. So I assumed I have to use video recording.

But are you implying I could just let the camera linger in LiveView and I could save image data myself instead?

Quote from: a1ex on May 18, 2019, 08:31:26 AM

If you need this to work while recording, you'll have to block the regular LED activity. That's doable, but requires hooking in Canon's file I/O routines (where they turn on the LED).
#5
Quote from: g3gg0 on September 23, 2017, 05:43:19 PM
could you possibly genlock your steampunk device's motor to the camera?
so the camera's card LED blinks a msec whenever a MLV frame was captured, signalling the stepper should advance one frame?
then the projector runs as fast as the camera is recording...

I can do that in my DIY projector!   How can I blink that LED? Which file (or some kind of hint where to look) must I modify to build a version that blinks the card LED?

#6
TL/DR:  I need some kind of frame sync output, LED would be nicest.

I am building a film scanner, for 35mm (and maybe later 16mm) film.

The idea is to take a picture across the width of the film, through a thin slit.

Then advance the film a tiny increment with a stepper motor, repeat.

Each captured image would represent only one line of the scanned film. For a "2K" width scan, you'd want maybe 3000 lines per (still image) or 1500 lines for a 2 perf cine image.

Just to be clear, each taken image would in my post processing throw away almost all of the image data. For instance a 1920x1080 picture would be converted to a "1920x1" image and then 3000 of those would be assembled into one "1920x3000".

I could do this with still images but it would take a million years and 3000 still images.

Something MUCH nicer would be to use video, but then the question comes about syncing camera frames with advancement of film. (With the stepper motor.)

The nicest, cleanest way would be if the camera outputs a pulse on the LED each video frame it captures. Then I can strobe a lightsource behind the film each time.

There are other ways to try to compensate in post, for instance by advancing the film more slowly and oversample (or something), but it would be slowing down an already slow process and add a lot of complexity.


I can program in C, I have done embedded programming etc, but it feels very daunting to cold start where to find my way in the codebase - help deeply appreciated.

I also think this feature would be very welcome for other purposes, like trick filming and motion control rigs.