# How to Use the Video Converter

This document outlines the steps required to set up and run the Video Converter application.

## 1. Prerequisites

Before running the application, ensure you have the following installed on your **Arch Linux / CachyOS** system:

*   **`ffmpeg-full`:** A version of `ffmpeg` compiled with DNxHD/HR support.
    *   Install from AUR: `yay -S ffmpeg-full` (or your preferred AUR helper).
    *   **Note:** If you use OBS Studio, refer to the [README.md](README.md) for potential dependency workarounds.
*   **`yt-dlp`**: A command-line program to download videos from YouTube and other sites.
    *   Install from the official repositories: `sudo pacman -S yt-dlp`

## 2. Setup

1.  **Download the application:**
    You can either clone the repository and build the application yourself, or download the latest release from the project's Gitea page.
    For instructions on running the application, see [Running the Application](#3-running-the-application).

2.  **Building from source (optional):**
    If you have cloned the repository, you can build the executable by running the following commands:
    ```bash
    # Activate the virtual environment
    source venv/bin/activate

    # Build the executable
    pyinstaller --noconfirm video-converter.spec
    ```

## 3. Running the Application

Once you have the executable, you can run it from your terminal.

1.  **Navigate to the `dist` directory:**
    ```bash
    cd /path/to/your/project/video-converter/dist
    ```

2.  **Make the executable runnable (if necessary):**
    ```bash
    chmod +x video-converter
    ```

3.  **Run the executable:**
    ```bash
    ./video-converter
    ```

This will launch the graphical user interface (GUI).

## 4. Using the GUI

The GUI provides the following options:

*   **Select video file or enter URL:**
    *   **Browse:** Click this button to open a file dialog and select a local video file to convert.
    *   **URL:** Enter the URL of a video to download and convert.
*   **Quality:** Select the output video quality profile. The available options are `low`, `medium`, `high`, and `archive`.
*   **Cookies from Browser:** If you are downloading a video that requires you to be logged in (e.g., an age-restricted YouTube video), you can select the browser from which to extract the cookies.
*   **Output Directory:** Click the "Select Directory" button to choose the directory where the converted file will be saved.
*   **Convert:** Click this button to start the conversion process.
*   **Cancel:** This button will be enabled during the conversion process and can be used to request cancellation.
*   **Status Bar:** The status bar at the bottom of the window will show the current status of the application, including download and conversion progress.
*   **Progress Bar:** The progress bar will show the real-time progress of the conversion.

## 5. Logging and Error Reporting

During the conversion, `ffmpeg`'s output is logged to a file named `ffmpeg_output.log` in the same directory as the executable.

If an error occurs during the conversion, a message box will appear with the error message and the last 10 lines of the log file. This can help you diagnose the problem.