IC-Recorder

IC-Recorder is a Digital Video Recorder software application capable of overlaying text onto video as it is recorded. It can accept video from a variety of sources (USB cameras, SD cameras, HD SDI cameras, etc) depending on the capture hardware available to the PC. A single IC-Recorder instance captures a single channel of video, but several IC-Recorder instances can be run on one PC, enabling multi-channel capture on a single PC.

IC-Recorder is designed to work seamlessly with IC-Inspection to deliver the most efficient offshore campaigns possible and the software is provided free-of-charge as a companion product to IC-Inspection. (Contact us to request a copy.)

When you start IC-Recorder, if the default TCP port (4500) is unavailable, IC-Recorder will “probe” each higher port number in turn (4501, 4502, etc.) to find a free port. Thus, you can run several IC-Recorders and each will find a free port. IC-Recorder will load a settings file based on the port number it found, so each IC-Recorder can be pointed at different capture hardware, different output recording folders, etc. So the typical use case is that if you have several capture devices on a single PC, or a multi-channel capture device on a single PC, you will run several copies of IC-Recorder on that PC. In the first IC-Recorder select the first capture device (or the first channel on your multi-channel device), etc.

When you first start IC-Recorder, you’ll need to configure it. Go to Tools ‣ Options.

Hardware

The first page is Hardware, and the first choice is Input, where you can choose System Hardware or Marshall Encoder. “System Hardware” can be any device that implements Microsoft’s DirectShow interface. This includes nearly every video capture card, sound card, or USB capture device.

System Hardware

Choose your input Video Capture Device and (optionally) Audio Device. For your main (centre) video channel you should record audio. For other channels you may wish to not record audio — this is to prevent “echo” during multi-channel playback caused by several copies of the same audio playing in not-quite-perfect synchronisation. If in doubt, we recommend recording audio on only the main video channel.

If you are running several IC-Recorders, you should choose a different Video Capture Device in each — in general you can’t consume one Video Capture Device twice.

Video Device and Audio Device each have a Properties button next to them. Clicking these will pop up a dialog provided by the driver of the hardware device in question. This dialog is not designed by us, and what you see will vary according to your capture device. Some device drivers do not supply a Properties dialog at all — in this case, clicking Properties will do nothing.

The Video Preview option controls some behaviour of the underlying Windows Media encoder. Its default of “Software - Most CPU for compression/Some CPU for Preview” is fine for most circumstances. With this setting, if there is insufficient CPU power, preview may become jerky (with just a few frames per second), but it will still try to record smooth video. If you are seeing jerky preview, you should record a test video with plenty of movement in it, then play back that video (using Windows Media Player or some other tool) to see if it seems smooth. If you are experiencing no preview whatsoever, you should still try a test recording and playback, as there are circumstances where Windows Media encoder may fail to deliver preview, but still record perfectly.

Marshall Encoder

The Marshall VS-103E Encoder is is an external piece of hardware that takes a single video signal in, converts it to a digital stream, and sends it to IC-Recorder over Ethernet. IC-Recorder then records that to disk as a file. The advantage of this approach is that there is little CPU overhead on the computer running IC-Recorder, as most of the “work” is done by the Marshall Encoder. The Marshall Encoder also overlays text onto the video, under the direction of IC-Recorder.

Set the IP Address to the address of the Marshall Encoder. Set the Username and Password to match the values you have set up in your Marshall Encoder. Tick the Use Authentication box. Set Channel to 1. (The remaining fields on this page are informational.)

When you click OK, you should see a preview of the video feed coming in to the Marshall Encoder.

Recording

The Recording page lets you set a variety of values related to recording.

Camera is the name that will be used in video files. This is a free text field with some presets available. Note that if your IC-Recorder is being controlled by IC-Inspection (the common use case), file names will be determined by IC-Inspection, and you should configure the camera name there, not here.

Project Location controls where IC-Recorder will save video files as they are created. It’s usual to record video to a local drive rather than to a network drive, to avoid problems with bandwidth, latency, dropouts, etc. IC-Inspection can specify a subfolder, so if your IC-Recorder folder is “E:\Video" and IC-Inspection specifies the “Main Pipeline” subfolder, then video will be recorded to “E:\Video\Main Pipeline".

