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 +1 -0
- package/README.md +9 -9
- package/package.json +4 -4
- package/skills/easycaptionkit/scripts/lib/version.js +1 -1
package/LICENSE
CHANGED
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
|
|
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
|
|
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
|
|
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/
|
|
178
|
-
- [easybrandkit](https://github.com/
|
|
179
|
-
- [easyscreenshotkit](https://github.com/
|
|
180
|
-
- [launch-film](https://github.com/
|
|
181
|
-
- [musicfit](https://github.com/
|
|
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
|
+
"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/
|
|
7
|
+
"homepage": "https://github.com/MakersMCP/easycaptionkit#readme",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/
|
|
10
|
+
"url": "git+https://github.com/MakersMCP/easycaptionkit.git"
|
|
11
11
|
},
|
|
12
|
-
"bugs": "https://github.com/
|
|
12
|
+
"bugs": "https://github.com/MakersMCP/easycaptionkit/issues",
|
|
13
13
|
"bin": {
|
|
14
14
|
"easycaptionkit": "skills/easycaptionkit/scripts/easycaptionkit.js"
|
|
15
15
|
},
|