Full Installation
Python and FFmpeg Support
CutCutCodec supports these versions.
Python |
3.15 |
3.14 |
3.13 |
3.12 |
3.11 |
3.10 |
3.9 |
|---|---|---|---|---|---|---|---|
CutCutCodec 1.4.6 |
Yes |
Yes |
|||||
CutCutCodec 1.4.0 - 1.4.5 |
Yes |
Yes |
Yes |
Yes |
|||
CutCutCodec 1.0.5 - 1.3.1 |
Yes |
Yes |
Yes |
||||
CutCutCodec 1.0.4 |
Yes |
Yes |
Yes |
Yes |
|||
CutCutCodec 1.0.1 - 1.0.3 |
Yes |
Yes |
Yes |
||||
CutCutCodec 1.0.0rc |
Yes |
Yes |
FFmpeg |
8 |
7 |
6 |
5 |
4 |
|---|---|---|---|---|---|
CutCutCodec 1.4.6 |
Yes |
Yes |
Yes |
||
CutCutCodec 1.4.0 - 1.4.5 |
Yes |
Yes |
Yes |
||
CutCutCodec 1.3.0 - 1.3.1 |
Yes |
Yes |
Yes |
||
CutCutCodec 1.1.0 - 1.2.5 |
Yes |
Yes |
Yes |
Yes |
|
CutCutCodec 1.0.2 - 1.0.5 |
Yes |
Yes |
Yes |
||
CutCutCodec 1.0.1 |
Yes |
Yes |
|||
CutCutCodec 1.0.0rc |
Yes |
Virtual Environement
It is preferable to install CutCutCodec in a virtual environment. Please refer to the pyenv main page. It is possible to use python3-venv or conda as well.
Install pyenv
First install the python dependencies then install pyenv.
sudo apt install libedit-dev libncurses5-dev
sudo apt install build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl git libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
sudo dnf install openssl11-devel --allowerasing
sudo dnf install gcc make patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel
yay -S ncurses5-compat-libs
curl https://pyenv.run | bash
CONTENT=$'export PYENV_ROOT="$HOME/.pyenv"\ncommand -v pyenv > /dev/null || export PATH="$PYENV_ROOT/bin:$PATH"\neval "$(pyenv init -)"\neval "$(pyenv virtualenv-init -)"'
grep -q "$CONTENT" ~/.bashrc || echo "$CONTENT" >> ~/.bashrc
source ~/.bashrc
You could install dependencies by using Homebrew.
brew install ncurses
brew install openssl readline sqlite3 xz zlib tcl-tk
brew install pyenv
Warning
Windows is crap, so be prepared for a tedious and buggy installation! You should forget Microchiotte-Windaube and go straight to Linux before you pull out all your hair!
Good luck with the official guide.
If it fails, this debug link may help you.
Configure pyenv
Create the virtual environement.
pyenv update
env PYTHON_CONFIGURE_OPTS="--enable-shared --enable-optimizations --with-lto" PYTHON_CFLAGS='-march=native -mtune=native' \
pyenv install -v 3.14
pyenv virtualenv 3.14 cutcutcodec
pyenv activate cutcutcodec
pip install uv
Dependencies
gcc
As part of CutCutCodec is written in C, gcc must be installed. You can test the correct installation of gcc with the gcc --version command.
It is installed by default on many linux systems.
sudo apt install build-essential
sudo apt-get install manpages-dev
sudo dnf group install "Development Tools"
sudo dnf install man-pages
sudo pacman -S base-devel
sudo pacman -S gcc-multilib lib32-gcc-libs
wget https://ftp.gnu.org/gnu/gcc/gcc-15.2.0/gcc-15.2.0.tar.gz
tar -xzvf gcc-15.2.0.tar.gz
cd gcc-15.2.0
mkdir build
cd build
\../configure
make -j4
sudo make install
sudo zypper addrepo http://download.opensuse.org/distribution/leap/15.6/repo/oss/ oss
zypper search gcc
sudo zypper install gcc
sudo zypper install gcc-c++
It is install by default on FreeBSD.
You could install gcc by using Homebrew.
brew install gcc
Warning
I see that you insist on using Windows, this step is the most critical, good luck! Without gcc, the installation will fail!
It is not too late to listen the voice of reason! You can install ubuntu for example.
ffmpeg
CutCutCodec has hard dependency on the FFmpeg package. You should install it first, please refer to the FFmpeg download page.
sudo apt install ffmpeg
sudo apt install python-dev-is-python3 pkg-config
sudo apt install libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev libavfilter-dev
sudo dnf install ffmpeg
sudo pacman -S ffmpeg
sudo zypper install ffmpeg
sudo pkg install ffmpeg
You could install the FFmpeg by using Homebrew.
brew install ffmpeg pkg-config
Warning
I refuse to believe that you have gone through the previous steps. As you are stubborn and stupid, I must remind you that the game is not yet won! It is still not too late to listen to the voice of wisdom, which is telling you to get rid of this massive piece of Windows shit for ever.
It is important to configure your environement variable to hook ffmpeg to CutCutCodec. You can try to follow this guide for example.
pyav (optional)
Although it is installed automatically, it is better to install av manually to avoid redundancy with ffmpeg. Please refer to the PyAv installation guide.
uv pip -v install av --no-binary av
uv pip -v install av --no-binary av
On MacOS you may have issues with regards to Python expecting gcc but finding clang. Try to export the following before installation:
export ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future
uv pip -v install av --no-binary av
Warning
I see that you insist on using Windows, this step is the most critical, good luck!
On Windows you must build from source in order to indicate the location of ffmpeg, pleas follow the PyAv windows installation guide and good luck!
cuda (optional)
If you have a GPU, please install CUDA or ROC then follow the PyTorch installation guide. Without CUDA or ROC, the software is not able to use the GPU (CPU only).
Follow the official NVIDIA CUDA Installation Guide for Linux.
It is not well supproted, you can try to follow this bsd link.
Follow the NVIDIA CUDA Installation Guide for Mac OS X.
Warning
Windows is crap, so be prepared for a tedious and buggy installation! You should forget Microchiotte-Windaube and go straight to Linux before you pull out all your hair!
It is important to configure your environement variable to hook cuda to PyTorch. Good luck with the official guide.
vamf (optional)
If you want to have acces to the Netflix VMAF quality metric, please install it!
sudo apt install meson nasm
git clone https://github.com/Netflix/vmaf/ ~/vmaf_git
cd ~/vmaf_git
meson setup libvmaf libvmaf/build --buildtype release -Denable_float=true
sudo ninja -vC libvmaf/build install
cd -
rm -rf ~/vmaf_git
pandoc (optional)
Pandoc is required to compile documentation locally.
sudo apt install pandoc
brew install pandoc
Installation
Basic Installation
Note
The following instructions will install a minimal version of CutCutCodec. See Building From Source (For devellopers) for a complete installation including the documentation and the tests.
To install the lastest development version, use uv pip:
uv pip install git+https://framagit.org/robinechuca/cutcutcodec.git
Building From Source (For devellopers)
To install the lastest development version from Framagit source, clone cutcutcodec using git and install it using uv pip:
git clone https://framagit.org/robinechuca/cutcutcodec.git ~/cutcutcodec_git
cd ~/cutcutcodec_git
pyenv activate cutcutcodec # to be sure to be in a virtual env
uv pip install -e .[doc,test]
cutcutcodec test # to test if the installation is ok
You can now also compile documentation locally Build Documentation and run the benchmark Testing (after the previous step).
Build Documentation
You can compile the documentation yourself after Full Installation by simply typing cutcutcodec doc or:
cd docs/ && make clean && make html && cd -
firefox docs/build/html/index.html
Platform Support
The tests were successful for theses configurations.
Note
Contributors please test CutCutCodec on your platform then update this document and send a pull request.
Operating system |
Tested Python versions |
Tested FFmpeg versions |
Tested architecture |
|---|---|---|---|
Linux Mint 21.3 |
3.9, 3.10, 3.11 |
4.4.2 |
x86-64 2 cpu t6600 |
Ubuntu 24.10 |
3.13 |
7.0.2 |
x86-64 22 cpu core i7 |