If you are running several IC-Recorders, you can specify the same recording folder for all of them, and rely on each one having a different camera name to distinguish files, or you can specify a different folder for each (“C:\Video\Port", “C:\Video\Centre", etc). If two copies of IC-Inspection attempt to record the same filename at the same time (e.g. “C:\Video\2018-01-01 120000 Digital Video.wmv”), one of them will fail.

The remaining options on this dialog page are explained within the dialog.

The intent behind specifying a Time Limit on video files is to reduce video to manageable “chunks”: if you want video files to never be more than 2GB (to fit within FAT32 file size limits, for example), you should specify a time limit that ensures that files are always below this limit. Or use a File Size Limit instead. Note that if you are controlling IC-Recorder from IC-Inspection, you should control file time limits from there, not here — untick the limits here in IC-Recorder.

Video Format

For system hardware (cards or USB devices directly connected to this PC), there are a variety of video format options to configure. For Marshall Encoder devices there are none, because the encoding is carried out by the Marshall Encoder, not by IC-Recorder. When controlled by IC-Recorder, Marshall Encoder video recordings will always be AVI.

For system hardware, the first choice on the Format page is whether to use AVI or WMV. This is like an “envelope”: digital video can be encoded with a variety of different codecs, but can also be wrapped in a variety of different video format “envelopes” (such as AVI or WMV). The analogy is to a paper letter in an envelope: the choices as to what envelope to use, and what language to write the letter in, are separate. When a computer plays back a video file, it will first handle the envelope, and then handle the video stream(s) within. If you know that video will only be played back on Windows computers, WMV is a good choice, because all Windows computers have WMV support pre-installed. Support for other formats depends on operating system version and what codecs are installed. Getting a codec installed on a particular client computer may require cooperation from corporate IT.

AVI

If you choose AVI, you will need to specify a Codec. For the video files to be playable on a particular client computer, a suitable codec must be installed on that computer, so again choosing something widely supported may be important.

Next to Codec is an Advanced button, which shows the configuration dialog supplied by the codec. Again, the appearance and functionality of this dialog will vary from codec to codec, and some codecs may not supply a configuration dialog at all.

Device Resolution has a Change button next to it. This lets you configure “Capture Pin Properties”. “Capture Pin” is a Windows Media concept, and what (if anything) you can change here may be restricted by the codec you are using. If possible, ensure that the device resolution and frame rate match what is actually coming in from the device. (“Capture Pin Properties” is quite a technical thing, and ordinarily you won’t need to change it or look at it.)

WMV

If you choose WMV, you will need to choose a Profile. The profile’s resolution and frame rate should match the resolution and frame rate of the incoming video feed. If they do match, you’ll see a green message telling you so; if they don’t match, you’ll see a red message telling you so.

If you have installed Windows Media Encoder on this PC and you have copied WmProEdt.exe (usually found in C:\Program Files (x86)\Windows Media Components\Encoder) to the Profiles folder (usually C:\Users\Public\Documents\IC-Recorder\Profiles), you can click the Edit button to adjust settings within a profile. A button is provided to open the Profiles folder, for your convenience in copying in profiles.

Your aim is to make the incoming resolution and frame rate match the resolution and frame rate in the profile, by modifying one or the other. If the resolution matches, you will see a green message on this page saying “Valid resolution for [device].” If they don’t match, you will see a red message saying “Invalid resolution for [device]”. Note that if the resolution does not match, you will not be able to record.

Whichever format you choose, during recording IC_Recorder will write to a file whose name ends in “.part”. Once recording is complete, the file will have “.part” removed from its name, and will end in “.avi” or “.wmv”. You should configure any backup processes to ignore “.part” files.

Video Standards

SD (Standard Definition) NTSC video is 60 interlaced fields (30 full frames) or 59.94 fields (29.97 frames) per second, with a vertical resolution of about 486 lines. SD PAL video is 50 interlaced fields (25 full frames) per second, with a vertical resolution of 576 lines. Analog video does not have a fixed number of horizontal pixels, but 768, 720 and 704 are common numbers used when converting to digital. NTSC and PAL encode colour differently, so if you choose the wrong format, you may get black and white video.

HD (High Definition) video is at least 720 pixels high, but 1080 pixels high is the most common resolution. It is usually in an aspect ratio of 16:9 (i.e. 1280x720, or 1920x1080). It can be interlaced (“i”) or progressive (“p”). The frame rate is most often 25, 29.97, 30, 50, 59.94, or 60 fields per second. “1080p25” for example, is a 1920x1080 pixel image delivered 25 times per second. “1080i50” is the same, but is delivered as 50 interlaced fields per second, where two interlaced fields are the same as one full frame. So when using progressive video, it is fine for the final number to be half the size. All other things being equal, progressive video is preferable to interlaced video, as it is slightly easier to encode and avoids artifacts such as “combing”.

SD video is usually delivered as analog video. Analog video can be delivered as composite, S-Video, or Component, but composite is almost always the format used in our industry. HD video is usually delivered as SDI (Serial Digital Interface, a digital format). In other words, SD usually isn’t SDI. SDI deliberately uses the same types of cables and connectors as analog, to allow TV studios to re-use existing cabling, but if you feed a digital signal into an analog capture device (or vice versa) you will not get video captured.

Advanced

Show overlay text shadow, if ticked, puts a white border around dark text or a black border around light text on your overlay, thus making text more legible if the underlying video colour is similar to the text colour. This option does consume a bit more CPU power, so if your CPU is near 100% during recording, try unticking this option.

Borderless, if ticked, means that when you start recording (either by clicking the Record button or by starting an inspection in IC-Inspection), IC-Recorder will hide its border, toolbars, etc. This can be useful if you want to maximise the amount of monitor space devoted to video. You can switch back by right-clicking on the video area and unticking Borderless Mode in the pop-up menu, or by double-clicking in the video area.

Logging level should generally be left at its default setting unless directed by technical support. The more verbose levels write more detailed information which can sometimes help us solve bugs, but more verbose logging can also slow the system down.

Edit Overlays

IC-Recorder can overlay data onto video without requiring additional overlay hardware. If you are controlling IC-Recorder from IC-Inspection 6, you should configure overlays in IC-Inspection 6. If you are controlling IC-Recorder from IC-Inspection 5, you should configure overlays here in IC-Recorder. (It is not necessary to run the separate Text Overlay Server application.)

Click the Edit Overlays button. This will show you a list of overlays. Any overlays with a Source of Server were created in IC-Inspection 6, and can only be edited from there. Any overlay with a Source of Client is created from within IC-Recorder, and can be edited from here. Click Add, or select a Client overlay and click Edit, and you’ll see the Edit Overlay dialog. If you’ve just added a new overlay, you’ll need to fill in the Overlay Name field before you can click Save.

Drag the window larger to make the black overlay region larger. It doesn’t need to match the actual size of your video feed, but it’s convenient for you if you drag it to approximately the same shape.

You can drag fields from the tree at the left onto the black overlay layout region. This tree is populated from IC-Inspection, so if the field you want is not shown in the list, ensure IC-Inspection is running and is connected (via its Devices) to this IC-Recorder, and that the appropriate survey field is configured and has a value in IC-Inspection. (If you configure Spare1 thru Spare4 fields in IC-Inspection 5’s Text Overlay window, they will be sent through to IC-Recorder.)

Once you have dragged on your first field, you may wish to set its colour, font, size, etc., because additional fields you drag in will “inherit” their settings from the previous field you dragged in.

Once fields are on the overlay, you can “lasso” several fields by click-dragging a box around them, or you can click a single field to select it. You can use the toolbar buttons at the top of the dialog to act on all selected fields at once (to “nudge” them around the screen, align them in a tidy fashion with respect to each other, change their font size, or delete them). You can also use the list at the bottom of the screen to modify individual fields.

To put prefix text on a field (e.g. “Depth: “, etc.) edit its “Region Text”. You generally want a trailing space, so as to separate the caption from the text coming in from IC-Inspection. Short captions are often best — “E: ” for Easting, etc.

If you drag in an “Image” region, you will immediately be shown a file dialog, so that you can choose an image file for this region. If you choose a .PNG file, then the transparency in that file will be honoured: where the PNG is partly or wholly transparent, you will see the video through the image. You can drag on more than one image region if you so desire.

Note that the “Top” and “Left” shown in this list are for the current size of the preview shown here in the Edit Overlay window, not for the actual size of your captured video feed (so as you resize the window, you’ll see these values change). This is because the overlay editor does not depend on the dimensions of the video you are currently capturing. Font size, however, is in the dimensions of your video: a 10-point font on a 576-pixel high SD video will fill about 1/57th of the height of the image and will likely seem about right, whereas this would be too small on a 1080-pixel high HD feed.

