There are many different codecs for video encoding, and not all codecs are equally good at all things. The difference is task. Do you need small file size, better streaming, a video that scrubs well?… a video for someone else to write music or work on audio?
What video codec settings to use for audio workprints
Here are recommendations for creating a video workprint for audio software.
First… always include a timecode window burn on workprints sent to the composer or audio post facility. Having the timecode embedded in the video will help ensure everyone stays locked to picture, and that any edits can be communicated with frame accuracy.
If file size is not an issue, the best choice is an editing codec like ProRes (native format of Apple Final Cut Pro) or DNxHD (Avid’s native format). These run smoothly when scrubbing or using a jogwheel to zoom around the video. They are also economical in terms of allocated memory per video file. Codecs like Photo-JPEG and Motion-JPEG work well too. **Note that videos using the above mentioned codecs have a rather large file size.
H.264 allows for small video file sizes but can be a problem because of the variety of encoding parameters which heavily affect the performance while scrubbing.
How to encode H.264 video to work best
Editing software may have h.264 encoder presets, but they probably don’t have an “Audio Workprint” preset. These different presets have various encoding parameters, and some are terrible for things like scrubbing. The “YouTube” presets are particularly bad.
You should use the following settings when creating H.264 video workprints:
The general rule of thumb: Less compression is better. Larger file sizes, which are less compressed, have less impact CPU during decoding/playback. This is important for an audio system that may be running heavy CPU processing during the session. Another tip… if you want your video to smoothly follow when scrubbing, use a key frame interval (IDR) of 1 frame (then every frame is encoded separately).
Also lowering the video resolution (e.g. from full-HD to 720p) helps to increase the playback performance. Video files with a lower resolution will consume less memory too.
Encoding a video with these settings will help a audio or scoring session, allowing more time for creative work.
Background Information on Codecs
What is a video codec?
A video codec is a compression algorithm that compresses the video into a smaller and easier to exchange data file – comparable with the popular MP3 format. Depending on the codec, several different compression methods are used. Basically, a higher compression rate which results in a smaller file increases the need for a higher system performance to be able to properly decode the video for playback. This fact needs to be taken into consideration especially when the video is supposed to be played back on the same system as the audio project… which can be very system resource intensive by itself, much less when playing a highly compressed video.
The different codecs also vary in usefulness because most of them (e.g. H.264) use predictive encoding. Those codecs contain an I-frame (intra frame) which does not need any additional information to be decoded and several P-frames (predictive coded frames) which contain the difference between the upcoming and the last I-frame and thus need a reference frame for decoding. While this encoding method offers higher compression rates, it also increases the workload for playback. On jogging or locating, the audio workstation has to move backwards to the last I-frame and decode up to the current frame which might have a severe impact on responsiveness. This is best dealt with by using codecs in which every frame is encoded separately, for example, ProRes, DNxHD, Photo-JPEG or Motion-JPEG.