Skip to content

Repository files navigation

EventCut v1.1 — Assemble & Trim

License: MIT Platform: Windows Python 3.x

Free & Open Source — by RZSmile
Powered by ffmpeg • Python • tkinter


Overview

EventCut is a Windows tool that automatically assembles and trims video files by removing silence at the beginning and end of recordings. Built for event organizers, videographers, and editors who work with raw footage that has dead air at the head and tail.

The app detects the first and last significant sound across your files, trims cleanly, and merges everything into a single MP4 — without re-encoding (direct stream copy via ffmpeg).


Features

  • Drag & drop video files directly into the file list
  • Auto-sort by filename on import
  • Manual reordering with ▲ ▼ buttons
  • Smart audio detection of first and last sound via pydub
  • Precise trimming of start and end with configurable safety margin
  • Multi-file assembly into a single MP4 (stream copy, no re-encoding)
  • Waveform preview with cut point visualization
  • Live processing log with progress bar
  • Auto-generated text report saved alongside the output file
  • Auto-opens Explorer on the created file when done
  • Clean stop of an in-progress job
  • Bilingual UI — English / French (chosen at install time)

Detection Parameters

All adjustable from the interface:

Parameter Default Description
Silence threshold -35 dBFS Below this level, audio is considered silent
Minimum silence duration 5 s Minimum duration for a silence to be detected
Safety margin 5 s Padding kept before/after the first/last sound

Supported Video Formats

.mp4 .m4v .mov .mkv .mts .m2ts .avi .wmv .flv .ts


How It Works

Processing runs in up to 3 steps for multi-file jobs:

  1. Analyse first file — extract mono 16 kHz audio, detect first non-silent segment → start cut point
  2. Analyse last file — same process → end cut point
  3. ffmpeg export:
    • 1 file: direct -ss / -to stream copy
    • N files: trim first file, trim last file, concatenate all parts (including untouched middle files) via the concat demuxer

A _report.txt file is saved next to the output with raw duration, final duration, cut points, and the parameters used.


Installation (end users)

Download and run Setup_EventCut.exe.

  • Choose your language at startup (English / Français)
  • ffmpeg is bundled — no additional installation required
  • Optional desktop shortcut
  • Clean uninstall via Windows Settings → Apps
  • Installs to %LOCALAPPDATA%\EventCut — no admin rights required

Project Structure

EventCut/
├── nettoyer_video.py      # Main application (UI + processing engine)
├── generate_icon.py       # Generates eventcut.ico (4x supersampling, stdlib only)
├── make_nsi.py            # Generates the NSIS installer script (installer.nsi)
├── build_installer.bat    # Full build script (6 steps)
└── README.md

Building the Installer

build_installer.bat automates the following steps:

Step Action
1 Install Python dependencies (pydub, numpy, audioop-lts, pyinstaller, tkinterdnd2)
2 Generate eventcut.ico via generate_icon.py
3 Compile the app to a Windows executable via PyInstaller (--onedir mode)
4 Download and extract ffmpeg (~70 MB, BtbN win64-gpl build)
5 Check NSIS plugins
6 Generate the NSIS script via make_nsi.py and compile Setup_EventCut.exe

Build requirements: Python 3.x and NSIS (auto-installed via winget if not found).


Python Dependencies

pydub
numpy
audioop-lts
pyinstaller
tkinterdnd2

ffmpeg is bundled inside the installer and is not a Python dependency.


Language System

The UI language is chosen once at install time and written to eventcut_lang.txt next to the executable. The app reads this file on startup and loads the matching translation.

Available languages: English · Français


Icon

eventcut.ico is generated entirely in pure Python (stdlib only — no Pillow or external dependency) by generate_icon.py. It uses 4x supersampling for sharp rendering and embeds 4 resolutions: 256×256 (PNG), 48×48, 32×32, 16×16.

The logo depicts stylized audio bars with a cut tool, on a dark navy background.


Contributing

Contributions, issues and feature requests are welcome!
Feel free to open an issue or submit a pull request.

Ideas that would make EventCut even better:

  • Additional output formats (e.g. MKV, ProRes)
  • Custom silence detection profiles per format
  • Batch output (one trimmed file per input)
  • macOS / Linux port

License

This project is licensed under the MIT License — see the LICENSE file for details.
Developed by RZSmile.

About

EventCut is a Windows tool that automatically assembles and trims video files by removing silence at the beginning and end of recordings

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages