instagui 0.1.0
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 +21 -0
- package/README.md +144 -0
- package/dist/cli/index.js +187 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/bundled.js +29 -0
- package/dist/core/bundled.js.map +1 -0
- package/dist/core/cache.js +41 -0
- package/dist/core/cache.js.map +1 -0
- package/dist/core/capture.js +161 -0
- package/dist/core/capture.js.map +1 -0
- package/dist/core/compose.js +66 -0
- package/dist/core/compose.js.map +1 -0
- package/dist/core/errors.js +40 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/extract.js +78 -0
- package/dist/core/extract.js.map +1 -0
- package/dist/core/golden.js +44 -0
- package/dist/core/golden.js.map +1 -0
- package/dist/core/onboarding.js +19 -0
- package/dist/core/onboarding.js.map +1 -0
- package/dist/core/override.js +26 -0
- package/dist/core/override.js.map +1 -0
- package/dist/core/resolve.js +22 -0
- package/dist/core/resolve.js.map +1 -0
- package/dist/core/schema-file.js +34 -0
- package/dist/core/schema-file.js.map +1 -0
- package/dist/core/schema.js +58 -0
- package/dist/core/schema.js.map +1 -0
- package/dist/server/browser.js +38 -0
- package/dist/server/browser.js.map +1 -0
- package/dist/server/client.js +146 -0
- package/dist/server/client.js.map +1 -0
- package/dist/server/page.js +172 -0
- package/dist/server/page.js.map +1 -0
- package/dist/server/run.js +71 -0
- package/dist/server/run.js.map +1 -0
- package/dist/server/server.js +205 -0
- package/dist/server/server.js.map +1 -0
- package/dist/shared/claude-code.js +89 -0
- package/dist/shared/claude-code.js.map +1 -0
- package/dist/shared/claude.js +33 -0
- package/dist/shared/claude.js.map +1 -0
- package/dist/shared/config.js +17 -0
- package/dist/shared/config.js.map +1 -0
- package/dist/shared/engine.js +17 -0
- package/dist/shared/engine.js.map +1 -0
- package/package.json +61 -0
- package/schemas/README.md +32 -0
- package/schemas/ffmpeg.json +564 -0
- package/schemas/pandoc.json +277 -0
- package/schemas/yt-dlp.json +446 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Engine selection. The SDK path (shared/claude.ts `complete`) is primary and the default.
|
|
2
|
+
// INSTAGUI_ENGINE=claude-code opts into the dev-only headless-Claude-Code adapter — a test
|
|
3
|
+
// harness for running extraction without an API key. Any other value (or unset) → SDK.
|
|
4
|
+
import { complete } from './claude.js';
|
|
5
|
+
import { completeViaClaudeCode } from './claude-code.js';
|
|
6
|
+
export const ENGINE_ENV = 'INSTAGUI_ENGINE';
|
|
7
|
+
/** Resolve the active completion engine from the environment. */
|
|
8
|
+
export function resolveComplete() {
|
|
9
|
+
if (process.env[ENGINE_ENV] === 'claude-code')
|
|
10
|
+
return completeViaClaudeCode;
|
|
11
|
+
return complete;
|
|
12
|
+
}
|
|
13
|
+
/** Human-readable name of the active engine (for diagnostics; never prints secrets). */
|
|
14
|
+
export function activeEngineName() {
|
|
15
|
+
return process.env[ENGINE_ENV] === 'claude-code' ? 'claude-code (dev)' : 'sdk';
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/shared/engine.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,2FAA2F;AAC3F,uFAAuF;AACvF,OAAO,EAAE,QAAQ,EAAmB,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,CAAC,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAE5C,iEAAiE;AACjE,MAAM,UAAU,eAAe;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,aAAa;QAAE,OAAO,qBAAqB,CAAC;IAC5E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC;AACjF,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "instagui",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "npx instagui <any-cli-tool> — turn any CLI tool into a local web GUI. One command.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": "Omar <omarsoutari97@gmail.com>",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/Soutar97/instagui.git"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://github.com/Soutar97/instagui#readme",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/Soutar97/instagui/issues"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"cli",
|
|
18
|
+
"gui",
|
|
19
|
+
"web-ui",
|
|
20
|
+
"form",
|
|
21
|
+
"wrapper",
|
|
22
|
+
"ffmpeg",
|
|
23
|
+
"yt-dlp",
|
|
24
|
+
"pandoc",
|
|
25
|
+
"help-text",
|
|
26
|
+
"ai",
|
|
27
|
+
"claude",
|
|
28
|
+
"anthropic",
|
|
29
|
+
"developer-tools",
|
|
30
|
+
"npx"
|
|
31
|
+
],
|
|
32
|
+
"bin": {
|
|
33
|
+
"instagui": "dist/cli/index.js"
|
|
34
|
+
},
|
|
35
|
+
"files": [
|
|
36
|
+
"dist/",
|
|
37
|
+
"schemas/",
|
|
38
|
+
"LICENSE",
|
|
39
|
+
"README.md"
|
|
40
|
+
],
|
|
41
|
+
"engines": {
|
|
42
|
+
"node": ">=22"
|
|
43
|
+
},
|
|
44
|
+
"scripts": {
|
|
45
|
+
"build": "tsc -p tsconfig.json",
|
|
46
|
+
"lint": "eslint .",
|
|
47
|
+
"test": "node --import tsx --test \"test/**/*.test.ts\"",
|
|
48
|
+
"extract": "tsx src/cli/index.ts"
|
|
49
|
+
},
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"@anthropic-ai/sdk": "^0.109.1",
|
|
52
|
+
"zod": "^3.25.0"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@types/node": "^22.10.0",
|
|
56
|
+
"eslint": "^9.17.0",
|
|
57
|
+
"tsx": "^4.19.0",
|
|
58
|
+
"typescript": "^5.9.0",
|
|
59
|
+
"typescript-eslint": "^8.20.0"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Bundled demo schemas
|
|
2
|
+
|
|
3
|
+
These are the read-only fallback schemas that let the demo tools work with **no API key**
|
|
4
|
+
(Epic 2 / Story 2.3). Resolution precedence: `--schema` override → user cache (`~/.instagui`)
|
|
5
|
+
→ **these bundled schemas** → fresh extraction. The user cache always wins; these files are
|
|
6
|
+
never overwritten at runtime.
|
|
7
|
+
|
|
8
|
+
Currently bundled: `ffmpeg`, `yt-dlp`, `pandoc`.
|
|
9
|
+
|
|
10
|
+
## Provenance
|
|
11
|
+
|
|
12
|
+
Generated by `scripts/gen-bundled-schemas.ts` from the captured `--help` fixtures in
|
|
13
|
+
`test/fixtures/`. Each schema passes the hallucination guard (every flag appears verbatim
|
|
14
|
+
in the fixture) and a golden sanity check before it is written.
|
|
15
|
+
|
|
16
|
+
## ⚠️ Pending SDK/haiku regeneration (pre-publish gate)
|
|
17
|
+
|
|
18
|
+
The committed schemas were generated with the **dev `claude-code` engine**
|
|
19
|
+
(`INSTAGUI_ENGINE=claude-code`) so they could be produced keyless. Before publishing, they
|
|
20
|
+
must be **regenerated via the real SDK path on `claude-haiku-4-5`** and re-committed, so the
|
|
21
|
+
shipped schemas reflect the same model users' fresh extractions will use. This shares the
|
|
22
|
+
carried Epic 1 pre-publish gate (live SDK/haiku verification).
|
|
23
|
+
|
|
24
|
+
Regenerate:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
# keyless (dev engine) — current committed state
|
|
28
|
+
INSTAGUI_ENGINE=claude-code npx tsx scripts/gen-bundled-schemas.ts
|
|
29
|
+
|
|
30
|
+
# pre-publish (SDK / haiku) — required before shipping
|
|
31
|
+
ANTHROPIC_API_KEY=sk-ant-... npx tsx scripts/gen-bundled-schemas.ts
|
|
32
|
+
```
|
|
@@ -0,0 +1,564 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tool": "ffmpeg",
|
|
3
|
+
"summary": "FFmpeg version 6.1 - multimedia framework for transcoding, streaming, and recording",
|
|
4
|
+
"options": [
|
|
5
|
+
{
|
|
6
|
+
"name": "license",
|
|
7
|
+
"flag": "-L",
|
|
8
|
+
"type": "boolean",
|
|
9
|
+
"description": "show license",
|
|
10
|
+
"enumValues": [],
|
|
11
|
+
"required": false,
|
|
12
|
+
"group": "Print help / information / capabilities"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "help",
|
|
16
|
+
"flag": "-h",
|
|
17
|
+
"type": "string",
|
|
18
|
+
"description": "show help on topic (basic, long, or full)",
|
|
19
|
+
"enumValues": [],
|
|
20
|
+
"required": false,
|
|
21
|
+
"group": "Print help / information / capabilities"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"name": "version",
|
|
25
|
+
"flag": "-version",
|
|
26
|
+
"type": "boolean",
|
|
27
|
+
"description": "show version",
|
|
28
|
+
"enumValues": [],
|
|
29
|
+
"required": false,
|
|
30
|
+
"group": "Print help / information / capabilities"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "formats",
|
|
34
|
+
"flag": "-formats",
|
|
35
|
+
"type": "boolean",
|
|
36
|
+
"description": "show available formats",
|
|
37
|
+
"enumValues": [],
|
|
38
|
+
"required": false,
|
|
39
|
+
"group": "Print help / information / capabilities"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "codecs",
|
|
43
|
+
"flag": "-codecs",
|
|
44
|
+
"type": "boolean",
|
|
45
|
+
"description": "show available codecs",
|
|
46
|
+
"enumValues": [],
|
|
47
|
+
"required": false,
|
|
48
|
+
"group": "Print help / information / capabilities"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "encoders",
|
|
52
|
+
"flag": "-encoders",
|
|
53
|
+
"type": "boolean",
|
|
54
|
+
"description": "show available encoders",
|
|
55
|
+
"enumValues": [],
|
|
56
|
+
"required": false,
|
|
57
|
+
"group": "Print help / information / capabilities"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "decoders",
|
|
61
|
+
"flag": "-decoders",
|
|
62
|
+
"type": "boolean",
|
|
63
|
+
"description": "show available decoders",
|
|
64
|
+
"enumValues": [],
|
|
65
|
+
"required": false,
|
|
66
|
+
"group": "Print help / information / capabilities"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "loglevel",
|
|
70
|
+
"flag": "-loglevel",
|
|
71
|
+
"type": "string",
|
|
72
|
+
"description": "set logging level",
|
|
73
|
+
"enumValues": [],
|
|
74
|
+
"required": false,
|
|
75
|
+
"group": "Global options"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "v",
|
|
79
|
+
"flag": "-v",
|
|
80
|
+
"type": "string",
|
|
81
|
+
"description": "set logging level",
|
|
82
|
+
"enumValues": [],
|
|
83
|
+
"required": false,
|
|
84
|
+
"group": "Global options"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "overwrite",
|
|
88
|
+
"flag": "-y",
|
|
89
|
+
"type": "boolean",
|
|
90
|
+
"description": "overwrite output files",
|
|
91
|
+
"enumValues": [],
|
|
92
|
+
"required": false,
|
|
93
|
+
"group": "Global options"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"name": "no_overwrite",
|
|
97
|
+
"flag": "-n",
|
|
98
|
+
"type": "boolean",
|
|
99
|
+
"description": "never overwrite output files",
|
|
100
|
+
"enumValues": [],
|
|
101
|
+
"required": false,
|
|
102
|
+
"group": "Global options"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "stats",
|
|
106
|
+
"flag": "-stats",
|
|
107
|
+
"type": "boolean",
|
|
108
|
+
"description": "print progress report during encoding",
|
|
109
|
+
"enumValues": [],
|
|
110
|
+
"required": false,
|
|
111
|
+
"group": "Global options"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "threads",
|
|
115
|
+
"flag": "-threads",
|
|
116
|
+
"type": "number",
|
|
117
|
+
"description": "set the number of threads",
|
|
118
|
+
"enumValues": [],
|
|
119
|
+
"required": false,
|
|
120
|
+
"group": "Global options"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "format",
|
|
124
|
+
"flag": "-f",
|
|
125
|
+
"type": "string",
|
|
126
|
+
"description": "force format",
|
|
127
|
+
"enumValues": [],
|
|
128
|
+
"required": false,
|
|
129
|
+
"group": "Per-file main options"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "codec",
|
|
133
|
+
"flag": "-c",
|
|
134
|
+
"type": "string",
|
|
135
|
+
"description": "codec name",
|
|
136
|
+
"enumValues": [],
|
|
137
|
+
"required": false,
|
|
138
|
+
"group": "Per-file main options"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"name": "codec_long",
|
|
142
|
+
"flag": "-codec",
|
|
143
|
+
"type": "string",
|
|
144
|
+
"description": "codec name",
|
|
145
|
+
"enumValues": [],
|
|
146
|
+
"required": false,
|
|
147
|
+
"group": "Per-file main options"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"name": "preset",
|
|
151
|
+
"flag": "-pre",
|
|
152
|
+
"type": "string",
|
|
153
|
+
"description": "preset name",
|
|
154
|
+
"enumValues": [],
|
|
155
|
+
"required": false,
|
|
156
|
+
"group": "Per-file main options"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"name": "duration",
|
|
160
|
+
"flag": "-t",
|
|
161
|
+
"type": "string",
|
|
162
|
+
"description": "record or transcode duration seconds of audio/video",
|
|
163
|
+
"enumValues": [],
|
|
164
|
+
"required": false,
|
|
165
|
+
"group": "Per-file main options"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "start_time",
|
|
169
|
+
"flag": "-ss",
|
|
170
|
+
"type": "string",
|
|
171
|
+
"description": "set the start time offset",
|
|
172
|
+
"enumValues": [],
|
|
173
|
+
"required": false,
|
|
174
|
+
"group": "Per-file main options"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"name": "stop_time",
|
|
178
|
+
"flag": "-to",
|
|
179
|
+
"type": "string",
|
|
180
|
+
"description": "record or transcode stop time",
|
|
181
|
+
"enumValues": [],
|
|
182
|
+
"required": false,
|
|
183
|
+
"group": "Per-file main options"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"name": "file_size_limit",
|
|
187
|
+
"flag": "-fs",
|
|
188
|
+
"type": "number",
|
|
189
|
+
"description": "set the limit file size in bytes",
|
|
190
|
+
"enumValues": [],
|
|
191
|
+
"required": false,
|
|
192
|
+
"group": "Per-file main options"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"name": "input",
|
|
196
|
+
"flag": "-i",
|
|
197
|
+
"type": "path",
|
|
198
|
+
"description": "input file name",
|
|
199
|
+
"enumValues": [],
|
|
200
|
+
"required": false,
|
|
201
|
+
"group": "Per-file main options"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"name": "map",
|
|
205
|
+
"flag": "-map",
|
|
206
|
+
"type": "string",
|
|
207
|
+
"description": "set input stream mapping",
|
|
208
|
+
"enumValues": [],
|
|
209
|
+
"required": false,
|
|
210
|
+
"group": "Per-file main options"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"name": "vframes",
|
|
214
|
+
"flag": "-vframes",
|
|
215
|
+
"type": "number",
|
|
216
|
+
"description": "set the number of video frames to output",
|
|
217
|
+
"enumValues": [],
|
|
218
|
+
"required": false,
|
|
219
|
+
"group": "Video options"
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"name": "rate",
|
|
223
|
+
"flag": "-r",
|
|
224
|
+
"type": "string",
|
|
225
|
+
"description": "set frame rate (Hz value, fraction or abbreviation)",
|
|
226
|
+
"enumValues": [],
|
|
227
|
+
"required": false,
|
|
228
|
+
"group": "Video options"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"name": "frame_size",
|
|
232
|
+
"flag": "-s",
|
|
233
|
+
"type": "string",
|
|
234
|
+
"description": "set frame size (WxH or abbreviation)",
|
|
235
|
+
"enumValues": [],
|
|
236
|
+
"required": false,
|
|
237
|
+
"group": "Video options"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"name": "aspect",
|
|
241
|
+
"flag": "-aspect",
|
|
242
|
+
"type": "string",
|
|
243
|
+
"description": "set aspect ratio (4:3, 16:9 or 1.3333, 1.7777)",
|
|
244
|
+
"enumValues": [],
|
|
245
|
+
"required": false,
|
|
246
|
+
"group": "Video options"
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"name": "disable_video",
|
|
250
|
+
"flag": "-vn",
|
|
251
|
+
"type": "boolean",
|
|
252
|
+
"description": "disable video",
|
|
253
|
+
"enumValues": [],
|
|
254
|
+
"required": false,
|
|
255
|
+
"group": "Video options"
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"name": "video_codec",
|
|
259
|
+
"flag": "-vcodec",
|
|
260
|
+
"type": "string",
|
|
261
|
+
"description": "force video codec ('copy' to copy stream)",
|
|
262
|
+
"enumValues": [],
|
|
263
|
+
"required": false,
|
|
264
|
+
"group": "Video options"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"name": "bitrate",
|
|
268
|
+
"flag": "-b",
|
|
269
|
+
"type": "string",
|
|
270
|
+
"description": "video bitrate (please use -b:v)",
|
|
271
|
+
"enumValues": [],
|
|
272
|
+
"required": false,
|
|
273
|
+
"group": "Video options"
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"name": "video_filter",
|
|
277
|
+
"flag": "-vf",
|
|
278
|
+
"type": "string",
|
|
279
|
+
"description": "set video filters",
|
|
280
|
+
"enumValues": [],
|
|
281
|
+
"required": false,
|
|
282
|
+
"group": "Video options"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"name": "pixel_format",
|
|
286
|
+
"flag": "-pix_fmt",
|
|
287
|
+
"type": "string",
|
|
288
|
+
"description": "set pixel format",
|
|
289
|
+
"enumValues": [],
|
|
290
|
+
"required": false,
|
|
291
|
+
"group": "Video options"
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"name": "aframes",
|
|
295
|
+
"flag": "-aframes",
|
|
296
|
+
"type": "number",
|
|
297
|
+
"description": "set the number of audio frames to output",
|
|
298
|
+
"enumValues": [],
|
|
299
|
+
"required": false,
|
|
300
|
+
"group": "Audio options"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"name": "audio_quality",
|
|
304
|
+
"flag": "-aq",
|
|
305
|
+
"type": "string",
|
|
306
|
+
"description": "set audio quality (codec-specific)",
|
|
307
|
+
"enumValues": [],
|
|
308
|
+
"required": false,
|
|
309
|
+
"group": "Audio options"
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"name": "audio_rate",
|
|
313
|
+
"flag": "-ar",
|
|
314
|
+
"type": "number",
|
|
315
|
+
"description": "set audio sampling rate (in Hz)",
|
|
316
|
+
"enumValues": [],
|
|
317
|
+
"required": false,
|
|
318
|
+
"group": "Audio options"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"name": "audio_channels",
|
|
322
|
+
"flag": "-ac",
|
|
323
|
+
"type": "number",
|
|
324
|
+
"description": "set number of audio channels",
|
|
325
|
+
"enumValues": [],
|
|
326
|
+
"required": false,
|
|
327
|
+
"group": "Audio options"
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"name": "disable_audio",
|
|
331
|
+
"flag": "-an",
|
|
332
|
+
"type": "boolean",
|
|
333
|
+
"description": "disable audio",
|
|
334
|
+
"enumValues": [],
|
|
335
|
+
"required": false,
|
|
336
|
+
"group": "Audio options"
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"name": "audio_codec",
|
|
340
|
+
"flag": "-acodec",
|
|
341
|
+
"type": "string",
|
|
342
|
+
"description": "force audio codec ('copy' to copy stream)",
|
|
343
|
+
"enumValues": [],
|
|
344
|
+
"required": false,
|
|
345
|
+
"group": "Audio options"
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"name": "volume",
|
|
349
|
+
"flag": "-vol",
|
|
350
|
+
"type": "number",
|
|
351
|
+
"description": "change audio volume (256=normal)",
|
|
352
|
+
"enumValues": [],
|
|
353
|
+
"required": false,
|
|
354
|
+
"group": "Audio options"
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"name": "audio_filter",
|
|
358
|
+
"flag": "-af",
|
|
359
|
+
"type": "string",
|
|
360
|
+
"description": "set audio filters",
|
|
361
|
+
"enumValues": [],
|
|
362
|
+
"required": false,
|
|
363
|
+
"group": "Audio options"
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"name": "disable_subtitle",
|
|
367
|
+
"flag": "-sn",
|
|
368
|
+
"type": "boolean",
|
|
369
|
+
"description": "disable subtitle",
|
|
370
|
+
"enumValues": [],
|
|
371
|
+
"required": false,
|
|
372
|
+
"group": "Subtitle options"
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"name": "subtitle_codec",
|
|
376
|
+
"flag": "-scodec",
|
|
377
|
+
"type": "string",
|
|
378
|
+
"description": "force subtitle codec ('copy' to copy stream)",
|
|
379
|
+
"enumValues": [],
|
|
380
|
+
"required": false,
|
|
381
|
+
"group": "Subtitle options"
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
"name": "encoding_preset",
|
|
385
|
+
"flag": "-preset",
|
|
386
|
+
"type": "string",
|
|
387
|
+
"description": "set the encoding preset",
|
|
388
|
+
"enumValues": [],
|
|
389
|
+
"required": false,
|
|
390
|
+
"group": "Encoder options"
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"name": "quality",
|
|
394
|
+
"flag": "-crf",
|
|
395
|
+
"type": "number",
|
|
396
|
+
"description": "select the quality for constant quality mode (0-63)",
|
|
397
|
+
"enumValues": [],
|
|
398
|
+
"required": false,
|
|
399
|
+
"group": "Encoder options"
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"name": "profile",
|
|
403
|
+
"flag": "-profile",
|
|
404
|
+
"type": "number",
|
|
405
|
+
"description": "set profile restrictions",
|
|
406
|
+
"enumValues": [],
|
|
407
|
+
"required": false,
|
|
408
|
+
"group": "Encoder options"
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"name": "level",
|
|
412
|
+
"flag": "-level",
|
|
413
|
+
"type": "number",
|
|
414
|
+
"description": "specify level",
|
|
415
|
+
"enumValues": [],
|
|
416
|
+
"required": false,
|
|
417
|
+
"group": "Encoder options"
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
"name": "tune",
|
|
421
|
+
"flag": "-tune",
|
|
422
|
+
"type": "string",
|
|
423
|
+
"description": "tune the encoding params",
|
|
424
|
+
"enumValues": [],
|
|
425
|
+
"required": false,
|
|
426
|
+
"group": "Encoder options"
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"name": "gop_size",
|
|
430
|
+
"flag": "-g",
|
|
431
|
+
"type": "number",
|
|
432
|
+
"description": "set the group of picture (GOP) size",
|
|
433
|
+
"enumValues": [],
|
|
434
|
+
"required": false,
|
|
435
|
+
"group": "Encoder options"
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
"name": "b_frames",
|
|
439
|
+
"flag": "-bf",
|
|
440
|
+
"type": "number",
|
|
441
|
+
"description": "set maximum number of B-frames",
|
|
442
|
+
"enumValues": [],
|
|
443
|
+
"required": false,
|
|
444
|
+
"group": "Encoder options"
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"name": "refs",
|
|
448
|
+
"flag": "-refs",
|
|
449
|
+
"type": "number",
|
|
450
|
+
"description": "reference frames to consider",
|
|
451
|
+
"enumValues": [],
|
|
452
|
+
"required": false,
|
|
453
|
+
"group": "Encoder options"
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
"name": "qmin",
|
|
457
|
+
"flag": "-qmin",
|
|
458
|
+
"type": "number",
|
|
459
|
+
"description": "minimum quantizer",
|
|
460
|
+
"enumValues": [],
|
|
461
|
+
"required": false,
|
|
462
|
+
"group": "Encoder options"
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
"name": "qmax",
|
|
466
|
+
"flag": "-qmax",
|
|
467
|
+
"type": "number",
|
|
468
|
+
"description": "maximum quantizer",
|
|
469
|
+
"enumValues": [],
|
|
470
|
+
"required": false,
|
|
471
|
+
"group": "Encoder options"
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"name": "motion_estimation",
|
|
475
|
+
"flag": "-me_method",
|
|
476
|
+
"type": "string",
|
|
477
|
+
"description": "motion estimation method",
|
|
478
|
+
"enumValues": [],
|
|
479
|
+
"required": false,
|
|
480
|
+
"group": "Encoder options"
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"name": "subq",
|
|
484
|
+
"flag": "-subq",
|
|
485
|
+
"type": "number",
|
|
486
|
+
"description": "sub-pel motion estimation quality",
|
|
487
|
+
"enumValues": [],
|
|
488
|
+
"required": false,
|
|
489
|
+
"group": "Encoder options"
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
"name": "trellis",
|
|
493
|
+
"flag": "-trellis",
|
|
494
|
+
"type": "number",
|
|
495
|
+
"description": "rate-distortion optimal quantization",
|
|
496
|
+
"enumValues": [],
|
|
497
|
+
"required": false,
|
|
498
|
+
"group": "Encoder options"
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
"name": "aq_mode",
|
|
502
|
+
"flag": "-aq-mode",
|
|
503
|
+
"type": "number",
|
|
504
|
+
"description": "adaptive quantization mode",
|
|
505
|
+
"enumValues": [],
|
|
506
|
+
"required": false,
|
|
507
|
+
"group": "Encoder options"
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
"name": "deblock",
|
|
511
|
+
"flag": "-deblock",
|
|
512
|
+
"type": "string",
|
|
513
|
+
"description": "loop filter parameters",
|
|
514
|
+
"enumValues": [],
|
|
515
|
+
"required": false,
|
|
516
|
+
"group": "Encoder options"
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
"name": "rc_lookahead",
|
|
520
|
+
"flag": "-rc-lookahead",
|
|
521
|
+
"type": "number",
|
|
522
|
+
"description": "number of frames for frametype lookahead",
|
|
523
|
+
"enumValues": [],
|
|
524
|
+
"required": false,
|
|
525
|
+
"group": "Encoder options"
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"name": "keyint_min",
|
|
529
|
+
"flag": "-keyint_min",
|
|
530
|
+
"type": "number",
|
|
531
|
+
"description": "minimum GOP size",
|
|
532
|
+
"enumValues": [],
|
|
533
|
+
"required": false,
|
|
534
|
+
"group": "Encoder options"
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
"name": "scene_threshold",
|
|
538
|
+
"flag": "-sc_threshold",
|
|
539
|
+
"type": "number",
|
|
540
|
+
"description": "scene change threshold",
|
|
541
|
+
"enumValues": [],
|
|
542
|
+
"required": false,
|
|
543
|
+
"group": "Encoder options"
|
|
544
|
+
},
|
|
545
|
+
{
|
|
546
|
+
"name": "b_strategy",
|
|
547
|
+
"flag": "-b_strategy",
|
|
548
|
+
"type": "number",
|
|
549
|
+
"description": "strategy to choose between I/P/B-frames",
|
|
550
|
+
"enumValues": [],
|
|
551
|
+
"required": false,
|
|
552
|
+
"group": "Encoder options"
|
|
553
|
+
}
|
|
554
|
+
],
|
|
555
|
+
"positionals": [
|
|
556
|
+
{
|
|
557
|
+
"name": "outfile",
|
|
558
|
+
"type": "path",
|
|
559
|
+
"description": "output file",
|
|
560
|
+
"required": false,
|
|
561
|
+
"variadic": true
|
|
562
|
+
}
|
|
563
|
+
]
|
|
564
|
+
}
|