Transcode Video to Lossless Snow Codec with FFmpeg

This article provides a straightforward, step-by-step guide on how to transcode video files into the experimental Snow video codec using FFmpeg. You will learn the exact command-line arguments required to enable lossless compression, configure the experimental codec, and choose the right file container for your output.

Prerequisites

To use the Snow codec, you must have FFmpeg installed on your system. Because Snow is an experimental codec developed by the FFmpeg team, you will need to pass a specific flag in your command to allow its use.

For the best compatibility and container support, it is highly recommended to output your transcoded video into a Matroska (.mkv) or NUT (.nut) container.

The Lossless Snow Command

To transcode a video to the lossless Snow codec, open your terminal or command prompt and run the following command:

ffmpeg -i input.mp4 -c:v snow -q:v 0 -strict experimental output.mkv

Command Breakdown

Handling Audio

By default, the command above will re-encode the audio using FFmpeg’s default audio encoder for the MKV container. To ensure your entire file is preserved without any quality loss, you should handle the audio in one of two ways:

1. Copy the Audio Stream (No Re-encoding)

If your source video already has high-quality or lossless audio, you can copy the audio stream directly without re-encoding it:

ffmpeg -i input.mp4 -c:v snow -q:v 0 -strict experimental -c:a copy output.mkv

2. Transcode Audio to Lossless FLAC

If you want to compress the audio into a widely supported lossless format during the transcode, use the FLAC audio codec:

ffmpeg -i input.mp4 -c:v snow -q:v 0 -strict experimental -c:a flac output.mkv