@osaas/cli 4.21.0 → 4.22.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/dist/vod/cmd.d.ts.map +1 -1
- package/dist/vod/cmd.js +5 -1
- package/dist/vod/cmd.js.map +1 -1
- package/package.json +3 -3
- package/readme.md +102 -11
- package/src/vod/cmd.ts +8 -1
package/dist/vod/cmd.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../src/vod/cmd.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,wBAAgB,MAAM,
|
|
1
|
+
{"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../src/vod/cmd.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,wBAAgB,MAAM,YAqErB"}
|
package/dist/vod/cmd.js
CHANGED
|
@@ -12,6 +12,7 @@ function cmdVod() {
|
|
|
12
12
|
.description('Create a VOD file ready for streaming. Will setup pipeline if not already created.')
|
|
13
13
|
.argument('<name>', 'Name of VOD Pipeline')
|
|
14
14
|
.argument('<source>', 'Source URL')
|
|
15
|
+
.option('--profile <profile>', 'Transcoding profile to use [default: program]')
|
|
15
16
|
.option('--output-bucket-name <name>', 'Name of existing output bucket')
|
|
16
17
|
.option('--access-key-id <id>', 'Access key ID for existing output bucket')
|
|
17
18
|
.option('--secret-access-key <key>', 'Secret access key for existing output bucket')
|
|
@@ -37,7 +38,10 @@ function cmdVod() {
|
|
|
37
38
|
(0, client_core_1.Log)().info('Using existing VOD pipeline, starting job to create VOD');
|
|
38
39
|
(0, client_core_1.Log)().debug(pipeline);
|
|
39
40
|
}
|
|
40
|
-
const
|
|
41
|
+
const vodOptions = {
|
|
42
|
+
profile: options.profile
|
|
43
|
+
};
|
|
44
|
+
const job = await (0, client_transcode_1.createVod)(pipeline, source, ctx, vodOptions);
|
|
41
45
|
if (job) {
|
|
42
46
|
(0, client_core_1.Log)().info('Created VOD will be available at: ' + job.vodUrl);
|
|
43
47
|
}
|
package/dist/vod/cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../src/vod/cmd.ts"],"names":[],"mappings":";;;AAAA,oDAAkD;AAClD,8DAIiC;AACjC,yEAAsE;AACtE,yCAAoC;AAEpC,SAAgB,MAAM;IACpB,MAAM,GAAG,GAAG,IAAI,mBAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,GAAG;SACA,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CACV,oFAAoF,CACrF;SACA,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SAC1C,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;SAClC,MAAM,CAAC,6BAA6B,EAAE,gCAAgC,CAAC;SACvE,MAAM,CAAC,sBAAsB,EAAE,0CAA0C,CAAC;SAC1E,MAAM,CACL,2BAA2B,EAC3B,8CAA8C,CAC/C;SACA,MAAM,CAAC,kBAAkB,EAAE,yCAAyC,CAAC;SACrE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAC/C,IAAI;YACF,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;YAC7C,MAAM,WAAW,GAAG,UAAU,EAAE,GAAG,IAAI,MAAM,CAAC;YAC9C,MAAM,GAAG,GAAG,IAAI,qBAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG;gBACX,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC;YACF,IAAI,QAAQ,GAAG,MAAM,IAAA,yBAAW,EAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,EAAE;gBACb,IAAA,iBAAG,GAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACpC,QAAQ,GAAG,MAAM,IAAA,oCAAiB,EAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBACpD,IAAA,iBAAG,GAAE,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;aAChE;iBAAM;gBACL,IAAA,iBAAG,GAAE,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBACtE,IAAA,iBAAG,GAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aACvB;YACD,MAAM,GAAG,GAAG,MAAM,IAAA,4BAAS,EAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../src/vod/cmd.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osaas/cli",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.22.0",
|
|
4
4
|
"description": "Open Source Cloud CLI",
|
|
5
5
|
"author": "Eyevinn Open Source Cloud <osc@eyevinn.se>",
|
|
6
6
|
"homepage": "https://www.osaas.io",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@osaas/client-core": "^0.19.0",
|
|
26
26
|
"@osaas/client-db": "^0.6.5",
|
|
27
27
|
"@osaas/client-intercom": "^0.3.4",
|
|
28
|
-
"@osaas/client-transcode": "^0.
|
|
28
|
+
"@osaas/client-transcode": "^0.26.0",
|
|
29
29
|
"@osaas/client-web": "^0.5.9",
|
|
30
30
|
"@types/promptly": "^3.0.5",
|
|
31
31
|
"chalk": "4.1.2",
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"publishConfig": {
|
|
38
38
|
"access": "public"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "66a68e67f1827f1a45a98804018aeb7031d285a8"
|
|
41
41
|
}
|
package/readme.md
CHANGED
|
@@ -25,23 +25,31 @@ Options:
|
|
|
25
25
|
-h, --help display help for command
|
|
26
26
|
|
|
27
27
|
Commands:
|
|
28
|
-
admin
|
|
28
|
+
admin Administrative commands for OSC super admins
|
|
29
29
|
list <serviceId> List all my service instances
|
|
30
30
|
create [options] <serviceId> <name> Create a service instance
|
|
31
31
|
describe <serviceId> <name> Get details for a service instance
|
|
32
|
-
remove <serviceId> <name>
|
|
32
|
+
remove [options] <serviceId> <name> Remove a service instance
|
|
33
|
+
restart <serviceId> <name> Restart a service instance
|
|
33
34
|
logs <serviceId> <name> Get logs for a service instance
|
|
35
|
+
list-reserved-nodes List all my reserved nodes
|
|
36
|
+
service-access-token <serviceId> Generate a service access token for a service
|
|
37
|
+
secrets Manage secrets for services (list, create, update, remove)
|
|
34
38
|
packager [options] <source> <dest> Create streaming package from ABR bundle on S3
|
|
35
39
|
and store on another S3 bucket
|
|
36
|
-
compare
|
|
37
|
-
live
|
|
38
|
-
intercom
|
|
39
|
-
transcribe [options] <source> Generate subtitles from video or audio using
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
vod
|
|
44
|
-
web
|
|
40
|
+
compare vmaf <reference> <distorted> <result> Compare two video files using VMAF
|
|
41
|
+
live Live streaming commands
|
|
42
|
+
intercom Intercom messaging commands
|
|
43
|
+
transcribe [options] <source> Generate subtitles from video or audio using OpenAI Whisper
|
|
44
|
+
db Database management commands
|
|
45
|
+
architect AI chat assistant for architecture guidance
|
|
46
|
+
vod create [options] <name> <source> Create a VOD file ready for streaming
|
|
47
|
+
vod cleanup <name> Remove VOD pipeline but keep VOD files
|
|
48
|
+
web publish [options] <name> <dir> Publish a website
|
|
49
|
+
web cdn-create [options] <serviceId> <instanceName> Create a CDN distribution
|
|
50
|
+
web config-create <name> Create a configuration service instance
|
|
51
|
+
web config-delete [options] <name> Delete a configuration service instance
|
|
52
|
+
web config-to-env <name> Export configuration values as environment variables
|
|
45
53
|
help [command] display help for command
|
|
46
54
|
```
|
|
47
55
|
|
|
@@ -141,6 +149,18 @@ Create a VOD file for streaming from using a pipeline named `demo`. Follow the s
|
|
|
141
149
|
% osc vod create demo https://testcontent.eyevinn.technology/mp4/VINN.mp4
|
|
142
150
|
```
|
|
143
151
|
|
|
152
|
+
Create a VOD file with a specific transcoding profile:
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
% osc vod create demo https://testcontent.eyevinn.technology/mp4/VINN.mp4 --profile x264-high
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Remove a VOD pipeline but keep the VOD files:
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
% osc vod cleanup demo
|
|
162
|
+
```
|
|
163
|
+
|
|
144
164
|
### List all channel-engine instance for tenant `eyevinn` as an OSC super admin
|
|
145
165
|
|
|
146
166
|
```
|
|
@@ -183,3 +203,74 @@ And storing it in the shell.
|
|
|
183
203
|
```bash
|
|
184
204
|
% eval `osc web config-to-env <config-instance-name>`
|
|
185
205
|
```
|
|
206
|
+
|
|
207
|
+
### Compare video files using VMAF
|
|
208
|
+
|
|
209
|
+
Compare two video files and get a VMAF quality score:
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
% osc compare vmaf s3://bucket/reference.mp4 s3://bucket/distorted.mp4 s3://bucket/vmaf-result.json
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Generate subtitles from video or audio
|
|
216
|
+
|
|
217
|
+
Generate subtitles using OpenAI Whisper:
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
% export OPENAI_API_KEY=<your-openai-api-key>
|
|
221
|
+
% osc transcribe https://example.com/video.mp4 --format vtt --language en
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### Manage service secrets
|
|
225
|
+
|
|
226
|
+
List secrets for a service:
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
% osc secrets list minio-minio
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Create a new secret:
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
% osc secrets create minio-minio mysecret myvalue
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Update an existing secret:
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
% osc secrets update minio-minio mysecret newvalue
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
Remove a secret:
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
% osc secrets remove minio-minio mysecret
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### Service instance management
|
|
251
|
+
|
|
252
|
+
Restart a service instance:
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
% osc restart minio-minio mystore
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
List your reserved nodes:
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
% osc list-reserved-nodes
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
Generate a service access token:
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
% osc service-access-token minio-minio
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### Create a service instance with safe name option
|
|
271
|
+
|
|
272
|
+
Create a service instance with invalid characters stripped from the name:
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
% osc create minio-minio "my store with spaces!" --safe-name -o RootUser=admin -o RootPassword=abC12345678
|
|
276
|
+
```
|
package/src/vod/cmd.ts
CHANGED
|
@@ -16,6 +16,10 @@ export function cmdVod() {
|
|
|
16
16
|
)
|
|
17
17
|
.argument('<name>', 'Name of VOD Pipeline')
|
|
18
18
|
.argument('<source>', 'Source URL')
|
|
19
|
+
.option(
|
|
20
|
+
'--profile <profile>',
|
|
21
|
+
'Transcoding profile to use [default: program]'
|
|
22
|
+
)
|
|
19
23
|
.option('--output-bucket-name <name>', 'Name of existing output bucket')
|
|
20
24
|
.option('--access-key-id <id>', 'Access key ID for existing output bucket')
|
|
21
25
|
.option(
|
|
@@ -43,7 +47,10 @@ export function cmdVod() {
|
|
|
43
47
|
Log().info('Using existing VOD pipeline, starting job to create VOD');
|
|
44
48
|
Log().debug(pipeline);
|
|
45
49
|
}
|
|
46
|
-
const
|
|
50
|
+
const vodOptions = {
|
|
51
|
+
profile: options.profile
|
|
52
|
+
};
|
|
53
|
+
const job = await createVod(pipeline, source, ctx, vodOptions);
|
|
47
54
|
if (job) {
|
|
48
55
|
Log().info('Created VOD will be available at: ' + job.vodUrl);
|
|
49
56
|
}
|