MIDI Time Code Video Player for Audio Workstations
VidPlayMTC is a simple and efficient application for playing video synchronised to MIDI Time Code (MTC). It uses FFmpeg, which is an Open Source library of tools for working with video and audio data in multiple formats. The application runs in Microsoft Windows and is able to open and play video files in any format supported by FFmpeg.
If you have a video file formatted with any freely licensed codec, then VidPlayMTC will probably be able to open and play it.
- Syncs to MIDI Time Code (MTC) or MIDI Clock input.
- Facility to pick out a specific cue from a longer video reel.
- Loop mode, which can be useful for live performance or rolling presentations.
- The viewport window is resizable and, optionally, the video may be viewed in a detached window or full screen.
- Video may be viewed at its original aspect ratio or scaled to fit a chosen window size.
- Plays the soundtrack if present within the video file, or it can be muted.
- Option to display SMPTE timecode.
- Designed to be light on computer resources. A 10 year old Windows laptop with 2GB of memory will be fine for running this application.
Some knowledge is required of how to route data between MIDI devices. The application has been tested with MTC generated by FL Studio, Bitwig, Tracktion, Cubase, Reaper, Sound Forge, Cakewalk, Avid Pro Tools and Logic Pro.
VidPlayMTC Free To Use for 90 Days
Requires Windows 7, 8 or 10 (64-bit). Will not run in Vista or XP. (Apple Mac version is not yet available)Software Delivery
Installs from a Microsoft Installer (.msi) compressed package.
MTC Frame Rate
Accepts MTC at 24, 25, 29.97 or 30 fps. Automatically detects frame rate from the MIDI input stream.
MIDI Clock may be used if the Master is not able to transmit MTC. A fixed tempo must be specified, matched to the Master tempo.
An audio output device must be specified, even if the video being played has no soundtrack. ASIO and MME devices are supported.
Using MIDI Loop Back
VidPlayMTC is intended for studio setups where two PCs are linked via MIDI cable (or by MIDI over Ethernet ). A 'Server' machine runs VidPlayMTC synchonised to a MIDI stream transmitted by a 'Master'. It is possible, however, to make a setup where the Master and the Server run on the same PC. To achieve this the MTC data is sent out on a MIDI Out device and looped back to a MIDI In.
The 'loop back' can be achieved in software, or with a physical cable. There are a couple of software options that I know of...
It may seem counterintuitive, but the MIDI Out port of an audio interface unit can be looped back to its own MIDI In with a MIDI cable. This works fine with my own Edirol UA-25, and that is how the demo video (at the top of the page) was created.
If all this seems a little complicated, you may find the VidPlayVST plug-in provides a simpler solution. You just drop it into your DAW project and you are ready to go.
Usage Notes and 'Gotchas'
Checking for MIDI Input
The application includes a comprehensive Debug Log window which reports any configuration problems or errors in the incoming data stream. It runs 1 second behind the video display and logs all the MIDI events received during the previous 30 seconds.
Contention between audio devices
If running a 'loop back' setup, then both the Master application and VidPlayMTC will each need to open an audio device on the same PC. If VidPlayMTC is receiving MIDI but the video is not playing, then you should check which audio devices are being opened. It may not be possible for the Master and VidPlayMTC to share the same audio output.
Use MTC in preference to MIDI Clock
Some DAWs will allow simultaneous transmission of both MTC and MIDI Clock. In this case select MTC ONLY, and disable MIDI Clock.
Please be aware that there is no hard and fast rule about how a DAW should calculate MTC when there are tempo changes in the project. For example, at a tempo change in FL Studio MTC is re-calculated as if the new tempo had been applied from time zero. Other DAWs may use a different strategy. It all depends on how the underlying audio engine has been coded.
Key Frames, Key Frames!!
Most videos are encoded with frequent key frames, and these are required for VidPlayMTC to work correctly. A key frame interval of 1 second or less is ideal. Click on the application logo to open the About window, where video statistics are displayed, to confirm the 'Average key frame interval, msecs'. If this exceeds 5000 msecs then there will be noticeable delays in synchronisation at start of playback.
DRM - Digital Rights Management
VidPlayMTC will not open videos that are encrypted with DRM.
Test-DAW-Sync-30-mins-with-click.mp4 is a test video which displays the performance time stamp (pts) of every frame. Frame rate is 25 fps (40 milliseconds frame interval) so the displayed time should always be within 40 milliseconds of the time shown by the DAW transport (assuming no global offset has been applied to the MTC stream).