Frequently (and Occasionally) Asked Questions

Windows: The software is delivered as a Microsoft Installer (.msi) compressed package. Right-click on the file name and choose Install. The installer makes entries in the Start Menu and puts a shortcut on the Desktop. The shortcut can be deleted if you don't want it on the Desktop.
macOS: The software is delivered as a macOS installer(.pkg) compressed package. Double-click on it and the installer places in your /Applications folder.
Windows: In Windows 7 the installer places an Uninstall option under VidPlayMTC in the Start Menu. In Windows 10 the application is removed through the Settings - Apps options.
macOS: Delete from your /Applications folder.

Any PC with a MIDI input device running Windows 7 (or later), or macOS 10.11 (or later), should be ok to run VidPlayMTC. Note that rendering video is a CPU intensive operation so, on a slower machine, you should close all other applications to minimize CPU load.

Please check that, under Configure, a MIDI In device and an Audio Out device have both been selected. If VidPlayMTC reports 'Not able to open audio device' it is probable that a previous crashed program has failed to close a device driver and has left it in an unstable state. I have found the only fix for this is to re-boot the PC.
Please use the 'Debug: Log' window to see if any data is arriving at the MIDI input port. If no data is arriving, then check that the correct MIDI Input has been selected.

If MIDI is being received but the video is not playing, then there may be contention with another application that has opened the same audio output device that VidPlayMTC is using.
I have seen this when another application has opened the same audio device that VidPlayMTC is using. It appears to be linked to a mismatch in buffer size within the audio driver. A re-boot may fix the problem, as it resets the audio drivers. Depending upon your own particular setup, sharing an audio device may not work reliably.

The PC may be running at 90% or more CPU usage. VidPlayMTC will lose synchronisation if there is not enough CPU time available. Check the CPU load in Task Manager/Resource Monitor. Refer to the next question for a solution.

See also: VideoValidator.

The best way to optimise the required resources (CPU time and memory) is to reduce the video frame size. If you halve the width and height then each frame will decode and render four times faster, thus reducing CPU load.

There are tools available online to re-encode a video down to a smaller frame size. 426*240 is the default size of the VidPlayMTC window, so that would be a good minimum size to choose.

Close down all other applications (including your internet browser) and disconnect from the internet.

If you are using a software MIDI interface such as loopBe, loopMIDI or rtpMIDI, you should check the CPU usage of that service in Resource Monitor. A hardware interface connected with a physical cable will be a much more CPU efficient setup.

See also: VideoValidator.

Open the file in VidPlayMTC and click on the logo. This displays various statistics, including the video and audio codecs, and the frame size.
The DAW Masters I have tested with (FL Studio, Bitwig Studio, Tracktion, Cubase, Reaper) update MIDI Time Code only when their transport is actually running. VidPlayMTC constantly monitors the incoming MIDI stream and always seeks to the most recent received MTC value. Some hosts also transmit a SysEx Full Frame message when the transport is stopped and the user moves the playhead position. VidPlayMTC responds to this if option 'Configure->Midi In->Follow SysEx Full Frame transport time' is set.
Hold down the Ctrl Key while dragging the slider. You are then able to set the time to within 30ms so a specific video frame can be selected.
VidPlayMTC supports the video and audio codecs that were licensed to FFmpeg, for decoding, as of July 2018 and including H.264.
To keep it simple, VidPlayMTC is currently configured to support one instance with a single video window.
VidPlayMTC has a special optimization feature for handling a long video. Before opening the video, select the 'OPTIMIZE: Cache File Analysis' option. Open the video and the application will save away to disk the important file analysis data. Next time the video is opened it will load very quickly using the cached data.

The cache files are created in the same folder as the video. They are named with "_acache.vdp" and "_vcache.vdp" appended to the video path name. The 'OPTIMIZE: Cache File Analysis' option must remain set, otherwise the cache files are ignored. You may delete the cache files at any time, and VidPlayMTC will simply re-create them next time the video is opened.

The video probably has very long key frame intervals. Click on the application logo to open the About window. Video statistics are displayed here, including 'Average key frame interval'. If this exceeds 5000 msecs then seek time will be noticeable as a delay in synchronization when playback is started.

A video may have been encoded with long key frame intervals in order to get maximum compression. For a video to be quickly 'seekable' it needs to have key frame intervals of 1000 msecs or less. The fix for this problem is to re-encode the video.

See also: VideoValidator.

The video has probably been encoded without any key frames. Click on the application logo to open the About window. Video statistics are displayed here, including 'Final key frame'. If this is zero it indicates that VidPlayMTC was not able to find any key frames in the file.

As an example, the GIF format encodes video without key frames, and also without a video length parameter in the file header. VidPlayMTC takes a long time to start playback because the application has to decode all the frames from zero to the sync position. The fix for this problem is to make the video 'seekable' by re-encoding with key frames, preferably at an interval of 1000 msecs or less.

See also: VideoValidator.