Skip to main content

CLI for speeding up long-form talks by removing silence

Project description

Talks Reducer Coverage Status

Talks Reducer shortens long-form videos by removing silent gaps and optionally re-encoding them to much smaller files.

Main demo

Example

  • 1h 37m, 571 MB — Original OBS video recording
  • 1h 19m, 751 MB — Talks Reducer
  • 1h 19m, 171 MB — Talks Reducer --small

Features

  • Speeds up the silence — no montage editing.
  • Shrinks the file — typically 8–10× smaller, web-friendly.
  • Fast — in-memory audio/video processing, auto GPU encoding.
  • Extract audio — export an audio-only .mp3 instead of video.
  • Simple mode — one drop zone, minimum settings.
  • Named presets — save a settings bundle once, apply it on every surface.
  • Remote mode — offload to your fastest machine.
  • Watch mode — convert the latest video from a recordings folder.
  • OBS integration — convert buttons inside an OBS dock.
  • LNK presets — drag a video onto a preset shortcut to convert.
  • Mobile app / WebUI — use a remote server from your phone.
  • CLI mode — batch files and directories from the terminal.

Install

Windows

Download the installer from the releases page

macOS

brew tap popstas/talks-reducer
brew trust --cask popstas/talks-reducer/talks-reducer
brew install --cask talks-reducer

Homebrew 6.0.0+ requires brew trust --cask to approve a cask from a third-party tap before it can be installed. Without it, the install fails with a "Refusing to load cask from untrusted tap" error.

pip / pipx / uv (Linux, Windows, macOS)

pip install talks-reducer      # install the CLI and GUI
pipx install talks-reducer     # or into an isolated environment
uv tool install talks-reducer  # or with uv

OBS Processing Dock (Windows)

For OBS Studio recordings, a Custom Browser Dock starts Talks Reducer right after you stop a take — pick resolution, silent speed, and codec, then click a button.

OBS Processing Dock

Set it up in OBS:

  1. Start the dock server and keep it running while you record — or let the Windows installer add it to autostart:

    talks-reducer dock-server
    
  2. In OBS, enable Tools → WebSocket Server Settings → Enable WebSocket server and note the password.

  3. In OBS, open Docks → Custom Browser Docks… and add a dock with URL http://127.0.0.1:17890/.

  4. In the dock's Settings, enter the OBS WebSocket password and press Enter. When the status turns green, stop a recording and the speed buttons light up.

Full setup, options, and troubleshooting: docs/obs-dock.md.

Command line

talks-reducer input.mp4                                    # tuned encode at the source resolution
talks-reducer --small input.mp4                            # same, scaled down to 720p
talks-reducer --480 input.mp4                              # scale down to 480p instead
talks-reducer --video-codec mp3 talk.mp4                   # export audio only, as .mp3
talks-reducer --cut-start 00:00:10 --cut-end 00:01:00 demo.mp4  # keep only 10s–60s
talks-reducer --url http://localhost:9005 demo.mp4         # process on a remote server
talks-reducer --preset "480p 10x speedup H.265" demo.mp4   # apply a saved preset
talks-reducer --list-presets                               # print the saved preset names

Every input can also be a directory, and you can pass as many as you like in one run.

Presets are saved bundles of processing settings (resolution, speeds, threshold, codec) you author once in the desktop GUI's Advanced mode and reuse everywhere — Simple mode, the Web UI, the OBS dock, and the CLI (--preset). When saving you pick which settings the preset controls, so a preset can be partial (e.g. codec-only) and applying it leaves your other settings alone. They live in the shared settings.json, so one list appears on every surface, and each surface opens on the preset you used last. See docs/cli.md.

→ Full flag reference — codecs, keyframes, silence thresholds, trimming, remote options: docs/cli.md.

Remote server

Run Talks Reducer on the machine with the fast GPU and send jobs to it from anywhere on your network — laptops, phones, or other desktops.

talks-reducer server        # browser interface in the terminal
talks-reducer server-tray   # same server, tucked into the system tray

Open the printed http://localhost:9005 address, drop a video on the page, and download the result when it finishes. Use --host and --port to bind somewhere else:

talks-reducer server --host 0.0.0.0 --port 7860

Prefer not to touch the terminal? The desktop GUI's Advanced panel has a Run as server in tray checkbox that starts the same tray-managed server (and keeps the setting for next launch).

To send work from another machine, point the CLI or the desktop GUI at the server with --url http://<server>:9005 (or --host <server>).

→ Server and tray options, the operator view, and scripted uploads: docs/server.md.

Install as an app (PWA)

The web interface is an installable Progressive Web App. Open it in a Chromium-based browser and choose Install app to get a standalone Talks Reducer window with its own icon.

Browsers only offer installation over https:// or http://localhost, so put a TLS proxy in front of a LAN server if the install prompt does not appear.

This also works from a phone: install the page served by a Talks Reducer server on your network, then upload recordings to it like any other app.

Changelog

See CHANGELOG.md.

Contributing

See CONTRIBUTION.md for development setup details and guidance on sharing improvements.

License

It grew out of gegell/jumpcutter and was renamed from jumpcutter to emphasize its focus on conference talks and screencasts.

Talks Reducer is released under the MIT License. See LICENSE for the full text.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

talks_reducer-1.0.2.tar.gz (978.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

talks_reducer-1.0.2-py3-none-any.whl (883.0 kB view details)

Uploaded Python 3

File details

Details for the file talks_reducer-1.0.2.tar.gz.

File metadata

  • Download URL: talks_reducer-1.0.2.tar.gz
  • Upload date:
  • Size: 978.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for talks_reducer-1.0.2.tar.gz
Algorithm Hash digest
SHA256 964a6c0997647753514cb42640660155cd37f8f21e1cc264182377288376da6d
MD5 e831bb53b8805363e0305b2384499500
BLAKE2b-256 81769d1cdb2af7d61e7195520feedbcbe78576a5170eb1d38fcc74a8b037416b

See more details on using hashes here.

File details

Details for the file talks_reducer-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: talks_reducer-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 883.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for talks_reducer-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 64a7c57220d1986ac464cce08971caa9841f0efe4b0520bf6b290d32c746877a
MD5 c3e023a3da924d2a46108daaa153ff29
BLAKE2b-256 9a0c1ab5df4ab11772fc0fb4299bebb3c3c2f714323c42536ba42ef86648da9c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page