Installation ============ Python and FFmpeg Support ------------------------- CutCutCodec supports these versions. .. csv-table:: Python versions :file: supported-python-versions.csv :header-rows: 1 .. csv-table:: FFmpeg versions :file: supported-ffmpeg-versions.csv :header-rows: 1 .. _Debian Ubuntu Mint System: .. _RHEL CentOS Fedora System: .. _Arch Manjaro System: .. _OpenSUSE System: .. _Linux Installation: .. _FreeBSD Installation: .. _macOS Installation: .. _Windows Installation: Dependencies ------------ CutCutCodec has hard dependency on the FFmpeg package. You should install it first, please refer to the `FFmpeg download page `_. .. tab:: Linux .. tab:: Debian Ubuntu Mint .. code:: sudo apt update sudo apt install ffmpeg sudo apt install python-dev pkg-config sudo apt install libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev libavfilter-dev .. tab:: RHEL CentOS Fedora .. code:: sudo yum install ffmpeg .. tab:: Arch Manjaro .. code:: sudo pacman -S ffmpeg .. tab:: OpenSUSE .. code:: sudo zypper install ffmpeg .. tab:: FreeBSD .. code:: sudo pkg install ffmpeg .. tab:: macOS You could install the FFmpeg by using `Homebrew `_. .. code:: brew update brew upgrade brew install ffmpeg pkg-config .. tab:: Windows .. 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 ffmpeg to CutCutCodec. You can follow `this guide `_ for example. Although it is installed automatically, it is better to install **av** manually to avoid redundancy with ffmpeg. Please refer to the `PyAv installation guide `_. .. tab:: Linux .. code:: pip install av --no-binary av .. tab:: FreeBSD .. code:: pip install av --no-binary av .. tab:: macOS On **MacOS** you may have issues with regards to Python expecting gcc but finding clang. Try to export the following before installation: .. code:: export ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install av --no-binary av .. tab:: Windows .. 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! 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). Virtual Environement -------------------- It is preferable to install cutcutcodec in a virtual environment. Please refer to the `pyenv installation guide `_. It is possible to use ``python3-venv`` as well. Installation with pip --------------------- Basic Installation ^^^^^^^^^^^^^^^^^^ .. note:: The following instructions will install CutCutCodec with simple support for graphical interface. See :ref:`building-from-source` for a complete installation including the documentation and the tests. To install cutcutcodec using `PyPI `_, use ``pip``: .. code:: pip install --user cutcutcodec[gui] .. _building-from-source: Building From Source ^^^^^^^^^^^^^^^^^^^^ To install the lastest development version from `Framagit `_ source, clone cutcutcodec using ``git`` and install it using ``pip``: .. code:: git clone https://framagit.org/robinechuca/cutcutcodec.git cd cutcutcodec/ python -m pip install --upgrade pip setuptools wheel python -m pip -v install --editable .[all] $SHELL # load all the new env-vars, equivalent to restart the shell python -m cutcutcodec test # to test if the installation is ok You can also compile documentation locally (after the previous step). .. code:: cd doc/ && make clean && make html && cd - firefox doc/build/html/index.html Verification ------------ To check that everything is in order, you can run the test bench. For running tests, some dependencies are requiered, you can install it passing the option ``[all]`` to ``pip``. .. code:: python -m cutcutcodec test # or cutcutcodec-test To run a partial test, please refer to the integrated CLI: .. code:: python -m cutcutcodec test --help Platform Support ---------------- The tests were successful for teses 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 | +----------------------------------+------------------------+------------------------+-------------------------+