Sign inSign up

rflpazini/ectopress

By rflpazini

Updated over 1 year ago

EctoPress is a lightweight, Dockerized tool inspired by Ghostbusters' ectoplasmic containment tech

Image
0

986

rflpazini/ectopress repository overview

EctoPress - Video Compressor

EctoPress is a lightweight, Dockerized tool inspired by Ghostbusters' ectoplasmic containment tech. It monitors a folder for large MP4 video files and compresses them into smaller, high-quality outputs with preserved metadata and aspect ratio.

Key Features

  • 📂 Folder Monitoring: Watches a source folder for new or modified MP4 video files.
  • 🔄 Automatic Compression: Compresses videos to a smaller size while retaining high quality.
  • Metadata Preservation: Keeps original creation dates and aspect ratios intact.
  • Customizable Settings: Allows you to define resolution, bitrate, and CPU usage.
  • 🐳 Easy Deployment: Simple setup with Docker or Docker Compose.

How to Run

Using Docker

Pull the Docker image and map your local directories for input and output videos:

docker run -d \
  -e TARGET_RESOLUTION=1920x1080 \
  -e TARGET_BITRATE=3M \
  -v ~/Videos/input:/usr/src/app/upload \
  -v ~/Videos/output:/usr/src/app/converted \
  rflpazini/ectopress:latest
  1. Place MP4 files in your ~/Videos/input folder.
  2. Compressed videos will appear in your ~/Videos/output folder.

Docker Compose (Optional)

Simplify the deployment using Docker Compose:

services:
  ectopress:
    image: rflpazini/ectopress:latest
    container_name: ectopress
    environment:
      - TARGET_RESOLUTION=1280x720
      - TARGET_BITRATE=2M
    volumes:
      - ~/Videos/input:/usr/src/app/upload
      - ~/Videos/output:/usr/src/app/converted
    restart: unless-stopped

Start the service:

docker-compose up -d

Environment Variables

VariableDefault ValueDescription
SOURCE_DIR/usr/src/app/uploadDirectory for input video files.
TARGET_DIR/usr/src/app/convertedDirectory for compressed videos.
TARGET_RESOLUTION1280x720Resolution for the compressed videos.
TARGET_BITRATE2MBitrate for the compressed videos.
MAX_CPU_CORESautoNumber of CPU cores to use for compression.

Example Logs

📂 Monitoring folder: /usr/src/app/upload
🎥 Compressing /usr/src/app/upload/video1.mp4
✅ File timestamps updated: /usr/src/app/converted/video1_compressed.mp4
✅ Compression successful! Output saved at: /usr/src/app/converted/video1_compressed.mp4

Why EctoPress?

Inspired by Ghostbusters' iconic ectoplasmic containment system, EctoPress is here to "trap and compress" your oversized videos, saving space without compromising on quality.


License

EctoPress is licensed under the MIT License. See the LICENSE file for details.


Contributions

We welcome contributions! If you have ideas to improve EctoPress, feel free to open an issue or submit a pull request.


Supported Formats

  • .mp4 (MPEG-4 Part 14)

Acknowledgments

Shoutout to Ghostbusters for inspiring the name and concept of this project! “Who you gonna call?” 🚀

Tag summary

Content type

Image

Digest

sha256:a265c9ab9

Size

328.2 MB

Last updated

over 1 year ago

docker pull rflpazini/ectopress