loading

Video Recorder

The Video Recorder module provides a similar function to the Write_AVI/Write_Images and Media_Reader/AVI_Reader in that it will record and playback video. The difference between this module and the others is that the recorded video:
  • is lossless - There is no data loss between recording and playback to ensure that any processing done while recording can be reliably repeated during playback. This is crucial when testing for errors that may happen during the course of system testing that are hard to repeat.

  • contains ALL color - Typically video recording encoders will remove a lot of color in order to save space. This module includes all color information to allow for color processing to proceed as if working with the direct source stream.

  • is fast - Its not always possible to record on high end machines that have ample processing ability to keep up with MPEG or even JPEG compression. Having the ability to record using lower end tablet devices but maintain the video quality and speed is important for system testing.

  • saves every frame - Current video encoders may drop frames if encoding or playback cannot keep up with realtime speeds. This module will ensure that every frame is recorded AND played back to ensure that the playback is exactly the same as the source video stream.

  • does NOT include audio - As imaging applications rarely use audio as part of the application function no audio is recorded using this module.

  • includes random access - Many video encoders will only record keyframes (full video images) every couple of frames to increase compression. This can cause issues when requiring the ability to seek to a specific frame or move backwards through video.

  • plays and records without additional codecs - This module ensures that all those capabilities are provided without having to install many codecs (encoder/decoder) drivers to test quality and features.

An unfortunate side effect of these requirements is that the recorded video will be *MUCH* larger than typical video files meant for Internet distribution. If your intent is to use this recording in other applications or for online distribution do *NOT* use this module. While you can always convert this video format to other formats this module records video in a proprietary format only for use with RoboRealm and sacrifices disk space in order to ensure the best quality.

Interface

Instructions

1. Image Marker - The image to play into or record.

Source - the original image that was initially loaded or captured into RoboRealm
Current - the currently processed image within RoboRealm
Last - the last image processed by RoboRealm
CameraX - a list of attached and active USB camera devices
MarkerX - a list of created marker images using the Marker module. The Marker labels represent images at the time markers were created. If you wish to process the image at a certain point within the image processing pipeline create a marker at that point. The marker will then be included in the dropdown image list.

When recording, the marker is the image to record. When playing the marker is the image to update. If playback is into a marker the image will NOT appear as the current image.

2. Filename - Specify the file to open/save. Note that the file extension is expected to be .rvid.

3. Loop Playback - If you want to loop the playback then check the "Loop Playback" checkbox.

4. Relative Frame Delay - To change the playback rate of the video select the appropriate playback speed. Numbers lower than 1 reduce the speed while numbers greater than one increase it. This reduces or increases the time delay between frames.

5. Absolute Frame Delay - Replaces the time delay between frames to the specified amount. This ignores the recorded delay to allow you to playback video at a different rate that recorded. For example, if you recorded a single frame very hour you can playback the video at 30 frames per second using a 33 millisecond delay.

6. Frame Increment - If you want to skip over the video and only process every other frame set the increment to 2. This will cause every other frame to be skipped.

7. FPS - Displays the current Frames Per Second that the video is recorded in.

8. Skip - To Skip the first or last part of the video configure the "Skip First" and "Skip Last" accordingly. When the video loops the first X seconds, milliseconds, etc. will be jumped over. Similarly the video will end X seconds before the actual end of the video. Note that this is not cropping or modifying the video in any way.

9. Time - Displays the current frame time of the video. Changing this value will move the video to that time point.

10. Frames - Displays the current frame number of the video. Changing this value will move the video to that time point.

11. Sliderbar - Shows the current frame location within the video. Clicking or dragging this toolbar will move the video frame accordingly. You can also use the buttons surrounding the slider bar to advance or retreat a frame at a time.

12. Play - You MUST press the "Play" button to begin playing. Once pressed you can also manually stop the playback by pressing "Stop". You can also Pause the video and use the Time, Frames or Slider controls to move the video to a point of interest.

Note that you must press Play for the playback to start showing. Simply pressing OK will NOT begin playback.

13. Number Files - To avoid overwriting files that already exist the number files checkbox will append a number to the end of the filename if the file already exists. This helps to avoid destroying existing data.

14. Limit to - To stop the recording you have two options. You can limit recording to a set number of frames and/or stop after a set amount of time (whichever comes first).

15. Stop after - Specify the time once lapsed to stop recording.

16. Record Every - If you only need frames every X seconds you can use this configuration to change how often frames are recorded to video. This allows you very fine control over a time lapse functionality that can help reduce file size if realtime recording is not needed.

17. Increment Filenames - To avoid overwriting files that already exist, the increment filenames checkbox will append a number to the end of the filename if the file already exists. This helps to avoid destroying existing data and record multiple files with minimal changes.

18. Command Variable - To automate the starting and stopping of video recording (i.e. through the API) you can specify a variable whose value will contain either Play, Record, Stop, Pause or Resume as a command word which will cause the module to perform the appropriate action. Note that once read the variable will be set to blank to avoid repeating the same action more than once.

Variables


VIDEO_FRAME - specifies the frame number of the current video image.
VIDEO_SECONDS - specifies in seconds where the current video frame is within
  the video.
VIDEO_TIME - specifies the HH:MM:SS (hours:minutes:seconds) where the current
  video frame is within the video.

See Also


Image Queue
Write AVI
VLC Player
Read AVI
HTTP Read


 New Post 

Video_Recorder Related Forum PostsLast postPostsViews
None