Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Video By Video

An Electron desktop app for previewing, renaming, and batch-transcoding video files (built primarily for tidying up movie rips). Load one or many videos, sanity-check them with screenshots, get an AI-suggested filename, then queue up HEVC/H.264 encodes with sensible per-resolution profiles. This comes in handy for working your way through a TV Series or a large number of movies that require both filename cleanup and encoding.

Encoding profiles are Apple hardware centric (VideoToolbox for HEVC).

Features

Preview & inspection

  • Open one or many videos via a file picker, or drag and drop files onto the window
  • Extract 8 evenly spaced screenshots from each video, with an adjustable start offset and a "More Screenshots" button to pull additional frames
  • Video info line showing runtime, dimensions, detected color space (SDR / HDR10 / HLG), and the suggested crop (video bounds)
  • Play in VLC to open the current file for a closer look
  • Prev / Next navigation to move through a batch of loaded files

Renaming

  • Rename the current file directly from the UI (extension is preserved)
  • Optional filename base applied across a batch
  • AI filename suggestions — for videos longer than 80 minutes, the app asks Claude to guess the movie title and year from the filename (optional if you bring your own API key, see Claude API key below)

Encoding

  • Batch encoding queue with a live progress bar, percentage, and a Stop Encoding button; queued and in-progress items are shown in a separate queue window
  • Encoded output is written to a Completed/ subfolder as .mkv, alongside an ffmpeg.log
  • Automatic profile selection by source resolution — when a loaded file's height differs from the previous one, the profile switches automatically:
    • 2160p → 4K Mac M1 HEVC High Quality
    • 1080p / 720p → HD Mac M1 HEVC 10-bit High Quality
    • 480p → SD
  • Encoding profiles for different targets and hardware:
    • HD Mac M1 HEVC High Quality / Medium Quality (VideoToolbox HEVC)
    • HD Mac M1 HEVC 10-bit High Quality (10-bit, auto SDR/HDR color)
    • 4K Mac M1 HEVC High Quality (VideoToolbox HEVC, auto SDR/HDR color)
    • 4K Software HEVC High Quality (libx265)
    • HD Software HEVC High Quality (libx264)
    • SD and SD Animation (libx264, animation tuning + deinterlacing)
  • Automatic color-space handling — the source's color metadata is inspected and HDR sources (HDR10 / HLG) keep their HDR tags while SDR sources are tagged BT.709, avoiding the red tint that comes from mislabeling SDR as HDR
  • Automatic crop detection via cropdetect, toggled with the Crop Video checkbox
  • Subtitle passthrough — bitmap subtitle tracks (PGS / DVD) are copied from the source into the output
  • Audio handling — all audio tracks are copied; the default track is also re-encoded to AAC when it isn't already AAC/AC-3. An English Audio Only option limits audio to English tracks
  • Adjustable CRF / quality override per encode, with per-profile defaults

Prereqs

Usage

  1. Install dependencies: npm install
  2. Run the app: npm start
  3. Click "Open Video Files" (or drag files onto the window) and select one or many videos
  4. Review the screenshots, rename the file, choose/confirm an encoding profile, and click "Queue Encode" or "Start Encode"

Claude API key (for naming suggestions)

AI filename suggestions are powered by Claude and require an Anthropic API key. This feature is optional — the rest of the app works without it.

  1. Create an API key in the Anthropic Console.

  2. Create a file named .env in the project root (the same folder as package.json).

  3. Add your key on a single line:

    API_KEY=sk-ant-your-key-here
    
  4. Restart the app. When you load a video longer than 80 minutes, a suggested Movie Title (Year) name will appear next to the rename field; click "Use Suggested" to apply it.

The key is read locally from .env at startup and used only to call the Anthropic API. Keep .env out of version control.

Development

  • Electron
  • ffmpeg-static & fluent-ffmpeg for screenshots, probing, and encoding
  • @anthropic-ai/sdk for AI filename suggestions

About

Quickly flip through some video files for easy renaming

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages