Using web browser from scripts

Using a web browser in Fast video cataloger

The start/help window in Fast video cataloger is a web browser. It uses the chromium embedded framework and you can access and use it easily from scripts.

You get the browser interface from the standard scripting interface

var browser = scripting.GetBrowser();

This is a standard chromium (chrome) browser interface and the official documentation can be found here:

To open a web site in the browser you would simply write:
browser.Address = "";

And here is a full example:

using System.Runtime;
using System.Collections.Generic;
using VideoCataloger;
using VideoCataloger.RemoteCatalogService;
class Script
  static public async System.Threading.Tasks.Task Run ( IScripting scripting, string arguments ) 
    var browser = scripting.GetBrowser();
    browser.Address = "";

The use of the browser has almost endless possibilities. You can use it to present information and info from your scripts, you can fetch data from other systems or even create custom user interfaces.

Search Video Actors

Search video actors with Google

This text will show you step by step how to add a custom button in Fast Video cataloger that will let you google results for the currently selected actor.

Custom Actions in Fast video cataloger allow you to easily extend the functionality.

You can extend the program to launch web pages, launch external programs, or for more advanced scenarios launch c# scripts with full access to the complete video database.

In this example, I will show how you can search google on the currently selected Actor.

The basic Googles URL for searches is this:

The text after q= is the query, and if you have more than one term just use a + in between them.

In Fast video cataloger, go to preferences and to the Action Tab.

Action tab in preferences

Click “Add” to create a new action.

On the first tab, Enter “Google Actor” as a label. And for tooltip enter “Google the selected Actor”

Title for the actor search button

Click on the “Execute” tab and change the drop-down list to “Web Page”

For URL Enter:

site of the the search engine

Click the Arguments tab.

For arguments enter : q={actor_firstname}+{actor_lastname}

Enter the url arguments to pass in the first and last name of the actor.

Click OK to close the window. And ok again to close the preferences.

From the view menu, open the Action window.

Open the “Custom Actions” expander and you should have a button “Google Actor”

The new search actor button is in the action window.

Select an Actor in the Actor window, click the “Google Actor” button and the browser window in fast video cataloger should show you the result.

Fast video cataloger with Microsoft intune

What is intune?

Intune is a relatively new application deployment technology from Microsoft.

“Microsoft Intune is a cloud-based service that focuses on mobile device management (MDM) and mobile application management (MAM). You control how your organization’s devices are used, including mobile phones, tablets, and laptops. You can also configure specific policies to control applications.”

Can Fast video cataloger run with intune?

You can package the Fast video cataloger installer as a .intunewin file using the Microsoft Intune Win32 App Packaging Tool.

Microsoft Intune Win32 App Packaging Tool will check the Windows Classic setup files and generate a .intunewin file imported into Intune Azure Portal.

You can download the tools from from Microsoft here:

You will need to agree to their license agreement.

Read more about the tool here:

You can download the Fast video cataloger installer from the Fast video cataloger download page.

You run their tool from the command line and it is pretty straight forward.

Silent or unattended installation of Fast video cataloger

Fast video cataloger uses nsis as an installation package. You can download the latest Fast Video Cataloger installer from our download page. We always sign our installer and run it through antivirus software.

If you want to run the installer silently simply start it with /S (upper S) as a command-line argument.

If you want to run the installer so it installs into another output folder give it the /D argument. /D=<installation directory> to change the default installation directory.

Add keywords from video filename

Have you ever wanted to create keywords based on the filename of a video?

With the scripting support in Fast video cataloger, this is actually pretty easy. Here is a sample script to do just that, create keywords from the filename or path of a video.

The provided script takes the currently selected videos and adds keywords and actors based on the name of the video file.

You might want to tweak the script a bit to suit your own naming standard.

The array of separators list the characters that should be treated as keyword separators.

The array ignore_words is a list of common words that should simply be ignored and not added as keywords.

The integer min_length is the number of characters that a word needs to contains to be added as a keyword.

Finally, if a string contains the @ character that sentence will be treated as an actor. First name before the @ and last name after the @. The actors are created and added as cast to the video.

As usual, to run a script in Fast video cataloger you load it into the console window and click the Run button.

Script console and web browser open.


#region title_to_keywords

using System;
using System.IO;
using System.Runtime;
using System.Linq;
using System.Collections.Generic;
using VideoCataloger;

