@norskvideo/norsk-api 0.0.329 → 0.0.330
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/lib/media_grpc_pb.d.ts +44 -44
- package/lib/media_grpc_pb.js +204 -99
- package/lib/media_pb.d.ts +109 -96
- package/lib/media_pb.js +120 -105
- package/lib/media_pb.js.map +1 -1
- package/lib/media_pb.ts +147 -134
- package/package.json +1 -1
package/lib/media_grpc_pb.js
CHANGED
|
@@ -271,6 +271,50 @@ function deserialize_norsk_api_media_ChaosMonkeyMessage(buffer_arg) {
|
|
|
271
271
|
return media_pb.ChaosMonkeyMessage.fromBinary(new Uint8Array(buffer_arg));
|
|
272
272
|
}
|
|
273
273
|
|
|
274
|
+
function serialize_norsk_api_media_CmafAudioMessage(arg) {
|
|
275
|
+
if (!(arg instanceof media_pb.CmafAudioMessage)) {
|
|
276
|
+
throw new Error('Expected argument of type norsk.api.media.CmafAudioMessage');
|
|
277
|
+
}
|
|
278
|
+
return Buffer.from(arg.toBinary());
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
function deserialize_norsk_api_media_CmafAudioMessage(buffer_arg) {
|
|
282
|
+
return media_pb.CmafAudioMessage.fromBinary(new Uint8Array(buffer_arg));
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
function serialize_norsk_api_media_CmafMasterMessage(arg) {
|
|
286
|
+
if (!(arg instanceof media_pb.CmafMasterMessage)) {
|
|
287
|
+
throw new Error('Expected argument of type norsk.api.media.CmafMasterMessage');
|
|
288
|
+
}
|
|
289
|
+
return Buffer.from(arg.toBinary());
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
function deserialize_norsk_api_media_CmafMasterMessage(buffer_arg) {
|
|
293
|
+
return media_pb.CmafMasterMessage.fromBinary(new Uint8Array(buffer_arg));
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
function serialize_norsk_api_media_CmafVideoMessage(arg) {
|
|
297
|
+
if (!(arg instanceof media_pb.CmafVideoMessage)) {
|
|
298
|
+
throw new Error('Expected argument of type norsk.api.media.CmafVideoMessage');
|
|
299
|
+
}
|
|
300
|
+
return Buffer.from(arg.toBinary());
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
function deserialize_norsk_api_media_CmafVideoMessage(buffer_arg) {
|
|
304
|
+
return media_pb.CmafVideoMessage.fromBinary(new Uint8Array(buffer_arg));
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
function serialize_norsk_api_media_CmafWebVttMessage(arg) {
|
|
308
|
+
if (!(arg instanceof media_pb.CmafWebVttMessage)) {
|
|
309
|
+
throw new Error('Expected argument of type norsk.api.media.CmafWebVttMessage');
|
|
310
|
+
}
|
|
311
|
+
return Buffer.from(arg.toBinary());
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
function deserialize_norsk_api_media_CmafWebVttMessage(buffer_arg) {
|
|
315
|
+
return media_pb.CmafWebVttMessage.fromBinary(new Uint8Array(buffer_arg));
|
|
316
|
+
}
|
|
317
|
+
|
|
274
318
|
function serialize_norsk_api_media_ComposeVideoMessage(arg) {
|
|
275
319
|
if (!(arg instanceof media_pb.ComposeVideoMessage)) {
|
|
276
320
|
throw new Error('Expected argument of type norsk.api.media.ComposeVideoMessage');
|
|
@@ -370,28 +414,6 @@ function deserialize_norsk_api_media_Hardware(buffer_arg) {
|
|
|
370
414
|
return media_pb.Hardware.fromBinary(new Uint8Array(buffer_arg));
|
|
371
415
|
}
|
|
372
416
|
|
|
373
|
-
function serialize_norsk_api_media_HlsAudioMessage(arg) {
|
|
374
|
-
if (!(arg instanceof media_pb.HlsAudioMessage)) {
|
|
375
|
-
throw new Error('Expected argument of type norsk.api.media.HlsAudioMessage');
|
|
376
|
-
}
|
|
377
|
-
return Buffer.from(arg.toBinary());
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
function deserialize_norsk_api_media_HlsAudioMessage(buffer_arg) {
|
|
381
|
-
return media_pb.HlsAudioMessage.fromBinary(new Uint8Array(buffer_arg));
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
function serialize_norsk_api_media_HlsMasterMessage(arg) {
|
|
385
|
-
if (!(arg instanceof media_pb.HlsMasterMessage)) {
|
|
386
|
-
throw new Error('Expected argument of type norsk.api.media.HlsMasterMessage');
|
|
387
|
-
}
|
|
388
|
-
return Buffer.from(arg.toBinary());
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
function deserialize_norsk_api_media_HlsMasterMessage(buffer_arg) {
|
|
392
|
-
return media_pb.HlsMasterMessage.fromBinary(new Uint8Array(buffer_arg));
|
|
393
|
-
}
|
|
394
|
-
|
|
395
417
|
function serialize_norsk_api_media_HlsMasterPushMessage(arg) {
|
|
396
418
|
if (!(arg instanceof media_pb.HlsMasterPushMessage)) {
|
|
397
419
|
throw new Error('Expected argument of type norsk.api.media.HlsMasterPushMessage');
|
|
@@ -469,28 +491,6 @@ function deserialize_norsk_api_media_HlsTsVideoPushMessage(buffer_arg) {
|
|
|
469
491
|
return media_pb.HlsTsVideoPushMessage.fromBinary(new Uint8Array(buffer_arg));
|
|
470
492
|
}
|
|
471
493
|
|
|
472
|
-
function serialize_norsk_api_media_HlsVideoMessage(arg) {
|
|
473
|
-
if (!(arg instanceof media_pb.HlsVideoMessage)) {
|
|
474
|
-
throw new Error('Expected argument of type norsk.api.media.HlsVideoMessage');
|
|
475
|
-
}
|
|
476
|
-
return Buffer.from(arg.toBinary());
|
|
477
|
-
}
|
|
478
|
-
|
|
479
|
-
function deserialize_norsk_api_media_HlsVideoMessage(buffer_arg) {
|
|
480
|
-
return media_pb.HlsVideoMessage.fromBinary(new Uint8Array(buffer_arg));
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
function serialize_norsk_api_media_HlsWebVttMessage(arg) {
|
|
484
|
-
if (!(arg instanceof media_pb.HlsWebVttMessage)) {
|
|
485
|
-
throw new Error('Expected argument of type norsk.api.media.HlsWebVttMessage');
|
|
486
|
-
}
|
|
487
|
-
return Buffer.from(arg.toBinary());
|
|
488
|
-
}
|
|
489
|
-
|
|
490
|
-
function deserialize_norsk_api_media_HlsWebVttMessage(buffer_arg) {
|
|
491
|
-
return media_pb.HlsWebVttMessage.fromBinary(new Uint8Array(buffer_arg));
|
|
492
|
-
}
|
|
493
|
-
|
|
494
494
|
function serialize_norsk_api_media_HlsWebVttPushMessage(arg) {
|
|
495
495
|
if (!(arg instanceof media_pb.HlsWebVttPushMessage)) {
|
|
496
496
|
throw new Error('Expected argument of type norsk.api.media.HlsWebVttPushMessage');
|
|
@@ -1109,15 +1109,15 @@ var MediaService = exports.MediaService = {
|
|
|
1109
1109
|
responseSerialize: serialize_norsk_api_media_WebVttFileInputEvent,
|
|
1110
1110
|
responseDeserialize: deserialize_norsk_api_media_WebVttFileInputEvent,
|
|
1111
1111
|
},
|
|
1112
|
-
//
|
|
1112
|
+
//
|
|
1113
1113
|
// Creates an RTMP ingest Media Node. On creation, the Media Node is idle
|
|
1114
|
-
// and your code
|
|
1114
|
+
// and your code **must** send an `RtmpInputConfiguration`
|
|
1115
1115
|
// message to configure the RTMP server. When a remote client connects, an
|
|
1116
|
-
//
|
|
1117
|
-
// accept – by sending an
|
|
1118
|
-
// reject – by sending an
|
|
1116
|
+
// `RtmpConnection` message is sent, which the code can choose to
|
|
1117
|
+
// accept – by sending an `RtmpConnectionAccept` message or
|
|
1118
|
+
// reject – by sending an `RtmpConnectionReject` message.
|
|
1119
1119
|
// Once a connection is established, Norsk will continue to send appropriate
|
|
1120
|
-
//
|
|
1120
|
+
// `RtmpInputEvent` messages as events occur.
|
|
1121
1121
|
createRtmpInput: {
|
|
1122
1122
|
path: '/norsk.api.media.Media/CreateRtmpInput',
|
|
1123
1123
|
requestStream: true,
|
|
@@ -1129,7 +1129,9 @@ createRtmpInput: {
|
|
|
1129
1129
|
responseSerialize: serialize_norsk_api_media_RtmpInputEvent,
|
|
1130
1130
|
responseDeserialize: deserialize_norsk_api_media_RtmpInputEvent,
|
|
1131
1131
|
},
|
|
1132
|
-
|
|
1132
|
+
// *
|
|
1133
|
+
// Read from a Transport Stream file with realtime playback.
|
|
1134
|
+
createTsFileInput: {
|
|
1133
1135
|
path: '/norsk.api.media.Media/CreateTsFileInput',
|
|
1134
1136
|
requestStream: true,
|
|
1135
1137
|
responseStream: true,
|
|
@@ -1151,7 +1153,16 @@ createRtmpInput: {
|
|
|
1151
1153
|
responseSerialize: serialize_norsk_api_media_TestCardVideoGeneratorEvent,
|
|
1152
1154
|
responseDeserialize: deserialize_norsk_api_media_TestCardVideoGeneratorEvent,
|
|
1153
1155
|
},
|
|
1154
|
-
|
|
1156
|
+
// *
|
|
1157
|
+
// SDI/HDMI Input using a BlackMagic DeckLink card.
|
|
1158
|
+
// The available cards on the machine can be enumerated using the
|
|
1159
|
+
// `HardwareInfo` rpc.
|
|
1160
|
+
//
|
|
1161
|
+
// Multiple cards and both SDI and HDMI inputs are supported, with all DeckLink-supported
|
|
1162
|
+
// input resolutions and framerates are supported. The capture format is currently 8-bit only,
|
|
1163
|
+
// but 10-bit captures will be supported soon. All supported audio channels can be captured.
|
|
1164
|
+
// At present, additional data such as closed-captions and HDR metadata is not captured.
|
|
1165
|
+
createDeckLinkInput: {
|
|
1155
1166
|
path: '/norsk.api.media.Media/CreateDeckLinkInput',
|
|
1156
1167
|
requestStream: true,
|
|
1157
1168
|
responseStream: true,
|
|
@@ -1163,7 +1174,8 @@ createRtmpInput: {
|
|
|
1163
1174
|
responseDeserialize: deserialize_norsk_api_media_DeckLinkInputEvent,
|
|
1164
1175
|
},
|
|
1165
1176
|
// *
|
|
1166
|
-
//
|
|
1177
|
+
// Read an image from a file. Various image formats are supported, see the
|
|
1178
|
+
// documentation for `ImageFileInputConfiguration` for more details.
|
|
1167
1179
|
createImageFileInput: {
|
|
1168
1180
|
path: '/norsk.api.media.Media/CreateImageFileInput',
|
|
1169
1181
|
requestStream: false,
|
|
@@ -1188,7 +1200,9 @@ createMp4FileInput: {
|
|
|
1188
1200
|
responseSerialize: serialize_norsk_api_media_Mp4FileInputEvent,
|
|
1189
1201
|
responseDeserialize: deserialize_norsk_api_media_Mp4FileInputEvent,
|
|
1190
1202
|
},
|
|
1191
|
-
|
|
1203
|
+
// *
|
|
1204
|
+
// Generate a test audio signal with a configurable waveform.
|
|
1205
|
+
createAudioSignalGenerator: {
|
|
1192
1206
|
path: '/norsk.api.media.Media/CreateAudioSignalGenerator',
|
|
1193
1207
|
requestStream: false,
|
|
1194
1208
|
responseStream: true,
|
|
@@ -1199,7 +1213,9 @@ createMp4FileInput: {
|
|
|
1199
1213
|
responseSerialize: serialize_norsk_api_media_AudioSignalGeneratorEvent,
|
|
1200
1214
|
responseDeserialize: deserialize_norsk_api_media_AudioSignalGeneratorEvent,
|
|
1201
1215
|
},
|
|
1202
|
-
|
|
1216
|
+
// *
|
|
1217
|
+
// Video source from rendering an HTML page
|
|
1218
|
+
createBrowserInput: {
|
|
1203
1219
|
path: '/norsk.api.media.Media/CreateBrowserInput',
|
|
1204
1220
|
requestStream: true,
|
|
1205
1221
|
responseStream: true,
|
|
@@ -1221,7 +1237,9 @@ createMp4FileInput: {
|
|
|
1221
1237
|
responseSerialize: serialize_norsk_api_media_WhipInputEvent,
|
|
1222
1238
|
responseDeserialize: deserialize_norsk_api_media_WhipInputEvent,
|
|
1223
1239
|
},
|
|
1224
|
-
|
|
1240
|
+
// *
|
|
1241
|
+
// Stream from a SRT source
|
|
1242
|
+
createSrtInput: {
|
|
1225
1243
|
path: '/norsk.api.media.Media/CreateSrtInput',
|
|
1226
1244
|
requestStream: true,
|
|
1227
1245
|
responseStream: true,
|
|
@@ -1254,7 +1272,15 @@ createMp4FileInput: {
|
|
|
1254
1272
|
responseSerialize: serialize_norsk_api_media_TsInputEvent,
|
|
1255
1273
|
responseDeserialize: deserialize_norsk_api_media_TsInputEvent,
|
|
1256
1274
|
},
|
|
1257
|
-
|
|
1275
|
+
// *
|
|
1276
|
+
// A node to nudge the timestamps on a stream, which affects how it syncs
|
|
1277
|
+
// with other streams. Useful for correcting for drift between different
|
|
1278
|
+
// sources.
|
|
1279
|
+
//
|
|
1280
|
+
// Subsequent nudges, via the `nudge` method, are applied gradually.
|
|
1281
|
+
//
|
|
1282
|
+
// This functionality is also provided by a `nudge` method on many sources.
|
|
1283
|
+
createTimestampNudger: {
|
|
1258
1284
|
path: '/norsk.api.media.Media/CreateTimestampNudger',
|
|
1259
1285
|
requestStream: true,
|
|
1260
1286
|
responseStream: true,
|
|
@@ -1265,7 +1291,9 @@ createMp4FileInput: {
|
|
|
1265
1291
|
responseSerialize: serialize_norsk_api_media_TimestampNudgerEvent,
|
|
1266
1292
|
responseDeserialize: deserialize_norsk_api_media_TimestampNudgerEvent,
|
|
1267
1293
|
},
|
|
1268
|
-
|
|
1294
|
+
// *
|
|
1295
|
+
// Encode a video stream to one or more renditions
|
|
1296
|
+
createVideoEncodeLadder: {
|
|
1269
1297
|
path: '/norsk.api.media.Media/CreateVideoEncodeLadder',
|
|
1270
1298
|
requestStream: true,
|
|
1271
1299
|
responseStream: true,
|
|
@@ -1276,7 +1304,9 @@ createMp4FileInput: {
|
|
|
1276
1304
|
responseSerialize: serialize_norsk_api_media_VideoEncodeLadderEvent,
|
|
1277
1305
|
responseDeserialize: deserialize_norsk_api_media_VideoEncodeLadderEvent,
|
|
1278
1306
|
},
|
|
1279
|
-
|
|
1307
|
+
// *
|
|
1308
|
+
// Transform a video stream (rescale, etc)
|
|
1309
|
+
createVideoTransform: {
|
|
1280
1310
|
path: '/norsk.api.media.Media/CreateVideoTransform',
|
|
1281
1311
|
requestStream: true,
|
|
1282
1312
|
responseStream: true,
|
|
@@ -1287,7 +1317,9 @@ createMp4FileInput: {
|
|
|
1287
1317
|
responseSerialize: serialize_norsk_api_media_VideoTransformEvent,
|
|
1288
1318
|
responseDeserialize: deserialize_norsk_api_media_VideoTransformEvent,
|
|
1289
1319
|
},
|
|
1290
|
-
|
|
1320
|
+
// *
|
|
1321
|
+
// Interferes with a stream by dropping frames
|
|
1322
|
+
createChaosMonkey: {
|
|
1291
1323
|
path: '/norsk.api.media.Media/CreateChaosMonkey',
|
|
1292
1324
|
requestStream: true,
|
|
1293
1325
|
responseStream: true,
|
|
@@ -1298,7 +1330,9 @@ createMp4FileInput: {
|
|
|
1298
1330
|
responseSerialize: serialize_norsk_api_media_ChaosMonkeyEvent,
|
|
1299
1331
|
responseDeserialize: deserialize_norsk_api_media_ChaosMonkeyEvent,
|
|
1300
1332
|
},
|
|
1301
|
-
|
|
1333
|
+
// *
|
|
1334
|
+
// Encode an audio stream.
|
|
1335
|
+
createAudioEncoder: {
|
|
1302
1336
|
path: '/norsk.api.media.Media/CreateAudioEncoder',
|
|
1303
1337
|
requestStream: true,
|
|
1304
1338
|
responseStream: true,
|
|
@@ -1312,7 +1346,7 @@ createMp4FileInput: {
|
|
|
1312
1346
|
// *
|
|
1313
1347
|
// Create a Media Node composing multiple sources into one, eg to construct
|
|
1314
1348
|
// overlays, picture-in-picture or split-screen video.
|
|
1315
|
-
//
|
|
1349
|
+
//
|
|
1316
1350
|
// Individual sources may be cropped or scaled as part of this process
|
|
1317
1351
|
createComposeVideo: {
|
|
1318
1352
|
path: '/norsk.api.media.Media/CreateComposeVideo',
|
|
@@ -1325,7 +1359,10 @@ createComposeVideo: {
|
|
|
1325
1359
|
responseSerialize: serialize_norsk_api_media_ComposeVideoSourceEvent,
|
|
1326
1360
|
responseDeserialize: deserialize_norsk_api_media_ComposeVideoSourceEvent,
|
|
1327
1361
|
},
|
|
1328
|
-
|
|
1362
|
+
// *
|
|
1363
|
+
// Mix multiple audio streams together into a single output,
|
|
1364
|
+
// with optional gain control on each input.
|
|
1365
|
+
createAudioMixer: {
|
|
1329
1366
|
path: '/norsk.api.media.Media/CreateAudioMixer',
|
|
1330
1367
|
requestStream: true,
|
|
1331
1368
|
responseStream: true,
|
|
@@ -1336,7 +1373,9 @@ createComposeVideo: {
|
|
|
1336
1373
|
responseSerialize: serialize_norsk_api_media_AudioMixerEvent,
|
|
1337
1374
|
responseDeserialize: deserialize_norsk_api_media_AudioMixerEvent,
|
|
1338
1375
|
},
|
|
1339
|
-
|
|
1376
|
+
// *
|
|
1377
|
+
// Given an audio stream of N channels, mix it down to M channels through a matrix of NxM gains.
|
|
1378
|
+
createAudioMatrixMixer: {
|
|
1340
1379
|
path: '/norsk.api.media.Media/CreateAudioMatrixMixer',
|
|
1341
1380
|
requestStream: true,
|
|
1342
1381
|
responseStream: true,
|
|
@@ -1347,7 +1386,9 @@ createComposeVideo: {
|
|
|
1347
1386
|
responseSerialize: serialize_norsk_api_media_AudioMatrixMixerEvent,
|
|
1348
1387
|
responseDeserialize: deserialize_norsk_api_media_AudioMatrixMixerEvent,
|
|
1349
1388
|
},
|
|
1350
|
-
|
|
1389
|
+
// *
|
|
1390
|
+
// Apply gain to an audio stream
|
|
1391
|
+
createAudioGain: {
|
|
1351
1392
|
path: '/norsk.api.media.Media/CreateAudioGain',
|
|
1352
1393
|
requestStream: true,
|
|
1353
1394
|
responseStream: true,
|
|
@@ -1358,7 +1399,12 @@ createComposeVideo: {
|
|
|
1358
1399
|
responseSerialize: serialize_norsk_api_media_AudioGainEvent,
|
|
1359
1400
|
responseDeserialize: deserialize_norsk_api_media_AudioGainEvent,
|
|
1360
1401
|
},
|
|
1361
|
-
|
|
1402
|
+
// *
|
|
1403
|
+
// Aggregate many single-channel audio streams into a stream with the
|
|
1404
|
+
// specified channel layout. The streams must all have the same sample format
|
|
1405
|
+
// and sample rate. The order of the streams provided for the channels is
|
|
1406
|
+
// important.
|
|
1407
|
+
createAudioBuildMultichannel: {
|
|
1362
1408
|
path: '/norsk.api.media.Media/CreateAudioBuildMultichannel',
|
|
1363
1409
|
requestStream: true,
|
|
1364
1410
|
responseStream: true,
|
|
@@ -1369,7 +1415,11 @@ createComposeVideo: {
|
|
|
1369
1415
|
responseSerialize: serialize_norsk_api_media_AudioBuildMultichannelEvent,
|
|
1370
1416
|
responseDeserialize: deserialize_norsk_api_media_AudioBuildMultichannelEvent,
|
|
1371
1417
|
},
|
|
1372
|
-
|
|
1418
|
+
// *
|
|
1419
|
+
// Split a multichannel audio stream into its individual channels. The first
|
|
1420
|
+
// channel receives the specified stream key, and each subsequent channel
|
|
1421
|
+
// increments the stream id on the stream key.
|
|
1422
|
+
createAudioSplitMultichannel: {
|
|
1373
1423
|
path: '/norsk.api.media.Media/CreateAudioSplitMultichannel',
|
|
1374
1424
|
requestStream: true,
|
|
1375
1425
|
responseStream: true,
|
|
@@ -1394,14 +1444,14 @@ createAwsTranscribe: {
|
|
|
1394
1444
|
responseSerialize: serialize_norsk_api_media_AwsTranscribeEvent,
|
|
1395
1445
|
responseDeserialize: deserialize_norsk_api_media_AwsTranscribeEvent,
|
|
1396
1446
|
},
|
|
1397
|
-
|
|
1398
|
-
path: '/norsk.api.media.Media/
|
|
1447
|
+
createCmafVideoOutput: {
|
|
1448
|
+
path: '/norsk.api.media.Media/CreateCmafVideoOutput',
|
|
1399
1449
|
requestStream: true,
|
|
1400
1450
|
responseStream: true,
|
|
1401
|
-
requestType: media_pb.
|
|
1451
|
+
requestType: media_pb.CmafVideoMessage,
|
|
1402
1452
|
responseType: media_pb.HlsOutputEvent,
|
|
1403
|
-
requestSerialize:
|
|
1404
|
-
requestDeserialize:
|
|
1453
|
+
requestSerialize: serialize_norsk_api_media_CmafVideoMessage,
|
|
1454
|
+
requestDeserialize: deserialize_norsk_api_media_CmafVideoMessage,
|
|
1405
1455
|
responseSerialize: serialize_norsk_api_media_HlsOutputEvent,
|
|
1406
1456
|
responseDeserialize: deserialize_norsk_api_media_HlsOutputEvent,
|
|
1407
1457
|
},
|
|
@@ -1427,14 +1477,14 @@ createAwsTranscribe: {
|
|
|
1427
1477
|
responseSerialize: serialize_norsk_api_media_HlsOutputEvent,
|
|
1428
1478
|
responseDeserialize: deserialize_norsk_api_media_HlsOutputEvent,
|
|
1429
1479
|
},
|
|
1430
|
-
|
|
1431
|
-
path: '/norsk.api.media.Media/
|
|
1480
|
+
createCmafAudioOutput: {
|
|
1481
|
+
path: '/norsk.api.media.Media/CreateCmafAudioOutput',
|
|
1432
1482
|
requestStream: true,
|
|
1433
1483
|
responseStream: true,
|
|
1434
|
-
requestType: media_pb.
|
|
1484
|
+
requestType: media_pb.CmafAudioMessage,
|
|
1435
1485
|
responseType: media_pb.HlsOutputEvent,
|
|
1436
|
-
requestSerialize:
|
|
1437
|
-
requestDeserialize:
|
|
1486
|
+
requestSerialize: serialize_norsk_api_media_CmafAudioMessage,
|
|
1487
|
+
requestDeserialize: deserialize_norsk_api_media_CmafAudioMessage,
|
|
1438
1488
|
responseSerialize: serialize_norsk_api_media_HlsOutputEvent,
|
|
1439
1489
|
responseDeserialize: deserialize_norsk_api_media_HlsOutputEvent,
|
|
1440
1490
|
},
|
|
@@ -1449,14 +1499,14 @@ createAwsTranscribe: {
|
|
|
1449
1499
|
responseSerialize: serialize_norsk_api_media_HlsOutputEvent,
|
|
1450
1500
|
responseDeserialize: deserialize_norsk_api_media_HlsOutputEvent,
|
|
1451
1501
|
},
|
|
1452
|
-
|
|
1453
|
-
path: '/norsk.api.media.Media/
|
|
1502
|
+
createCmafWebVttOutput: {
|
|
1503
|
+
path: '/norsk.api.media.Media/CreateCmafWebVttOutput',
|
|
1454
1504
|
requestStream: true,
|
|
1455
1505
|
responseStream: true,
|
|
1456
|
-
requestType: media_pb.
|
|
1506
|
+
requestType: media_pb.CmafWebVttMessage,
|
|
1457
1507
|
responseType: media_pb.HlsOutputEvent,
|
|
1458
|
-
requestSerialize:
|
|
1459
|
-
requestDeserialize:
|
|
1508
|
+
requestSerialize: serialize_norsk_api_media_CmafWebVttMessage,
|
|
1509
|
+
requestDeserialize: deserialize_norsk_api_media_CmafWebVttMessage,
|
|
1460
1510
|
responseSerialize: serialize_norsk_api_media_HlsOutputEvent,
|
|
1461
1511
|
responseDeserialize: deserialize_norsk_api_media_HlsOutputEvent,
|
|
1462
1512
|
},
|
|
@@ -1493,14 +1543,14 @@ createAwsTranscribe: {
|
|
|
1493
1543
|
responseSerialize: serialize_norsk_api_media_HlsOutputEvent,
|
|
1494
1544
|
responseDeserialize: deserialize_norsk_api_media_HlsOutputEvent,
|
|
1495
1545
|
},
|
|
1496
|
-
|
|
1497
|
-
path: '/norsk.api.media.Media/
|
|
1546
|
+
createCmafMasterOutput: {
|
|
1547
|
+
path: '/norsk.api.media.Media/CreateCmafMasterOutput',
|
|
1498
1548
|
requestStream: true,
|
|
1499
1549
|
responseStream: true,
|
|
1500
|
-
requestType: media_pb.
|
|
1550
|
+
requestType: media_pb.CmafMasterMessage,
|
|
1501
1551
|
responseType: media_pb.HlsOutputEvent,
|
|
1502
|
-
requestSerialize:
|
|
1503
|
-
requestDeserialize:
|
|
1552
|
+
requestSerialize: serialize_norsk_api_media_CmafMasterMessage,
|
|
1553
|
+
requestDeserialize: deserialize_norsk_api_media_CmafMasterMessage,
|
|
1504
1554
|
responseSerialize: serialize_norsk_api_media_HlsOutputEvent,
|
|
1505
1555
|
responseDeserialize: deserialize_norsk_api_media_HlsOutputEvent,
|
|
1506
1556
|
},
|
|
@@ -1515,7 +1565,12 @@ createAwsTranscribe: {
|
|
|
1515
1565
|
responseSerialize: serialize_norsk_api_media_HlsOutputEvent,
|
|
1516
1566
|
responseDeserialize: deserialize_norsk_api_media_HlsOutputEvent,
|
|
1517
1567
|
},
|
|
1518
|
-
|
|
1568
|
+
// *
|
|
1569
|
+
// Playback audio/video via webrtc to a browser, and accept audio/video input from a browser.
|
|
1570
|
+
// The browser client must conform to a custom protocol as implemented in the hosted test page.
|
|
1571
|
+
// For general WebRTC ingest prefer the WHIP input node, and for egest to a downstream media server
|
|
1572
|
+
// use the WHIP output node.
|
|
1573
|
+
createLocalWebRTCOutput: {
|
|
1519
1574
|
path: '/norsk.api.media.Media/CreateLocalWebRTCOutput',
|
|
1520
1575
|
requestStream: true,
|
|
1521
1576
|
responseStream: true,
|
|
@@ -1570,7 +1625,9 @@ createAwsTranscribe: {
|
|
|
1570
1625
|
responseSerialize: serialize_norsk_api_media_RtmpOutputEvent,
|
|
1571
1626
|
responseDeserialize: deserialize_norsk_api_media_RtmpOutputEvent,
|
|
1572
1627
|
},
|
|
1573
|
-
|
|
1628
|
+
// *
|
|
1629
|
+
// Stream to a Transport Stream file.
|
|
1630
|
+
createTsFileOutput: {
|
|
1574
1631
|
path: '/norsk.api.media.Media/CreateTsFileOutput',
|
|
1575
1632
|
requestStream: true,
|
|
1576
1633
|
responseStream: true,
|
|
@@ -1581,7 +1638,21 @@ createAwsTranscribe: {
|
|
|
1581
1638
|
responseSerialize: serialize_norsk_api_media_TsFileOutputEvent,
|
|
1582
1639
|
responseDeserialize: deserialize_norsk_api_media_TsFileOutputEvent,
|
|
1583
1640
|
},
|
|
1584
|
-
|
|
1641
|
+
// *
|
|
1642
|
+
// Output MP4 files to disk, both fragmented and non-fragmented.
|
|
1643
|
+
//
|
|
1644
|
+
// The fragmented output is required.
|
|
1645
|
+
//
|
|
1646
|
+
// The optional non-fragmented filename will be written after sending
|
|
1647
|
+
// the `close` message and will be fully written by the time the node is
|
|
1648
|
+
// closed. This sets up a temp file to store the frame data by appending
|
|
1649
|
+
// the extension `.tmp`.
|
|
1650
|
+
//
|
|
1651
|
+
// A non-fragmented MP4 file can be written on request with the
|
|
1652
|
+
// `write_file` message, which uses the frame data store if
|
|
1653
|
+
// `nonfragmented_file_name` was given or reads
|
|
1654
|
+
// back the fragmented mp4 if there is no non-fragmented file.
|
|
1655
|
+
createMp4FileOutput: {
|
|
1585
1656
|
path: '/norsk.api.media.Media/CreateMp4FileOutput',
|
|
1586
1657
|
requestStream: true,
|
|
1587
1658
|
responseStream: true,
|
|
@@ -1592,7 +1663,10 @@ createAwsTranscribe: {
|
|
|
1592
1663
|
responseSerialize: serialize_norsk_api_media_Mp4FileOutputEvent,
|
|
1593
1664
|
responseDeserialize: deserialize_norsk_api_media_Mp4FileOutputEvent,
|
|
1594
1665
|
},
|
|
1595
|
-
|
|
1666
|
+
// *
|
|
1667
|
+
// Switch between multiple input sources via a hard cut. May be used to switch between
|
|
1668
|
+
// sources of possibly different configurations or without decoding.
|
|
1669
|
+
createHardSwitcher: {
|
|
1596
1670
|
path: '/norsk.api.media.Media/CreateHardSwitcher',
|
|
1597
1671
|
requestStream: true,
|
|
1598
1672
|
responseStream: true,
|
|
@@ -1603,7 +1677,9 @@ createAwsTranscribe: {
|
|
|
1603
1677
|
responseSerialize: serialize_norsk_api_media_HardSwitcherEvent,
|
|
1604
1678
|
responseDeserialize: deserialize_norsk_api_media_HardSwitcherEvent,
|
|
1605
1679
|
},
|
|
1606
|
-
|
|
1680
|
+
// *
|
|
1681
|
+
// Switch between multiple input sources without interruption, via a transition.
|
|
1682
|
+
createSmoothSwitcher: {
|
|
1607
1683
|
path: '/norsk.api.media.Media/CreateSmoothSwitcher',
|
|
1608
1684
|
requestStream: true,
|
|
1609
1685
|
responseStream: true,
|
|
@@ -1614,7 +1690,13 @@ createAwsTranscribe: {
|
|
|
1614
1690
|
responseSerialize: serialize_norsk_api_media_SmoothSwitcherEvent,
|
|
1615
1691
|
responseDeserialize: deserialize_norsk_api_media_SmoothSwitcherEvent,
|
|
1616
1692
|
},
|
|
1617
|
-
|
|
1693
|
+
// *
|
|
1694
|
+
// Provide a new stream key for a single stream. Cannot be subscribed to
|
|
1695
|
+
// multiple streams at once.
|
|
1696
|
+
//
|
|
1697
|
+
// The stream key is used for identifying streams within multiplexed sources
|
|
1698
|
+
// and also is translated into URIs for HLS playlists and other resources.
|
|
1699
|
+
createStreamKeyOverride: {
|
|
1618
1700
|
path: '/norsk.api.media.Media/CreateStreamKeyOverride',
|
|
1619
1701
|
requestStream: true,
|
|
1620
1702
|
responseStream: true,
|
|
@@ -1625,7 +1707,14 @@ createAwsTranscribe: {
|
|
|
1625
1707
|
responseSerialize: serialize_norsk_api_media_StreamKeyOverrideEvent,
|
|
1626
1708
|
responseDeserialize: deserialize_norsk_api_media_StreamKeyOverrideEvent,
|
|
1627
1709
|
},
|
|
1628
|
-
|
|
1710
|
+
// *
|
|
1711
|
+
// Override bitrate and language metadata on streams.
|
|
1712
|
+
//
|
|
1713
|
+
// Audio and video bitrate metadata is required for playlists for both
|
|
1714
|
+
// `CreateHlsMasterOutput` and `CreateHlsMasterPushOutput`
|
|
1715
|
+
// nodes. It is automatically configured for some sources (like RTMP) and in
|
|
1716
|
+
// cases where re-encoding is done, but is unset for other sources (like SRT).
|
|
1717
|
+
createMetadataOverride: {
|
|
1629
1718
|
path: '/norsk.api.media.Media/CreateMetadataOverride',
|
|
1630
1719
|
requestStream: true,
|
|
1631
1720
|
responseStream: true,
|
|
@@ -1636,7 +1725,11 @@ createAwsTranscribe: {
|
|
|
1636
1725
|
responseSerialize: serialize_norsk_api_media_MetadataOverrideEvent,
|
|
1637
1726
|
responseDeserialize: deserialize_norsk_api_media_MetadataOverrideEvent,
|
|
1638
1727
|
},
|
|
1639
|
-
|
|
1728
|
+
// *
|
|
1729
|
+
// Sync multiple streams together by timestamps, queuing frames from streams
|
|
1730
|
+
// that are behind the others. This is already included in most nodes,
|
|
1731
|
+
// especially outputs.
|
|
1732
|
+
createSync: {
|
|
1640
1733
|
path: '/norsk.api.media.Media/CreateSync',
|
|
1641
1734
|
requestStream: true,
|
|
1642
1735
|
responseStream: true,
|
|
@@ -1647,7 +1740,13 @@ createAwsTranscribe: {
|
|
|
1647
1740
|
responseSerialize: serialize_norsk_api_media_SyncEvent,
|
|
1648
1741
|
responseDeserialize: deserialize_norsk_api_media_SyncEvent,
|
|
1649
1742
|
},
|
|
1650
|
-
|
|
1743
|
+
// *
|
|
1744
|
+
// Record statistical information about media streams, including bitrate,
|
|
1745
|
+
// frame rate, and number of keyframes, measured over some configurable
|
|
1746
|
+
// sampling windows.
|
|
1747
|
+
//
|
|
1748
|
+
// Corresponding settings are found on many input and output nodes.
|
|
1749
|
+
createStreamStats: {
|
|
1651
1750
|
path: '/norsk.api.media.Media/CreateStreamStats',
|
|
1652
1751
|
requestStream: true,
|
|
1653
1752
|
responseStream: true,
|
|
@@ -1658,7 +1757,9 @@ createAwsTranscribe: {
|
|
|
1658
1757
|
responseSerialize: serialize_norsk_api_media_StreamStatsEvent,
|
|
1659
1758
|
responseDeserialize: deserialize_norsk_api_media_StreamStatsEvent,
|
|
1660
1759
|
},
|
|
1661
|
-
|
|
1760
|
+
// *
|
|
1761
|
+
// Monitor the volume of an audio stream
|
|
1762
|
+
createAudioLevels: {
|
|
1662
1763
|
path: '/norsk.api.media.Media/CreateAudioLevels',
|
|
1663
1764
|
requestStream: true,
|
|
1664
1765
|
responseStream: true,
|
|
@@ -1669,7 +1770,9 @@ createAwsTranscribe: {
|
|
|
1669
1770
|
responseSerialize: serialize_norsk_api_media_AudioLevelsEvent,
|
|
1670
1771
|
responseDeserialize: deserialize_norsk_api_media_AudioLevelsEvent,
|
|
1671
1772
|
},
|
|
1672
|
-
|
|
1773
|
+
// *
|
|
1774
|
+
// Stream from a remote RTP source
|
|
1775
|
+
createRtpInput: {
|
|
1673
1776
|
path: '/norsk.api.media.Media/CreateRtpInput',
|
|
1674
1777
|
requestStream: true,
|
|
1675
1778
|
responseStream: true,
|
|
@@ -1680,7 +1783,9 @@ createAwsTranscribe: {
|
|
|
1680
1783
|
responseSerialize: serialize_norsk_api_media_RtpInputEvent,
|
|
1681
1784
|
responseDeserialize: deserialize_norsk_api_media_RtpInputEvent,
|
|
1682
1785
|
},
|
|
1683
|
-
|
|
1786
|
+
// *
|
|
1787
|
+
// Query information about the hardware Norsk is running on.
|
|
1788
|
+
hardwareInfo: {
|
|
1684
1789
|
path: '/norsk.api.media.Media/HardwareInfo',
|
|
1685
1790
|
requestStream: false,
|
|
1686
1791
|
responseStream: false,
|