vladaad / discordcompressor

A small program in Go that efficiently compresses videos using ffmpeg.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DiscordCompressor

A small program in Go that efficiently compresses videos using ffmpeg.

Dependencies

FFmpeg including FFprobe

Optional (needed for some settings options)

qaac fdkaac

Usage

discordcompressor <arguments> <input video(s)>

  • -o filename - Sets the output filename, extension is automatically added
  • -focus string - Sets the focus - for example, "framerate" or "resolution" (configured in settings.json)
  • -mixaudio - Mixes all audio tracks into one
  • -normalize - Normalizes audio volume
  • -noscale - Disables FPS limiting and scaling (not recommended)
  • -reenc string - Force re-encodes audio or video ("a", "v", "av")
  • -settings string - Selects the settings file - for example, settings-test.json.
  • -forcescore 60 - Forces a specific benchmark score when generating settings. Higher = slower, but higher-quality settings.
  • -size 8 - Sets the target size in MB
  • -subfind string - Finds a certain string in subtitles and cuts according to it
  • -last 10 - Compresses the last x seconds of a video
  • -ss 15 - Sets the starting time like in ffmpeg
  • -t 10 - Sets the time to encode after the start of the file or -ss

Settings and logs are located in %appdata%\vladaad\dc on Windows and /home/username/.config/vladaad/dc on other platforms.

Compiling from source

You need Go 1.16 or newer

Afterwards run go build or build.sh. build.sh builds execs for both 64bit and 32bit and both Windows and Linux.

👥 Contributors

About

A small program in Go that efficiently compresses videos using ffmpeg.

License:GNU Affero General Public License v3.0


Languages

Language:Go 98.4%Language:Batchfile 1.6%