/// <summary>
///  Take the title and use it to generate keywords.  
///  If there is a @ in the title we treat that as an actor
///  the text before @ is first name and the text after is last name
///  if an actor with that name already exist we use that one.
/// </summary>
class KeywordsFromTitle
    static public void Run(IScripting scripting, string arguments)
        var catalog = scripting.GetVideoCatalogService();
        ISelection selection = scripting.GetSelection();
        List<long> selected = selection.GetSelectedVideos();
        foreach (long video in selected)
            // Get the video file entry
            var entry = catalog.GetVideoFileEntry(video);
            scripting.GetConsole().WriteLine(System.Convert.ToString("Processing..." + entry.FilePath));

            char[] separators = { ' ', ',', '.', '-', '[' ,']', '{', '}', '_' };
            string[] ignore_words = { "is", "are", "who", "where" };
            string title = entry.Title;
            string[] keywords = title.Split(separators);
            int min_length = 3;
            foreach (string word in keywords)
                if (word.Length>= min_length)
                    if (!ignore_words.Contains(word))
                        if (word.Contains("@"))
                            // Actor
                            string[] names = word.Split('@');
                            string first_name = names[0];
                            string last_name = names[1];

                            scripting.GetConsole().WriteLine( "Actor FirstName:"+ first_name + " LastName:" + last_name );

                            int actor_id = -1;
                            VideoCataloger.RemoteCatalogService.Actor[] current_actors = catalog.GetActors(null, first_name, last_name, true);
                            if (current_actors.Length >= 1)
                                actor_id = current_actors[0].ID;
                                VideoCataloger.RemoteCatalogService.Actor actor = new VideoCataloger.RemoteCatalogService.Actor();
                                actor.FirstName = first_name;
                                actor.LastName = last_name;
                                actor_id = catalog.AddActorToDB(actor);

                            if (actor_id != -1)
                                catalog.AddActorToVideo(video, actor_id);
                            // Keywords
                            scripting.GetConsole().WriteLine("Keyword:" + word );
                            scripting.GetVideoCatalogService().TagVideo(video, word);

        // refresh the gui to show the changed file paths.

Search for video file name

How to search for a video file in a catalog

Here is a short sample script to search for a video file in the catalog given a filename.

Simply use the search api and provide the VideoQueryProperties. FilePath is a part of the video path you are searching for.

If the search failes to find any videos it will return null.

If it finds videos it will return an array of VideoFileEntry. The entries includes, among other things, the ID of the video. You use the id as key for the other APIs.

As usual, copy paste the script into the script window in Fast video cataloger. This is just a small sample, if you are developing your own script make sure to check our other developer resources.

using System.Runtime;
using System.Collections.Generic;
using VideoCataloger;
using VideoCataloger.RemoteCatalogService;
class Script
  static public async System.Threading.Tasks.Task Run ( IScripting scripting, string arguments ) 

    VideoQuery query = new VideoQuery();
    query.Properties = new VideoQueryProperties();
    query.Properties.Description = "";
    query.Properties.Title = "";
    query.Properties.FilePath = "part_of_filename";
    VideoFileEntry[] result = scripting.GetVideoCatalogService().SearchVideos( query );
    if (result!=null)
      foreach (VideoFileEntry entry in result)
        scripting.GetConsole().WriteLine( "ID=" + entry.ID );

Must have video software 2020

This article lists great pieces of video software. Some of the listed programs are not that well known, but they will all help you to be way more efficient in your video work or get more out of your video collection. All recommendations are for Windows PC.

Fast Video Cataloger 7

What is it?

Fast video cataloger is a video database software that lets you keep all your videos in one single place. You can quickly search to find what you are looking for and get a thumbnail timeline overview of the entire video clip. Fast video cataloger is your video command center. We are biased here as you are on the Fast video cataloger site.

Why do you need it?

Do quickly find what you are looking for and be more efficient when working with videos.

Where to get it?

Find out more and download the video software here

Download resources


What is it?

Video Downloadhelper is a web browser extension that will help you download videos from the internet. Once installed, you get an extra button in your web browser, and you can easily download the playing video file.

Why do it need it?

Use it to download videos to your computer. Ensure you have access to the video even if the site currently hosting it is no longer available.

Where to get it

Find out more and download the video downloader software here

video editor


What is it?

A free simple video editor for doing quick basic video edits. Easier to get into than the more advanced commercial software.

Why do it need it?

To do simple video edits like cutting a video, re-encode a video or apply filters.

Where to get it?

Find out more and download the video editor software here


What is it?

Camtasia is a video screen recorder and editor. We use Camtasia to create our tutorial videos.

Why do you need it?

To create screen recorder videos, or just as an easy to use video editor.

Where to get it?

Find out more and download the Camtasia video editor software here

video player


What is it?

MadVR is a video renderer that uses your graphics card to improve the quality of the video output. To use MadVR, you need a compatible video player. The integrated video player in Fast video cataloger supports MadVR, but you need to select it from preferences after installing it on your computer.

Why do you need it?

If you have videos that are in lower resolution, using MadVR as a renderer will make a huge difference.

Where to get it?

Find out more and download the video renderer software here

Smooth video project

What is it?

A Video player that does realtime conversion to 60 fps or higher to produce smother playback though framerate interpolation.

