Sign inSign up

rflpazini/ectopress

By rflpazini

•Updated almost 2 years ago

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

Image
0

990

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

almost 2 years ago

docker pull rflpazini/ectopress