Author Topic: Making the camera record 1000 frames, then stop...  (Read 5542 times)

clkdiv

  • Full Member
  • ***
  • Posts: 141
    • View Profile
Making the camera record 1000 frames, then stop...
« on: February 15, 2022, 07:33:33 AM »
Hello!

I don't understand the segmented mode together with "disable ring buffer". I would like to record e.g. exactly 1000 frames then automatically stop recording. For that I set Record Mode to "Segmented", Record Length to 1000 frames, Number of Segments to 1. The display now show "Segmented size 1000 frames.

Now I thought camera would start recording to the one and only segment and then, when buufer is filled, stop recording, because "disable ringbuffer" is checked. But instead the camera records and records until I stop recording, still "ringing" the buffer.

What am I doing wrong here?

Thank you so much!
« Last Edit: February 25, 2022, 04:45:31 AM by clkdiv »

Nikon1

  • Hero Member
  • *****
  • Posts: 983
    • View Profile
Re: Segmented mode, I don't get it...
« Reply #1 on: February 15, 2022, 12:15:50 PM »
Have you tried going into "Record Settings", Then "Record Mode", Set Record Mode to "Normal" and "Record Length (frames)" to the needed/ Wanted Number of frames (Probably set it to ~30 Frames if you try to Record EXACTLY 20 Frames, which you actually need, as saving a Precise Number of Selected Frames is not the Cameras Strength, and you usually want to set it like 8 to 15 Frames Higher than what you actually need, to be sure to get what you need). Then Set Trigger Delay to 1000 (or exactly whatever you set the Other one to) Frames Post-Trigger.
 This should work in a way, that you still have to start the Recording like usual to the Ring Buffer, but then, after Trigger is Pressed, the Camera will Record exactly 1000 Frames and then Stop.
 If that is the Goal, to only record a 1000 Frames ONCE, that should work.
 .
 However, the Same should still also work for Segmented Mode, when the Option "disable ringbuffer" is not checked, Record Length (frames) is set to 1000 frames, Segments set to 1, and Trigger Delay set to 1000 Frames Post-Trigger.
 This Should from What i understand still give the Same Result, you need to start recording into the Ring buffer as usual, but once you then give the camera a Trigger Signal, it should record 1000 Frames after the Trigger Event and then Stop Recording.
 .
 Hope this helps. Also Remember to go back into the Record Mode Menu and reset the Record Length to "Max" once you are done with that, otherwise you might end up with some surprises when you try to use the camera "normally" next time for General Filmmaking and forget, you limited the Record time to a Small Fraction of Memory (Happened to me, and took my some time to realize).
 .
EDIT: ofc. not start 1000 frames after Trigger Event its *record* (changed in the Text above)
« Last Edit: February 15, 2022, 12:31:21 PM by Nikon1 »

clkdiv

  • Full Member
  • ***
  • Posts: 141
    • View Profile
Re: Segmented mode, I don't get it...
« Reply #2 on: February 20, 2022, 10:18:39 AM »
Hello, sorry, I could not make any of these proposals work. In all cases the camera goes on recording...

However in the manual I found this: "This feature works while triggering with an input signal or using a BNC trigger switch cable." Do i get it right, that the normal "recording button" on top of the camera somehow "overwrites" this setting?

clkdiv

  • Full Member
  • ***
  • Posts: 141
    • View Profile
Re: Segmented mode, I don't get it...
« Reply #3 on: February 20, 2022, 12:34:55 PM »
Hello again, just to finish this here: It works as Nikon1 suggested, but only when using external triggering (unfortunately).

That's the way: Recording Mode "normal" with [X] frames as desired. Then on page "Trigger delay" Pre-Trigger=0 and Post-Trigger=[X]. Adjust TriggerIO to IO1=Toggle.

Now the first IO1 signal starts recording, the second ends it after [X] frames are recorded (Post-Trigger). Thus the whole buffer contains the lastly recorded frames.

Thanks to Nikon1.

BTW.: I'd be happy if the record button could be used like IO1 Input, and I still don't get, why in segmented mode the "disable ring buffer" seems to do nothing?
« Last Edit: February 20, 2022, 12:37:05 PM by clkdiv »

