How to play custom videos on the audio reactive screens
Introduction
An important feature of the streaming studio environment, is the audio reactive video screens surrounding the DJ booth. The screens react to the audio being played, by changing intensity and color in sync with the music and by switching between videos when a change in energy is detected (ex: when a track “drops”).
By default the screens playback a collection of videos built into the app, but users can easily load and playback their own video files.
Step 1: Loading videos
When the streaming studio environment is loaded and the audio reactive screens become active, the application searches for all compatible video files in a specific directory.
The following steps explain how to create that directory and play the videos in the application:
- Open Windows Explorer and navigate to the system’s default Videos folder. (ex: C:\Users\Username\Videos)
- Inside the Videos folder, create a new folder named Vinyl Reality
- Copy the video file(s) into this new folder
- Load Vinyl Reality and select the Streaming Studio environment
- The video(s) should now play on the screens (They might not be visible until music is played)
All compatible video files in the folder (excluding subfolders) will be loaded by the application.
If more than one video is found, the application will switch between the videos randomly when a change in the music’s energy is detected.
Step 2: Assigning video files to specific energy levels (optional)
Vinyl Reality analyses the audio signal that plays through the master output of the mixer in real-time and tries to detect the beats as well as the changes in the energy of the music that is playing.
It is strongly recommended to first read the section regarding energy level detection on the audio analysis in Vinyl Reality page before continuing.
Each video file can be assigned to one or more energy levels, so that it only plays during certain parts of a track, by simply renaming the file to include one or more predefined strings that can be parsed by the application when the file is loaded.
These strings are _Low, _Normal and _High which correspond to Low, Normal and High energy levels.
For example, given a video file originally named Music Visuals.mp4, it can be renamed to:
- Music Visuals_Low.mp4 to only play during parts with a low energy level
- Music Visuals_Normal.mp4 to only play during parts with a normal energy level
- Music Visuals_Normal_High.mp4 to play during parts with either a normal or high energy level
If the file name does not include any of the predefined strings, it will be assigned to all energy levels.
If multiple videos are assigned to the same energy level, a random one will be selected when the energy level changes. When the application transitions between two videos, the current video is paused before playing the next one, and will resume from its previous playback position when it is started again.
If not all energy levels are assigned by the users custom videos, the application’s built-in videos will be used for the missing energy levels.
Recommended video file formats and settings
Format and Encoding
Unity (the game engine Vinyl Reality uses) supports a bunch of video file formats and codecs, but for the best compatibility and performance it is recommended to use H.264, in the .mp4, .m4v, or .mov format.
Resolution and Aspect Ratio
Loading videos with a high resolution can cause noticeable performance issues, so it’s recommended to use videos with a low resolution. The application renders the video to a texture with a resolution of 960 x 540, so videos with a higher resolution will be downscaled regardless of their original resolution but still have a higher performance cost.
The aspect ratio of the screens is 16:9, videos with a different aspect ratio will be cropped to fit inside the screen’s aspect ratio, so that no borders are visible.
Audio
If the video file contains an audio track, it will be muted and not audible in the application.
Summary
So to summarize, the recommended video settings are:
- Resolution: 960 x 540
- Aspect Ratio: 16:9
- Codec: mpeg4 (AVC) with H.264
- Audio: None
Color conversion
All videos loaded into the application will automatically be played back in grayscale, and the color scheme for the current energy level will be applied to the video so that it better matches the rest of the environment.