easycaptionkit 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,6 +1,7 @@
1
1
  MIT License
2
2
 
3
3
  Copyright (c) 2026 Emin Budak
4
+ Copyright (c) 2026 Wiro AI Inc.
4
5
 
5
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -45,7 +45,7 @@ easycaptionkit-demo/
45
45
  - A font that has the letters of your captions, on the machine or in `--fonts`. A letter no font has is drawn as a box, as Japanese is on a server with no Japanese font; `fonts-noto-cjk` gives Debian and Ubuntu one.
46
46
  - Linux, where it is tested: on Ubuntu 22.04 with its ffmpeg 4.4.2, on Ubuntu 24.04 with its ffmpeg 6.1 and on GitHub's ubuntu-latest runner, on every push and before every release. This release has also run on Ubuntu 26.04 with ffmpeg 8.0. It is written for macOS and Windows as well, but it has not been run on either.
47
47
  - Room on the disk for the files of a run and those of the run before it, as the earlier files stay until the new ones are in place. captioned.mp4 is a new encode of the whole video and can come out larger than the video given. Until a run ends, it also keeps the pictures Chrome drew of the captions, a PNG of each state and an animated PNG of them all, in its hidden folder in the out folder. In the karaoke style, at the default letter size and two lines, they take about 75 KB a word on a 1080x1920 video, 150 KB on a 1920x1080 one and 360 KB on a 3840x2160 one, some 1.5 GB for an hour of speech at 1920x1080. With the largest letters and the most lines the options allow, `--size 20` and `--lines 3`, they take about twice as much, and in the line and word styles and with `--box` less. Each Chrome that easycaptionkit starts keeps a profile of 3 to 7 MB in the temp folder.
48
- - Memory for ffmpeg's encode, more for a video of more pixels, more again for an HDR one, which stays in 10 bits, and on a machine with more cores. For a 1920x1080 or 1080x1920 video, ffmpeg took about 0.6 GB on 2 cores and 1.5 GB on 24, as much for ten minutes of video as for 30 seconds, and 1 GB and 2.4 GB for one in HDR. For a 3840x2160 video it took about 2 GB on 2 cores and 5 GB on 24, and 3.6 GB and 8.6 GB for one in HDR. The cores are the ones ffmpeg may run on, and a CPU quota does not lower their count: in a systemd scope held to 2 CPUs by CPUQuota=200% on a 24 core machine, where `nproc` said 2, the encode of a 1920x1080 video took as much as on all 24 cores, and 0.6 GB once `taskset` held it to 2 cores. A container held to 2 CPUs by `docker run --cpus=2` or by a Kubernetes CPU limit is held by such a quota, while `docker run --cpuset-cpus` holds it to cores, as taskset does. Chrome takes about 0.3 GB while it draws, before the encode and after it, and Node.js about 0.1 GB.
48
+ - Memory for ffmpeg's encode, more for a video of more pixels, more again for an HDR one, which stays in 10 bits, and on a machine with more cores. For a 1920x1080 or 1080x1920 video, ffmpeg took about 0.6 GB on 2 cores and 1.5 GB on 24, as much for ten minutes of video as for 30 seconds, and 1 GB and 2.4 GB for one in HDR. For a 3840x2160 video it took about 2 GB on 2 cores and 5 GB on 24, and 3.6 GB and 8.6 GB for one in HDR. The cores are the ones ffmpeg may run on, and a CPU quota does not lower their count: in a systemd scope held to 2 CPUs by CPUQuota=200% on a 24 core machine, where `nproc` said 2, the encode of a 1920x1080 video took as much as on all 24 cores, and 0.6 GB once `taskset` held it to 2 cores. A container held to 2 CPUs by `docker run --cpus=2` or by a Kubernetes CPU limit is held by such a quota, while `docker run --cpuset-cpus` holds it to cores, as taskset does. Ubuntu 22.04's ffmpeg 4.4.2 counts every core of the machine for its own decoding, whatever it is held to, and only x264 follows taskset and cpuset there. Chrome takes about 0.3 GB while it draws, before the encode and after it, and Node.js about 0.1 GB.
49
49
  - A run needs no network access and no API key: easycaptionkit reads files on your disk, the browser runs offline with the font files there, and nothing leaves your machine. Installing it needs the network, and `npx easycaptionkit@latest` asks npm for the newest version each time it runs. There are no npm dependencies, and `subtitles` without `--video` needs Node.js alone.
