WARNING: This version of the website is for testing purposes only. Some pages or functions might not work.

CLICK HERE TO GO BACK TO THE NORMAL SITE 

Setting Up an Encoding Environment

February 15, 2022

Previous: An Introduction to FFmpeg | Next: Things to do before encoding

Table of Contents


Introduction

We now have a basic idea of what FFmpeg is and what its ffmpeg tool can do. Next, we will set up an environment to make use of it so that we can begin encoding.

FFmpeg Installation

FFmpeg is an open-source project, so it's source code is freely available for downloading here if we would like to compile it ourselves. Otherwise, FFmpeg offers static builds for our OS:

Linux | Windows | macOS

Alternatively, we can install FFmpeg through our package manager:

Debian | Ubuntu | Fedora / Red Hat Enterprise | Chocolatey | Homebrew

If we are installing with a static build, we should extract the downloaded archive file to an easily discoverable directory like our C Drive. The extracted folder will be named after the build, so it is recommended that we rename the folder to ffmpeg. This makes the process of updating as easy as replacing the folder. Finally, we should add the bin subdirectory to our PATH environment variable so that we can can call the ffmpeg command-line tool without the canonical path to the executable.

Ultimately, we should be able to open a terminal and have the ability to call ffmpeg from any path in our system.

Remark: We have an encoding standard that requires the use of the latest release version of FFmpeg. FFmpeg targets approximately 6 months per major release with smaller patches in between. The moderation team notifies the community of new releases in the Discord server and in submission posts if our builds are out of date. We may want to periodically check our static build site of choice for new stable builds.

Other Helpful Software

Of course, there exists other software useful for the encoding and verification processes. While not a necessity, we may want to consider using some of these tools.

Spek is an Acoustic Spectrum Analyser that helps to analysize audio files by showing their spectrogram. This tool is helpful in analyzing audio quality of source files and encoded WebMs.

MediaInfo is a convenient unified display of the most relevant technical and tag data for video and audio files. This tool is helpful in analyzing file properties in tandem with FFprobe to verify source files and encoded WebMs.

mpv is a free, open source, and cross-platform media player. This tool is useful for testing playback, retrieving timestamps for encodes and taking high quality screenshots to share defect findings, among other things.

VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVDs, Audio CDs, VCDs, and various streaming protocols. This is a tool that is useful for testing playback.

MPC-HC is an extremely light-weight, open source media player for Windows. This tool has a great feature for retrieving accurate timestamps for encodes. However, this project is not under active development. If this is a concern for us, MPC-BE is an alternative.

Python 3.6+ is required if we'd like to make use of the moderation team's scripting solutions for the encoding process.

MKVToolNix is a set of tools to create, alter and inspect Matroska files under Linux, other Unices and Windows.

Conclusion

Our system is now ready for encoding efforts! Next, let's talk about what to do before starting an encoding process.

Resources

wikiHow - How to Install FFmpeg on Windows

Adaptive Samples - How to Install FFmpeg on Windows

Install ffmpeg on Mac OS X


Previous: An Introduction to FFmpeg | Next: Things to do before encoding

Back to overview