Skip to content

Latest commit

 

History

History
80 lines (53 loc) · 6.84 KB

File metadata and controls

80 lines (53 loc) · 6.84 KB

Сжатие видео для Discord

Обзор

Сжатие видео для Discord — это приложение для Windows, разработанное для сжатия видеофайлов до размера, соответствующего ограничениям по размеру файлов в Discord. Этот инструмент использует ffmpeg для сжатия видео, предлагая предустановленные размеры и возможность указать собственные размеры.

Особенности

  • Поддержка перетаскивания: Просто перетащите свои видеофайлы в приложение, чтобы начать процесс сжатия.
  • Поддержка языков: Приложение поддерживает английский (EN) и русский (RU) языки, которые можно выбрать через выпадающее меню.
  • Темная тема: Автоматически подстраивает тему приложения под настройки темной темы системы.
  • Интеграция с ffmpeg: Приложение поставляет ffmpeg.exe как встроенный ресурс, поэтому пользователю не нужно отдельно устанавливать зависимость или искать внешний бинарник.
  • Предустановленные и пользовательские настройки сжатия: Пользователи могут использовать встроенный пресет Discord на 9 МБ или указать собственный целевой размер.
  • Отслеживание прогресса: Отображает прогресс процесса сжатия с помощью индикатора выполнения.
  • Принудительная остановка: Пользователи могут принудительно остановить процесс сжатия при необходимости.

Установка

  1. Клонируйте репозиторий:

    sh
    git clone https://github.com/yourusername/DiscordVideoCompressor.git
    
  2. Соберите проект:

    • Откройте файл решения (DiscordVideoCompressor.sln) в Visual Studio 2022 или соберите проект через .NET 8 SDK.
    • Соберите проект.
  3. Запустите приложение:

    • После сборки запустите DiscordVideoCompressor.exe из выходного каталога.

Установщик Windows

  • В репозитории добавлен Inno Setup-скрипт: installer/DiscordVideoCompressor.iss.
  • Сборка установщика выполняется через installer/Build-Installer.ps1: сначала делается publish single-file Win64, затем собирается setup.exe.
  • Установщик кладет приложение в Program Files, регистрирует деинсталлятор и создает ярлык в меню Пуск.
  • ffmpeg.exe по-прежнему остается встроенным ресурсом внутри приложения. Отдельно ставить ffmpeg пользователю не требуется.

Использование

  1. Выберите или перетащите видеофайл:

    • Вы можете перетащить видеофайл в окно приложения или использовать кнопку «Выбрать медиафайл», чтобы выбрать файл.
    • Поддерживаемые форматы: .mp4, .avi, .mkv, .webm.
  2. Выберите размер сжатия:

    • Используйте предустановку Discord на 9 МБ или укажите собственный размер в МБ.
  3. Начните сжатие:

    • Нажмите кнопку «Преобразовать», чтобы начать процесс сжатия.
    • Прогресс сжатия будет отображаться в индикаторе выполнения.
  4. Принудительная остановка (при необходимости):

    • Вы можете остановить сжатие в любое время, нажав кнопку «Принудительная остановка».
  5. Выбор языка:

    • Измените язык приложения между английским и русским с помощью выпадающего меню в правом верхнем углу.

Зависимости

  • ffmpeg: Приложение намеренно хранит ffmpeg.exe как встроенный ресурс и автоматически извлекает его во временную папку во время работы. Внешняя установка не требуется, а собранный релиз уже содержит все необходимое для конечного пользователя.
  • NetSparkle: Для будущих релизов подготовлена интеграция автообновлений через NetSparkle с доставкой установщика.

Вклад в проект

Если вы хотите внести вклад в проект, не стесняйтесь форкнуть репозиторий и отправить pull request.

Лицензия

Этот проект лицензирован по лицензии MIT. Подробнее см. в файле LICENSE.

Устранение неполадок

  • Ошибка "ffmpeg не найден": Убедитесь, что ffmpeg.exe доступен во временном каталоге. Приложение должно автоматически выполнять извлечение и удаление, но если ошибки продолжаются, проверьте разрешения на файлы.
  • Видео файл не поддерживается: Убедитесь, что ваш видеофайл находится в одном из поддерживаемых форматов (.mp4, .avi, .mkv, .webm).
  • Неудача сжатия: Если процесс сжатия многократно не удается, попробуйте снизить целевой размер.

Контакты

Для любых вопросов или предложений, пожалуйста, откройте issue на GitHub или свяжитесь со мной в Discord: [KickerMix].