MIDI Time Code Video Player for Audio Workstations
YouTube ChannelVidPlayMTC 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 app runs in Microsoft Windows, Apple macOS and Linux, 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.
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' DAW.
Features
- 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.
- Can be opened immediately into full screen mode by running from the command line with argument -fullscreen1, -fullscreen2 or -fullscreen3
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, Sound Forge, Cakewalk, Avid Pro Tools, Logic Pro and MakeMusic Finale.
Download - Windows Download - macOS Download - Linux
If you like VidPlayMTC please contribute to the development effort by buying a copy of the VidPlayVST DAW plug-in.
Test video: Test-DAW-Sync-30-mins-with-click.mp4
Configuration
Requires Windows 7, 8 or 10 (64-bit). Will not run in Vista or XP. Installs from a Microsoft Installer (.msi) compressed package.
Apple macOSRequires macOS 10.11 or later. Installs from a macOS (.pkg) compressed package.
LinuxSee below for specific instructions for Linux.
MTC Frame Rate
Accepts MTC at 24, 25, 29.97 or 30 fps. Automatically detects frame rate from the MIDI input stream.
MIDI Clock
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.
Audio Output
An audio output device must be specified, even if the video being played has no soundtrack. These devices are supported: ASIO, MME (Windows); CoreAudio (macOS); ALSA, JACK (Linux).
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.
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.
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.
VideoValidator - diagnosing playback problems
VideoValidator is a utility application which quickly scans a video file to diagnose encoding problems. It locates errors such as invalid frame timestamps, and provides advice on various playback issues. It is available free: HERE.
Using MIDI Clock sync with Ableton Live and Reason Studios Reason
These DAWs do not support output of MTC, but MIDI Clock sync is an option for projects that maintain a fixed tempo. In VidPlayMTC 'Configure->Midi In' set the tempo exactly as set in the DAW and enable 'Use Song Position (SPP) with MIDI Clock sync'.
An alternative host/server video solution?
Have you considered using Vienna Ensemble Pro or AudioGridder? 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 configured in AudioGridder
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
Linux VidPlayMTC installation instructions
The download link opens a Google Drive page. Click on the download symbol.
Run the installer in a Terminal as follows...cd /folder/where/you/saved/the/file
/bin/sh ./vidplaymtc-setup.run
The installer puts the executable file vidplaymtc in folder /usr/bin
The following required libraries are copied into folder /usr/share/vidplaymtc
libfltk_gl.so.1.3
libSDL2_ttf.so
libavformat.so.58
libavutil.so.56
libSDL2_image.so
libfltk.so.1.3
libavcodec.so.58
libswscale.so.5
libSDL2-2.0.so.0
libfreetype.so
libswresample.so.3
libx264.so.155
Run from the command line with...
vidplaymtc
or...
vidplaymtc -fullscreen1
vidplaymtc -fullscreen2
vidplaymst -fullscreen3
Like most Linux software VidPlayMTC has dependencies which must be installed on the host system. The requirements are...
Gdk 3.0
MESA OpenGL 2.0 or later
VidPlayMTC is not compatible with the closed-source proprietary OpenGL library supplied with NVIDIA graphics drivers. If your Linux machine has a NVIDIA graphics card you may need to install the open source 'Nouveau' graphics driver. This provides a bridge from MESA OpenGL to the NVIDIA graphics processing unit (GPU).
Command line tool 'glxinfo' can be used to determine the installed version of OpenGL.