Skip to content

FFmpeg Installation Instructions

FFmpeg

StreamGear must requires FFmpeg executables for transcoding Media Chunks. You can following machine-specific instructions for its installation:

StreamGear API will throw RuntimeError, if it fails to detect valid FFmpeg executables on your system.

Enable logging (logging=True) for debugging FFmpeg validation process.

Linux FFmpeg Installation

The StreamGear API supports Auto-Detection and Manual Configuration methods on a Linux machine:

A. Auto-Detection

This is a recommended approach on Linux Machines

If StreamGear API not receives any input from the user on custom_ffmpeg parameter, then on Linux system, it tries to auto-detects the required FFmpeg installed binaries through validation test that employs subprocess python module.

Installation: You can install easily install official FFmpeg according to your Linux Distro by following this post ➶

B. Manual Configuration

  • Download: You can also manually download the latest Linux Static Binaries(based on your machine arch(x86/x64)) from the link below:

    Linux Static Binaries: http://johnvansickle.com/ffmpeg/

  • Assignment: Then, you can easily assign the custom path to the folder containing FFmpeg executables(for e.g 'ffmpeg/bin') or path of ffmpeg executable itself to the custom_ffmpeg parameter in the StreamGear API.

    If binaries were not found at the manually specified path, StreamGear API will throw RuntimeError!

 

 

Windows FFmpeg Installation

The StreamGear API supports Auto-Installation and Manual Configuration methods on Windows systems.

A. Auto-Installation

This is a recommended approach on Windows Machines

If StreamGear API not receives any input from the user on custom_ffmpeg parameter, then on Windows system StreamGear API auto-generates the required FFmpeg Static Binaries from a dedicated Github Server into the temporary directory (for e.g. C:\Temp) of your machine.

Warning

  • The files downloaded to temporary directory (for e.g. C:\TEMP), may get erased if your machine shutdowns/restarts.

  • You can also provide a custom save path for auto-downloading FFmpeg Static Binaries through -ffmpeg_download_path parameter.

  • If binaries were found at the specified path, StreamGear automatically skips the auto-installation step.

  • If the required FFmpeg static binary fails to download, or extract, or validate during auto-installation, then StreamGear API will exit with RuntimeError!

B. Manual Configuration

  • Download: You can also manually download the latest Windows Static Binaries(based on your machine arch(x86/x64)) from the link below:

    Windows Static Binaries: https://ffmpeg.org/download.html#build-windows

  • Assignment: Then, you can easily assign the custom path to the folder containing FFmpeg executables(for e.g 'C:/foo/Downloads/ffmpeg/bin') or path of ffmpeg.exe executable itself to the custom_ffmpeg parameter in the StreamGear API.

    If binaries were not found at the manually specified path, StreamGear API will throw RuntimeError!

 

 

MacOS FFmpeg Installation

The StreamGear API supports Auto-Detection and Manual Configuration methods on a macOS machine.

A. Auto-Detection

This is a recommended approach on MacOS Machines

If StreamGear API not receives any input from the user on custom_ffmpeg parameter, then on macOS system, it tries to auto-detects the required FFmpeg installed binaries through validation test that employs subprocess python module.

Installation: You can easily install FFmpeg on your macOS machine by following this tutorial ➶

B. Manual Configuration

  • Download: You can also manually download the latest macOS Static Binaries(only x64 Binaries) from the link below:

    MacOS Static Binaries: http://johnvansickle.com/ffmpeg/

  • Assignment: Then, you can easily assign the custom path to the folder containing FFmpeg executables(for e.g 'ffmpeg/bin') or path of ffmpeg executable itself to the custom_ffmpeg parameter in the StreamGear API.

    If binaries were not found at the manually specified path, StreamGear API will throw RuntimeError!