clkdiv

  • Full Member
  • ***
  • Posts: 141
    • View Profile
Re: Segmented mode, I don't get it...
« Reply #4 on: February 25, 2022, 02:43:21 AM »
Sorry for the hassle: The camera behaves exactly as stated in the manual. It stops recording automatically after x frames, but only when using the trigger IOs. I'd be really happy, if the red button at the top of the camera might be used as a switch like the BNC.

clkdiv

  • Full Member
  • ***
  • Posts: 141
    • View Profile
Re: Making the camera record 1000 frames, then stop...
« Reply #5 on: February 25, 2022, 04:49:50 AM »
Yet I found another way to make the camera record x frames: Using the "delay" block on the IO-configuration page I succeeded to make the camera stop recording after x seconds... I attached a picture of the configuration again, and here also is a dump of the JSON object needed to put the whole configuration all at once into the camera via JavaScript.

Code: [Select]
{
  "gate": {
    "source": "none",
    "debounce": false,
    "invert": false
  },
  "toggleSet": {
    "source": "none",
    "debounce": false,
    "invert": false
  },
  "delay": {
    "delayTime": 0.999997,
    "source": "io1",
    "debounce": true,
    "invert": false
  },
  "combAnd": {
    "source": "alwaysHigh",
    "debounce": false,
    "invert": false
  },
  "toggleFlip": {
    "source": "none",
    "debounce": false,
    "invert": false
  },
  "start": {
    "source": "io1",
    "debounce": true,
    "invert": false
  },
  "combOr3": {
    "source": "none",
    "debounce": false,
    "invert": false
  },
  "shutter": {
    "shutterTriggersFrame": false,
    "source": "none",
    "debounce": false,
    "invert": false
  },
  "combOr1": {
    "source": "none",
    "debounce": false,
    "invert": false
  },
  "combOr2": {
    "source": "none",
    "debounce": false,
    "invert": false
  },
  "toggleClear": {
    "source": "none",
    "debounce": false,
    "invert": false
  },
  "combXOr": {
    "source": "none",
    "debounce": false,
    "invert": false
  },
  "trigger": {
    "source": "io1",
    "debounce": true,
    "invert": false
  },
  "stop": {
    "source": "delay",
    "debounce": false,
    "invert": false
  },
  "io1In": {
    "threshold": 2.49929
  },
  "io2In": {
    "threshold": 2.49929
  },
  "io1": {
    "driveStrength": 2,
    "source": "alwaysHigh",
    "debounce": false,
    "invert": false
  },
  "io2": {
    "driveStrength": 0,
    "source": "alwaysHigh",
    "debounce": false,
    "invert": false
  }
}

clkdiv

  • Full Member
  • ***
  • Posts: 141
    • View Profile
Re: Making the camera record 1000 frames, then stop...
« Reply #6 on: February 25, 2022, 05:11:28 AM »
Warning: There seems to be a bug in the REST API: When getting the the whole ioMapping configuration, the delayTime will be sent from the camera, but it refuses to accept the parameter when trying to set it.

When checking the whole ioMappings, there is an entry in the dictionary object like this:

Code: [Select]
"delay": {
    "delayTime": 0.999997,
    "source": "io1",
    "debounce": true,
    "invert": false
  },

But writing back this way is NOT possible. Instead one has to use the extra Parameter "ioDelayTime", that look like this:

Code: [Select]
{
   "ioDelayTime": 0.999997
}
I can't imagine, that this is wanted....




clkdiv

  • Full Member
  • ***
  • Posts: 141
    • View Profile
Re: Making the camera record 1000 frames, then stop...
« Reply #7 on: February 25, 2022, 06:39:04 AM »
Ok, yet the easiest way probably, without IO-Gear, thus it works with the red record knob:

Just set the "Delay" source to "While recording" and time to eg 0.05 seconds and the "Stop Recording" source to "Delay Block". Now when pushing the red button the camera records 0.05 second. So easy...



« Last Edit: February 25, 2022, 01:15:04 PM by clkdiv »