Why do you need it?

To play videos at a higher framerate.

Where to get it?

Find out more and download the video player software here

python video tools


What is it?

A command-line tool for video operations. You can convert between video formats, extract audios, fix broken videos, and much more. FFmpeg has a bit of a learning curve, and you need to run it from the command line. It is easy to create actions in Fast video cataloger to launch common FFmpeg commands on the selected video if you prefer to work with a graphical user interface.

Why do you need it?

The easiest way to do simple video conversions and a potent tool once you expand your knowledge.

Where to get it?

Find out more and download the video software here. You might also want to have a look at Loss-less cut, a GUI framework on top of ffmpeg to do lossless trimming and cutting of video and audio files,


What is it?

A program that detects where scenes in videos change.

Why do you need it?

To split a large video file into one clip per scene.

where to get it

Find out more and download the video software here

Bulk Rename utility

What is it?

A program that lets you quickly rename a lot of files in really advanced ways. Make sure to run this tool before adding your files to Fast video cataloger. In Fast video cataloger, you don’t need to care about the name of files, but it can still be nice to order your files if you still do some work outside of Fast Video Cataloger.

Why do you need it?

If you have a lot of files with nonsense names like you, get from mobile phones.

Where to get it?

Find out more and download the tool here


The Architecture of Fast Video Cataloger


Here is a very high overview of the technology we have used to build Fast Video Cataloger. The goal has always been to provide a video content management system for Windows with great performance.

Main application

The main application is written in C# using Visual Studio and the .NET framework. We use a lot of async/await for threading as wait as background workers and explicit threading. C# is generally pretty efficient, and we have access to most of the windows system using the .Net framework. We have had quite a bit of performance issues with garbage collection and quite a few tricks to work around these performance issues.

User interface

The user interface in Fast video cataloger is done in WPF and a few extra UI components. WPF uses DirectX internally, and DirectX uses graphics hardware for rendering. We have made quite a few optimizations to handle huge video collections with good performance.


The scripting interface uses CSScript and we expose the API through some abstract interface classes as well as the direct WCF interfaces. You can extend Fast Video Cataloger with C# either by loading the scripts in the console windows or by creating actions that link to C# scripts.


Video encryption uses Aes encryption and we hook the filesystem to be able to work on a stream level.

Web Browser

WPF has a web browser component but that uses internet explorer. The browser window is a hosted Chromium web browser, CEF sharp.

Video player

WPF has a video player component but that one has pretty bad performance and does not support all video formats. The video player in Fast video cataloger is custom for FVC and is written in C++ and uses a DirectShow filter graph to play videos. C# allows us pretty easy access to interface with c components. We build the graph manually to avoid the common issues where a system has badly configured filter priorities (Select the player from preferences). We support a few different renderers that you can select from the preferences.

Video indexer

The video indexer is custom for FVC and is written in C++. We use a custom DirectShow filter graph with a few custom DirectShow filters for the capture. The video indexer subsystem is something we have developed for over 10 years. It contains quite a lot of “special” code to handle errors and all sorts of broken files and codecs.

Video database

The video database engine is SQLite and we have built a custom WCF interface. Locally the WCF server is run as a separate process and the main application communicates through a memory pipe or TCP/IP.


When running the Fast video cataloger server the WCF component is hosted as a Windows service and communicates with the game over TCP.


You can download a trial version of Fast video cataloger

How to share a catalog over the internet

How to share a video catalog over the internet

In Fast video Cataloger 7 we have added the ability to share a video catalog across a windows network or over the internet. It is easy, and you follow the wizard.

web server for videos

When sharing over the internet, you first need to have a web server setup and configured. There are plenty of guides for how to set that up on the internet. If you don’t have a web server already we recommend iis that comes with Windows or the Apache server. We use the Apache version that is distributed with Bitnami. After you have installed the server, make sure it is working and connect to it. Start with localhost and then try from a remote computer. If you don’t have a working web server, the videos will not play, but you will be able to browse the catalog and search. All metadata is loaded using the Fast video cataloger server and not the webserver. The webserver is only used for loading videos and companion images (and if you are using the generated web pages).
Videos need to be at the root of the webserver. The catalog you share should only have videos that are in the root of the webserver. The catalog file you share should not be in the root of the webserver.


You share a catalog if you want other users to access it, perhaps at the same time as you are. This is how you create a shared video library for your entire company or a project.

You can stop the server and work on it again as a local catalog if no other user needs access.

When you share a catalog, other users can add videos or photos to the catalog. When they add videos, the video files are indexed locally and then uploaded over the Fast video cataloger service. Loading videos and images are done directly through a windows share while all metadata is accessed over the Fast video cataloger service.

Download the latest version of Fast video cataloger. If you have an older version, you will need to update to version 7 as that is the first version that has support for sharing a catalog over the internet.