If you untick the “transparent” option for one or more fields, those fields will be shown with a solid background rectangle of the colour you select. If you tick the “transparent” box, the text will be shown without a solid background rectangle. This conceals less of the video, but may be less clear on some colours of video. Note also the “Show overlay text shadow” option under Tools ‣ Options ‣ Advanced — ticking this works well with transparent-background fields, because it places a dark border around light text, or a light border around dark text, thus making text more legible if the underlying video colour is similar to the text colour. This option does consume a bit more CPU power, so if your CPU is near 100% during recording, try unticking this option.

If you are using a Marshall Encoder rather than system hardware, some overlay configuration options are ignored because the Marshall Encoder does not support them. Text, prefix, suffix, source, top, left, font size, and font colour are all supported, but font (Courier, Arial, etc.) is not. Additionally, the Marshall Encoder supports at most 16 overlaid fields.

Communication with IC-Inspection

IC-Recorder works best in conjunction with IC-Inspection 5 or IC-Inspection 6 — a connection to IC-Inspection is necessary to get IC-Inspection’s survey data visible as an overlay on IC-Recorder, for IC-Inspection to be able to start and stop recording on your IC-Recorders, and for IC-Recorder to be able to send multimedia still images on request. Go to IC-Inspection 5’s Device Manager or IC-Inspection 6’s Devices and add a Generic DVR or an IC-Recorder.

IC-Inspection 5

IC-Inspection is responsible for choosing the file name for each video file. So if you set a Project Location of “C:\one”, and a Base Path of “two” and a Filename Format of “<yyyy-mm-dd> <hh-nn-ss-zz> - <camera> - <countfromone>”, then when you click Start Inspection, or when IC-Inspection decides that it’s time to roll over to a new file, it might create a file on the IC-Recorder PC called “C:\one\two\2018-01-02 12-34-56-00 - Centre - 1.wmv”. You can create your own Filename Format — you can put a date or time format of your choice inside <angle brackets>, and you can also include “<camera>” to include the camera name and <countfromone> to include a “uniquifier” which will start from the value shown in Count, and increment each time a new video file is started. (Note that while you can specify tenths, hundredths or thousandths of a second with z, zz or zzz, if IC-Inspection’s survey source only gives time down to whole seconds, the fraction part will always be 0, 00 or 000.)

To send a DVR folder, go to IC-Inspection’s Tools ‣ Options ‣ Video, and click the ‘…’ button next to Source Field and select the Asset Information field that contains your DVR folder. The final path that your video file gets recorded to will be made up of the Project Location you selected in IC-Recorder’s Tools ‣ Options ‣ Recording, plus the base path you selected in the IC-Inspection device, plus the Source Field, followed by the filename created using the template you specified in the IC-Inspection device, with a file extension of “.avi” or ‘.wmv” depending on your selection in Tools ‣ Options ‣ Format.

(Previously it was necessary to carefully synchronise time between IC-Inspection 5 and DVRs, to ensure that the DVR used the correct time in filenames. But since IC-Recorder receives the filename directly from IC-Inspection, this is no longer necessary.)

IC-Inspection 6

IC-Inspection sends the time to IC-Recorder, and IC-Recorder uses this to generate a filename. During recording, this filename is used. Once recording is complete, IC-Recorder checks to see if there was a time difference between it creating the video file and actual recording starting. If there is, it adjusts the filename accordingly (typically by only 1 second, depending on machine load).

In IC-Recorder you can set a Project Location. In NEXUS IC, under Configuration ‣ Assets ‣ Features, edit DVR - Relative Folder to select the field that will be used for DVR folder. This path is then appended to the project location.

See also Devices.

Daylight Saving

If Windows automatically switches to daylight saving time during an inspection campaign, this could potentially cause video files to be confusingly named. For example at the beginning of daylight saving in spring, there could appear to be a one-hour gap in your video recording when there was none in reality, because your PC clocks have sprung forward one hour. Similarly in autumn/fall, video files might be recorded apparently at the same time as videos actually recorded an hour earlier, because clocks have fallen back by an hour.

For this reason, we recommend disabling automatic daylight saving adjustment on PCs that will run either IC-Inspection or IC-Recorder. This also applies to any third-party systems that might e.g. be supplying time via a survey string. Choose your timezone at the start of any given inspection campaign, and remain in that timezone for the duration.