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.
VidPlayMTC is Free Software
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 and Sound Forge. PreSonus Studio One users should refer to the usage notes.
If you like VidPlayMTC please contribute to the development effort by buying a copy of the VidPlayVST DAW plug-in.
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 MIDI Watch window that shows the MTC or MIDI Clock data arriving at the input port. When video is playing MIDI events scroll rapidly through the window, timestamped in milliseconds and showing the current sync position in milliseconds.
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.
PreSonus Studio One as Master
Unfortunately VidPlayMTC will not sync reliably with MTC data generated by Studio One. If you try it you will find that playback will usually start successfully but, as you work in your project, synchronisation will be lost at some random point. Stop and restart will re-establish sync, but the problem will keep recurring. (Re-tested with Jan 2019 build of Studio One 4 and problem still exists)
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).
An alternative host/server video solution?
Have you considered using Vienna Ensemble Pro? Advances in computer power and LAN speed now provide robust host/server solutions which exchange audio in real time over gigabit ethernet. VidPlayVST configured in VEPro
VidPlayVST plug-in reviewed on KVR
"This is an incredibly useful plugin -- great for just about any DAW that has issues with or is missing video support. Even just as a secondary tool for display on more than one screen, for example. Also supports a bunch of codecs that many DAW engines don't support. Great little plugin, deserves more attention, and great developer too who has added a very useful render feature as well, which most DAWS lack. Easy 5 stars, and a great price too." link to KVR text