50
50
 
51
51
  ## Use it with your agent
@@ -53,20 +53,20 @@ easycaptionkit-demo/
53
53
  easycaptionkit ships as an [Agent Skill](https://agentskills.io). Install it once and your agent runs it by itself when a video needs captions:
54
54
 
55
55
  ```bash
56
- npx skills add EminBudak/easycaptionkit
56
+ npx skills add MakersMCP/easycaptionkit
57
57
  ```
58
58
 
59
59
  That covers Claude Code, Codex, Cursor and the other agents the [`skills`](https://github.com/vercel-labs/skills) CLI supports. In Claude Code you can add it as a plugin instead:
60
60
 
61
61
  ```
62
- /plugin marketplace add EminBudak/easycaptionkit
62
+ /plugin marketplace add MakersMCP/easycaptionkit
63
63
  /plugin install easycaptionkit@easycaptionkit
64
64
  ```
65
65
 
66
66
  In GitHub Copilot CLI it takes the same two steps:
67
67
 
68
68
  ```bash
69
- copilot plugin marketplace add EminBudak/easycaptionkit
69
+ copilot plugin marketplace add MakersMCP/easycaptionkit
70
70
  copilot plugin install easycaptionkit@easycaptionkit
71
71
  ```
72
72
 
@@ -174,11 +174,11 @@ With `--libass`, ffmpeg draws the captions itself from captions.ass with its ass
174
174
 
175
175
  ## See also
176
176
 
177
- - [easyfontkit](https://github.com/EminBudak/easyfontkit) saves the fonts a website really uses, with their licenses.
178
- - [easybrandkit](https://github.com/EminBudak/easybrandkit) saves a site's real logo files, colors and fonts as a brand kit.
179
- - [easyscreenshotkit](https://github.com/EminBudak/easyscreenshotkit) records a demo video of a site, with the steps.json captions can follow.
180
- - [launch-film](https://github.com/EminBudak/launch-film) turns a site into a short launch film, and its `check` measures any video.
181
- - [musicfit](https://github.com/EminBudak/musicfit) fits a music track to a video cut and ducks it under a voice.
177
+ - [easyfontkit](https://github.com/MakersMCP/easyfontkit) saves the fonts a website really uses, with their licenses.
178
+ - [easybrandkit](https://github.com/MakersMCP/easybrandkit) saves a site's real logo files, colors and fonts as a brand kit.
179
+ - [easyscreenshotkit](https://github.com/MakersMCP/easyscreenshotkit) records a demo video of a site, with the steps.json captions can follow.
180
+ - [launch-film](https://github.com/MakersMCP/launch-film) turns a site into a short launch film, and its `check` measures any video.
181
+ - [musicfit](https://github.com/MakersMCP/musicfit) fits a music track to a video cut and ducks it under a voice.
182
182
 
183
183
  ## License
184
184
 
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "easycaptionkit",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Burn captions into a video in the product's own fonts and colors, word by word or line by line, kept clear of each app's buttons, with the SRT, VTT and ASS files to go with it.",
5
5
  "license": "MIT",
6
6
  "author": "Emin Budak",
7
- "homepage": "https://github.com/EminBudak/easycaptionkit#readme",
7
+ "homepage": "https://github.com/MakersMCP/easycaptionkit#readme",
8
8
  "repository": {
9
9
  "type": "git",
10
- "url": "git+https://github.com/EminBudak/easycaptionkit.git"
10
+ "url": "git+https://github.com/MakersMCP/easycaptionkit.git"
11
11
  },
12
- "bugs": "https://github.com/EminBudak/easycaptionkit/issues",
12
+ "bugs": "https://github.com/MakersMCP/easycaptionkit/issues",
13
13
  "bin": {
14
14
  "easycaptionkit": "skills/easycaptionkit/scripts/easycaptionkit.js"
15
15
  },
@@ -2,4 +2,4 @@
2
2
 
3
3
  // Kept here, not read from package.json: a skill install copies this folder
4
4
  // alone.
5
- module.exports = "0.1.3";
5
+ module.exports = "0.1.4";