node-av 6.2.0-beta.32 → 6.2.0-beta.34
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/api/data/test_av1.ivf +0 -0
- package/dist/api/data/test_hevc.h265 +0 -0
- package/dist/api/data/test_vp9.ivf +0 -0
- package/dist/api/decoder.d.ts +76 -0
- package/dist/api/decoder.js +223 -1
- package/dist/api/decoder.js.map +1 -1
- package/dist/api/encoder.d.ts +27 -0
- package/dist/api/encoder.js +103 -70
- package/dist/api/encoder.js.map +1 -1
- package/dist/api/filter-presets.d.ts +3 -3
- package/dist/api/filter-presets.js +39 -5
- package/dist/api/filter-presets.js.map +1 -1
- package/dist/api/filter.d.ts +62 -3
- package/dist/api/filter.js +118 -36
- package/dist/api/filter.js.map +1 -1
- package/dist/api/fmp4-stream.js +26 -55
- package/dist/api/fmp4-stream.js.map +1 -1
- package/dist/api/hardware.js +12 -9
- package/dist/api/hardware.js.map +1 -1
- package/dist/api/rtp-stream.d.ts +21 -19
- package/dist/api/rtp-stream.js +126 -117
- package/dist/api/rtp-stream.js.map +1 -1
- package/dist/api/scaler.d.ts +17 -1
- package/dist/api/scaler.js +41 -10
- package/dist/api/scaler.js.map +1 -1
- package/dist/api/utilities/video-transcode.d.ts +201 -0
- package/dist/api/utilities/video-transcode.js +584 -0
- package/dist/api/utilities/video-transcode.js.map +1 -0
- package/package.json +13 -13
package/dist/api/rtp-stream.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { isRtcp, RtpPacket } from 'werift';
|
|
2
|
-
import { AV_CODEC_ID_HEVC, AV_HWDEVICE_TYPE_NONE,
|
|
2
|
+
import { AV_CODEC_ID_HEVC, AV_HWDEVICE_TYPE_NONE, AV_SAMPLE_FMT_FLTP } from '../constants/constants.js';
|
|
3
3
|
import { FF_ENCODER_LIBOPUS, FF_ENCODER_LIBX264, FF_ENCODER_LIBX265 } from '../constants/encoders.js';
|
|
4
4
|
import { Codec } from '../lib/codec.js';
|
|
5
5
|
import { Rational } from '../lib/rational.js';
|
|
6
|
-
import { avChannelLayoutDefault
|
|
6
|
+
import { avChannelLayoutDefault } from '../lib/utilities.js';
|
|
7
7
|
import { BitStreamFilterAPI } from './bitstream-filter.js';
|
|
8
8
|
import { MAX_PACKET_SIZE } from './constants.js';
|
|
9
9
|
import { Decoder } from './decoder.js';
|
|
@@ -14,9 +14,10 @@ import { FilterAPI } from './filter.js';
|
|
|
14
14
|
import { HardwareContext } from './hardware.js';
|
|
15
15
|
import { Muxer } from './muxer.js';
|
|
16
16
|
import { interruptibleFrameSource, pipeline } from './pipeline.js';
|
|
17
|
-
import { pickSupportedLayout,
|
|
17
|
+
import { pickSupportedLayout, pickSupportedRate, pickSupportedSampleFormat } from './utilities/codec-format.js';
|
|
18
18
|
import { configureLiveDecoderThreading } from './utilities/live-decoding.js';
|
|
19
19
|
import { resolveScaleSize } from './utilities/scale-size.js';
|
|
20
|
+
import { createVideoTranscodeFilter, findSoftwareEncoder, findUsableHardwareEncoder, openTranscodeDecoder } from './utilities/video-transcode.js';
|
|
20
21
|
/**
|
|
21
22
|
* Check whether a streaming-class input is a frame source (not a URL or Demuxer).
|
|
22
23
|
*
|
|
@@ -112,7 +113,6 @@ export class RTPStream {
|
|
|
112
113
|
signal;
|
|
113
114
|
supportedVideoCodecs;
|
|
114
115
|
supportedAudioCodecs;
|
|
115
|
-
videoKeyframeRequested = false;
|
|
116
116
|
abortHandler;
|
|
117
117
|
stopRequested = false;
|
|
118
118
|
stopPromise;
|
|
@@ -267,9 +267,9 @@ export class RTPStream {
|
|
|
267
267
|
*
|
|
268
268
|
* Used to answer receiver feedback (e.g. a WebRTC PLI) so a receiver that
|
|
269
269
|
* missed the stream start or lost packets can resync without waiting for the
|
|
270
|
-
* next scheduled GOP keyframe.
|
|
271
|
-
*
|
|
272
|
-
*
|
|
270
|
+
* next scheduled GOP keyframe. Effective whenever the video is encoded, from
|
|
271
|
+
* frame sources and from a transcoded URL or {@link Demuxer} input; a stream
|
|
272
|
+
* passed through keeps the source's keyframes.
|
|
273
273
|
*
|
|
274
274
|
* @example
|
|
275
275
|
* ```typescript
|
|
@@ -279,31 +279,7 @@ export class RTPStream {
|
|
|
279
279
|
* ```
|
|
280
280
|
*/
|
|
281
281
|
requestVideoKeyframe() {
|
|
282
|
-
this.
|
|
283
|
-
}
|
|
284
|
-
/**
|
|
285
|
-
* Pass video frames through, forcing a keyframe when one was requested.
|
|
286
|
-
*
|
|
287
|
-
* Sets `pictType = I` on the next frame after {@link requestVideoKeyframe};
|
|
288
|
-
* combined with the encoder's `forced-idr` option this produces an IDR the
|
|
289
|
-
* receiver can resync on.
|
|
290
|
-
*
|
|
291
|
-
* @param src - The user-provided video frame source
|
|
292
|
-
*
|
|
293
|
-
* @yields {Frame | null} The unchanged frames (with pictType forced when requested)
|
|
294
|
-
*
|
|
295
|
-
* @internal
|
|
296
|
-
*/
|
|
297
|
-
async *wrapVideoSource(src) {
|
|
298
|
-
// Pull through the interruptible wrapper: a frame source has no demuxer for
|
|
299
|
-
// stop() to interrupt, so without it a silent source blocks teardown.
|
|
300
|
-
for await (const frame of interruptibleFrameSource(src, this.stopSignal.promise)) {
|
|
301
|
-
if (frame && this.videoKeyframeRequested) {
|
|
302
|
-
this.videoKeyframeRequested = false;
|
|
303
|
-
frame.pictType = AV_PICTURE_TYPE_I;
|
|
304
|
-
}
|
|
305
|
-
yield frame;
|
|
306
|
-
}
|
|
282
|
+
this.videoEncoder?.requestKeyframe();
|
|
307
283
|
}
|
|
308
284
|
/**
|
|
309
285
|
* Start streaming media to RTP packets.
|
|
@@ -396,83 +372,40 @@ export class RTPStream {
|
|
|
396
372
|
else if (this.options.hardware.deviceType !== AV_HWDEVICE_TYPE_NONE) {
|
|
397
373
|
this.hardwareContext = HardwareContext.create(this.options.hardware.deviceType, this.options.hardware.device, this.options.hardware.options);
|
|
398
374
|
}
|
|
399
|
-
// Determine if we need filters by comparing with current stream properties
|
|
400
|
-
const currentWidth = videoStream.codecpar.width;
|
|
401
|
-
const currentHeight = videoStream.codecpar.height;
|
|
402
375
|
const currentFps = videoStream.avgFrameRate.num / videoStream.avgFrameRate.den;
|
|
403
|
-
const needsScale = (this.options.video.width !== undefined && this.options.video.width !== currentWidth) ||
|
|
404
|
-
(this.options.video.height !== undefined && this.options.video.height !== currentHeight);
|
|
405
376
|
const needsFps = this.options.video.fps !== undefined && isFinite(currentFps) && this.options.video.fps !== currentFps;
|
|
406
377
|
// Get first supported codec
|
|
407
378
|
const targetCodecId = this.options.supportedVideoCodecs[0];
|
|
408
379
|
if (!targetCodecId) {
|
|
409
380
|
throw new Error('No supported video codec specified for transcoding');
|
|
410
381
|
}
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
382
|
+
const { codecpar } = videoStream;
|
|
383
|
+
// a picture larger than the source only costs bitrate
|
|
384
|
+
const upscales = codecpar.width > 0 && ((this.options.video.width ?? 0) > codecpar.width || (this.options.video.height ?? 0) > codecpar.height);
|
|
385
|
+
const width = upscales ? -1 : (this.options.video.width ?? -1);
|
|
386
|
+
const height = upscales ? -1 : (this.options.video.height ?? -1);
|
|
387
|
+
// a GPU encodes up to a size of its own, test it with the size it will get
|
|
388
|
+
const outputSize = codecpar.width > 0 && codecpar.height > 0 ? resolveScaleSize(codecpar.width, codecpar.height, width, height) : undefined;
|
|
389
|
+
const encoderCodec = await this.findVideoEncoder(targetCodecId, outputSize);
|
|
418
390
|
if (!encoderCodec) {
|
|
419
391
|
throw new Error(`No encoder found for codec ID ${targetCodecId}`);
|
|
420
392
|
}
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
// Software scaling leaves the graph output format unconstrained, so swscale keeps the
|
|
424
|
-
// source format on both sides of the scale. Packed formats like yuyv422 can't be scaled
|
|
425
|
-
// in place (yuyv422 -> yuyv422 fails with ENOSYS), and the encoder wouldn't accept them
|
|
426
|
-
// anyway. Pin the output to yuv420p so the graph negotiates a real conversion: it is the
|
|
427
|
-
// one format every browser/player can decode over WebRTC (unlike e.g. the 4:2:2 High
|
|
428
|
-
// profile that a least-loss pick would choose for a yuyv422 source). Fall back to a
|
|
429
|
-
// codec-supported format only if the encoder genuinely can't take yuv420p. Hardware chains
|
|
430
|
-
// negotiate their format through the frames context instead.
|
|
431
|
-
const encoderFormats = encoderCodec.pixelFormats;
|
|
432
|
-
const softwareScaleFormat = !encoderFormats || encoderFormats.includes(AV_PIX_FMT_YUV420P)
|
|
433
|
-
? AV_PIX_FMT_YUV420P
|
|
434
|
-
: pickSupportedPixelFormat(videoStream.codecpar.format, encoderFormats);
|
|
435
|
-
// Hardware without a scaler (e.g. D3D11VA, MediaCodec) would skip the scale filter and
|
|
436
|
-
// keep the source size; scale on the CPU in the decoder instead, once frames left the GPU
|
|
437
|
-
const decoderScale = needsScale && !!this.hardwareContext && !FilterPreset.chain(this.hardwareContext).supports('scale');
|
|
438
|
-
this.videoDecoder = await Decoder.create(videoStream, {
|
|
393
|
+
this.throwIfStopRequested();
|
|
394
|
+
this.videoDecoder = await openTranscodeDecoder(videoStream, this.hardwareContext, {
|
|
439
395
|
exitOnError: false,
|
|
440
|
-
hardware: this.hardwareContext,
|
|
441
396
|
// Frame threading holds back one frame per thread before the first output
|
|
442
397
|
configure: configureLiveDecoderThreading,
|
|
443
|
-
...(decoderScale ? { rescale: { ...resolveScaleSize(currentWidth, currentHeight, targetWidth, targetHeight), pixelFormat: softwareScaleFormat } } : {}),
|
|
444
398
|
});
|
|
445
|
-
|
|
446
|
-
//
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
filterChain.filter('fps', { fps: this.options.video.fps });
|
|
456
|
-
}
|
|
457
|
-
if (filterScale && !this.hardwareContext) {
|
|
458
|
-
const targetFmtName = avGetPixFmtName(softwareScaleFormat);
|
|
459
|
-
if (targetFmtName) {
|
|
460
|
-
filterChain.filter('format', { pix_fmts: targetFmtName });
|
|
461
|
-
}
|
|
462
|
-
}
|
|
463
|
-
this.videoFilter = FilterAPI.create(filterChain.build(), {
|
|
464
|
-
hardware: this.hardwareContext,
|
|
465
|
-
});
|
|
466
|
-
}
|
|
467
|
-
let encoderOptions = {};
|
|
468
|
-
if (encoderCodec.name === FF_ENCODER_LIBX264 || encoderCodec.name === FF_ENCODER_LIBX265) {
|
|
469
|
-
encoderOptions.preset = 'ultrafast';
|
|
470
|
-
encoderOptions.tune = 'zerolatency';
|
|
471
|
-
}
|
|
472
|
-
encoderOptions = {
|
|
473
|
-
...encoderOptions,
|
|
474
|
-
...this.options.video.encoderOptions,
|
|
475
|
-
};
|
|
399
|
+
// The graph follows the frames: whether they come from the device and in
|
|
400
|
+
// which format shows only once they are decoded
|
|
401
|
+
this.videoFilter = createVideoTranscodeFilter({
|
|
402
|
+
width,
|
|
403
|
+
height,
|
|
404
|
+
fps: needsFps ? this.options.video.fps : undefined,
|
|
405
|
+
encoder: encoderCodec,
|
|
406
|
+
hardware: this.hardwareContext,
|
|
407
|
+
});
|
|
408
|
+
const encoderOptions = liveVideoEncoderOptions(encoderCodec.name, this.options.video.encoderOptions);
|
|
476
409
|
const bitrate = this.options.video.bitrate;
|
|
477
410
|
this.videoEncoder = await Encoder.create(encoderCodec, {
|
|
478
411
|
decoder: this.videoDecoder,
|
|
@@ -480,6 +413,10 @@ export class RTPStream {
|
|
|
480
413
|
maxBFrames: 0,
|
|
481
414
|
options: encoderOptions,
|
|
482
415
|
configure: (ctx) => {
|
|
416
|
+
// encoder defaults are 120 (VAAPI) or 250 frames (libx264, NVENC), a receiver that lost a packet waits that long;
|
|
417
|
+
// after the short probe the input rate is often unknown, the context has it from the frames
|
|
418
|
+
const fps = ctx.framerate.num > 0 ? ctx.framerate.num / ctx.framerate.den : 30;
|
|
419
|
+
ctx.gopSize = Math.max(1, Math.round(fps * 2));
|
|
483
420
|
this.applyBitrate(ctx, bitrate);
|
|
484
421
|
},
|
|
485
422
|
});
|
|
@@ -572,7 +509,8 @@ export class RTPStream {
|
|
|
572
509
|
*
|
|
573
510
|
* Sets the target bitrate together with a VBV cap (maxrate + a 1s buffer).
|
|
574
511
|
* Encoder.create() always seeds a default target bitrate (1 Mbps for video),
|
|
575
|
-
* so the target MUST be lowered along with the cap.
|
|
512
|
+
* so the target MUST be lowered along with the cap. Without a bitrate the
|
|
513
|
+
* target follows the picture size and frame rate, see {@link defaultVideoBitrate}.
|
|
576
514
|
*
|
|
577
515
|
* @param ctx - Encoder codec context
|
|
578
516
|
*
|
|
@@ -581,10 +519,7 @@ export class RTPStream {
|
|
|
581
519
|
* @internal
|
|
582
520
|
*/
|
|
583
521
|
applyBitrate(ctx, bitrate) {
|
|
584
|
-
|
|
585
|
-
return;
|
|
586
|
-
}
|
|
587
|
-
const rate = Math.round(bitrate);
|
|
522
|
+
const rate = Math.round(bitrate && bitrate > 0 ? bitrate : defaultVideoBitrate(ctx));
|
|
588
523
|
ctx.bitRate = BigInt(rate);
|
|
589
524
|
ctx.rcMaxRate = BigInt(rate);
|
|
590
525
|
ctx.rcBufferSize = rate;
|
|
@@ -696,25 +631,12 @@ export class RTPStream {
|
|
|
696
631
|
this.hardwareContext = HardwareContext.create(this.options.hardware.deviceType, this.options.hardware.device, this.options.hardware.options);
|
|
697
632
|
}
|
|
698
633
|
const targetCodecId = this.options.supportedVideoCodecs[0] ?? FF_ENCODER_LIBX264;
|
|
699
|
-
|
|
700
|
-
if (typeof targetCodecId === 'string') {
|
|
701
|
-
encoderCodec = Codec.findEncoderByName(targetCodecId);
|
|
702
|
-
}
|
|
703
|
-
else {
|
|
704
|
-
encoderCodec = this.hardwareContext?.getEncoderCodec(targetCodecId) ?? Codec.findEncoder(targetCodecId);
|
|
705
|
-
}
|
|
634
|
+
const encoderCodec = await this.findVideoEncoder(targetCodecId);
|
|
706
635
|
if (!encoderCodec) {
|
|
707
636
|
throw new Error(`No encoder found for video codec ${String(targetCodecId)}`);
|
|
708
637
|
}
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
encoderOptions.preset = 'ultrafast';
|
|
712
|
-
encoderOptions.tune = 'zerolatency';
|
|
713
|
-
// Make a requested keyframe (frame.pictType = I) an actual IDR, so a
|
|
714
|
-
// receiver that missed the stream start can resync (PLI handling).
|
|
715
|
-
encoderOptions['forced-idr'] = true;
|
|
716
|
-
}
|
|
717
|
-
encoderOptions = { ...encoderOptions, ...this.options.video.encoderOptions };
|
|
638
|
+
this.throwIfStopRequested();
|
|
639
|
+
const encoderOptions = liveVideoEncoderOptions(encoderCodec.name, this.options.video.encoderOptions);
|
|
718
640
|
let fps = this.options.video.fps ?? 20;
|
|
719
641
|
if (!isFinite(fps) || fps <= 0 || isNaN(fps)) {
|
|
720
642
|
fps = 20;
|
|
@@ -736,9 +658,13 @@ export class RTPStream {
|
|
|
736
658
|
this.applyBitrate(ctx, bitrate);
|
|
737
659
|
},
|
|
738
660
|
});
|
|
661
|
+
// Source frames may sit on another device or in a format the encoder rejects
|
|
662
|
+
this.videoFilter = createVideoTranscodeFilter({ width: -1, height: -1, encoder: encoderCodec, hardware: this.hardwareContext });
|
|
739
663
|
this.videoOutput = await this.createVideoOutput();
|
|
740
664
|
this.throwIfStopRequested();
|
|
741
|
-
|
|
665
|
+
// a frame source has no demuxer for stop() to interrupt, a silent one would block teardown
|
|
666
|
+
const video = interruptibleFrameSource(source.video, this.stopSignal.promise);
|
|
667
|
+
controls.push(pipeline(video, this.videoFilter, this.videoEncoder, this.videoOutput, opts));
|
|
742
668
|
}
|
|
743
669
|
// Audio
|
|
744
670
|
if (source.audio) {
|
|
@@ -1061,6 +987,27 @@ export class RTPStream {
|
|
|
1061
987
|
}
|
|
1062
988
|
return isSupported;
|
|
1063
989
|
}
|
|
990
|
+
/**
|
|
991
|
+
* Find the encoder for a target video codec, on the device when it works there.
|
|
992
|
+
*
|
|
993
|
+
* @param target - Codec ID, or the name of a specific encoder to use as it is
|
|
994
|
+
*
|
|
995
|
+
* @param size - The output size, when known before the first frame
|
|
996
|
+
*
|
|
997
|
+
* @param size.width - Width
|
|
998
|
+
*
|
|
999
|
+
* @param size.height - Height
|
|
1000
|
+
*
|
|
1001
|
+
* @returns The encoder, or null if none exists
|
|
1002
|
+
*
|
|
1003
|
+
* @internal
|
|
1004
|
+
*/
|
|
1005
|
+
async findVideoEncoder(target, size) {
|
|
1006
|
+
if (typeof target === 'string') {
|
|
1007
|
+
return Codec.findEncoderByName(target);
|
|
1008
|
+
}
|
|
1009
|
+
return (await findUsableHardwareEncoder(this.hardwareContext, target, this.options.video.encoderOptions, size)) ?? findSoftwareEncoder(target);
|
|
1010
|
+
}
|
|
1064
1011
|
/**
|
|
1065
1012
|
* Check if the given video codec is supported.
|
|
1066
1013
|
*
|
|
@@ -1155,4 +1102,66 @@ export class RTPStream {
|
|
|
1155
1102
|
return picked.mask.toString();
|
|
1156
1103
|
}
|
|
1157
1104
|
}
|
|
1105
|
+
/**
|
|
1106
|
+
* A bitrate that encodes the picture without blocking.
|
|
1107
|
+
*
|
|
1108
|
+
* Scales with the picture size and frame rate the encoder opens with, so a
|
|
1109
|
+
* transcode that only changes the codec keeps the quality of the source.
|
|
1110
|
+
* HEVC needs about 40% fewer bits than H.264 for the same picture.
|
|
1111
|
+
*
|
|
1112
|
+
* @param ctx - Encoder codec context with size and timing set
|
|
1113
|
+
*
|
|
1114
|
+
* @returns Bitrate in bits per second
|
|
1115
|
+
*
|
|
1116
|
+
* @internal
|
|
1117
|
+
*/
|
|
1118
|
+
function defaultVideoBitrate(ctx) {
|
|
1119
|
+
// without a frame rate the encoder reads the inverse time base as one
|
|
1120
|
+
const rate = ctx.framerate.num > 0 ? ctx.framerate : new Rational(ctx.timeBase.den, ctx.timeBase.num);
|
|
1121
|
+
const bitsPerPixel = ctx.codecId === AV_CODEC_ID_HEVC ? 0.06 : 0.1;
|
|
1122
|
+
return ctx.width * ctx.height * (rate.num / rate.den) * bitsPerPixel;
|
|
1123
|
+
}
|
|
1124
|
+
/**
|
|
1125
|
+
* Encoder options for live video: low-latency presets for x264/x265 and an IDR
|
|
1126
|
+
* for every requested keyframe, so a receiver that lost packets can resync.
|
|
1127
|
+
*
|
|
1128
|
+
* @param name - The encoder's name
|
|
1129
|
+
*
|
|
1130
|
+
* @param overrides - Caller options, applied last
|
|
1131
|
+
*
|
|
1132
|
+
* @returns The encoder options
|
|
1133
|
+
*
|
|
1134
|
+
* @internal
|
|
1135
|
+
*/
|
|
1136
|
+
function liveVideoEncoderOptions(name, overrides) {
|
|
1137
|
+
const options = {};
|
|
1138
|
+
if (name === FF_ENCODER_LIBX264 || name === FF_ENCODER_LIBX265) {
|
|
1139
|
+
options.preset = 'ultrafast';
|
|
1140
|
+
options.tune = 'zerolatency';
|
|
1141
|
+
}
|
|
1142
|
+
// VAAPI, D3D12 and VideoToolbox make a forced I frame an IDR without an option
|
|
1143
|
+
const forcedIdr = forcedIdrOption(name);
|
|
1144
|
+
if (forcedIdr) {
|
|
1145
|
+
options[forcedIdr] = true;
|
|
1146
|
+
}
|
|
1147
|
+
return { ...options, ...overrides };
|
|
1148
|
+
}
|
|
1149
|
+
/**
|
|
1150
|
+
* The option that makes an encoder emit a forced I frame (frame.pictType = I) as IDR.
|
|
1151
|
+
*
|
|
1152
|
+
* @param name - The encoder's name
|
|
1153
|
+
*
|
|
1154
|
+
* @returns The option, or null when the encoder needs none or has none
|
|
1155
|
+
*
|
|
1156
|
+
* @internal
|
|
1157
|
+
*/
|
|
1158
|
+
function forcedIdrOption(name) {
|
|
1159
|
+
if (name === FF_ENCODER_LIBX264 || name === FF_ENCODER_LIBX265 || name?.endsWith('_nvenc')) {
|
|
1160
|
+
return 'forced-idr';
|
|
1161
|
+
}
|
|
1162
|
+
if (name?.endsWith('_qsv') || name?.endsWith('_amf')) {
|
|
1163
|
+
return 'forced_idr';
|
|
1164
|
+
}
|
|
1165
|
+
return null;
|
|
1166
|
+
}
|
|
1158
1167
|
//# sourceMappingURL=rtp-stream.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtp-stream.js","sourceRoot":"","sources":["../../src/api/rtp-stream.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rtp-stream.js","sourceRoot":"","sources":["../../src/api/rtp-stream.ts"],"names":[],"mappings":"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"}
|
package/dist/api/scaler.d.ts
CHANGED
|
@@ -277,7 +277,23 @@ export declare class Scaler implements Disposable {
|
|
|
277
277
|
*/
|
|
278
278
|
close(): void;
|
|
279
279
|
/**
|
|
280
|
-
*
|
|
280
|
+
* Whether a frame has to be downloaded before it is cropped and scaled.
|
|
281
|
+
*
|
|
282
|
+
* Without a hardware context, or on a device without a GPU scaler, hardware
|
|
283
|
+
* frames are processed in software. The D3D11VA and D3D12VA scalers run on
|
|
284
|
+
* the GPU but ignore the crop, so only uncropped frames stay there.
|
|
285
|
+
*
|
|
286
|
+
* @param frame - Source frame
|
|
287
|
+
*
|
|
288
|
+
* @param crop - Requested crop region
|
|
289
|
+
*
|
|
290
|
+
* @returns True for a hardware frame the GPU graph cannot handle
|
|
291
|
+
*
|
|
292
|
+
* @internal
|
|
293
|
+
*/
|
|
294
|
+
private needsDownload;
|
|
295
|
+
/**
|
|
296
|
+
* Download a hardware frame to system memory for the software path.
|
|
281
297
|
*
|
|
282
298
|
* Allocates a fresh target per call - concurrent downloads must not share a
|
|
283
299
|
* staging frame. The frame's own hwframe context selects a supported software
|
package/dist/api/scaler.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AV_CODEC_FLAG_QSCALE, AV_HWDEVICE_TYPE_CUDA, AV_HWDEVICE_TYPE_OPENCL, AV_HWDEVICE_TYPE_QSV, AV_HWDEVICE_TYPE_VAAPI, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NV12, AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA, AV_PIX_FMT_YUV420P, AVCOL_RANGE_JPEG, FF_QP2LAMBDA, SWS_BILINEAR, } from '../constants/constants.js';
|
|
1
|
+
import { AV_CODEC_FLAG_QSCALE, AV_HWDEVICE_TYPE_CUDA, AV_HWDEVICE_TYPE_D3D11VA, AV_HWDEVICE_TYPE_D3D12VA, AV_HWDEVICE_TYPE_OPENCL, AV_HWDEVICE_TYPE_QSV, AV_HWDEVICE_TYPE_VAAPI, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NV12, AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA, AV_PIX_FMT_YUV420P, AVCOL_RANGE_JPEG, FF_QP2LAMBDA, SWS_BILINEAR, } from '../constants/constants.js';
|
|
2
2
|
import { FF_ENCODER_MJPEG, FF_ENCODER_PNG } from '../constants/encoders.js';
|
|
3
3
|
import { bindings } from '../lib/binding.js';
|
|
4
4
|
import { FFmpegError } from '../lib/error.js';
|
|
@@ -13,6 +13,12 @@ const FORMAT_TO_PIXFMT = {
|
|
|
13
13
|
nv12: AV_PIX_FMT_NV12,
|
|
14
14
|
yuv420p: AV_PIX_FMT_YUV420P,
|
|
15
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* Devices whose GPU scaler ignores the crop metadata (scale_d3d11, scale_d3d12).
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
const CROP_BLIND_DEVICES = [AV_HWDEVICE_TYPE_D3D11VA, AV_HWDEVICE_TYPE_D3D12VA];
|
|
16
22
|
/**
|
|
17
23
|
* High-level image scaler, cropper, and pixel-format converter.
|
|
18
24
|
*
|
|
@@ -107,9 +113,9 @@ export class Scaler {
|
|
|
107
113
|
}
|
|
108
114
|
if (frame.isHwFrame()) {
|
|
109
115
|
// With a hardware context, crop/scale/convert on the GPU and download only
|
|
110
|
-
// the small result. Without one,
|
|
111
|
-
// and processing it in software.
|
|
112
|
-
if (this.
|
|
116
|
+
// the small result. Without one, or where the GPU cannot do it, fall back to
|
|
117
|
+
// downloading the full frame and processing it in software.
|
|
118
|
+
if (!this.needsDownload(frame, options.crop)) {
|
|
113
119
|
const out = await this.toFrame(frame, options.crop, options.resize, options.format ?? 'nv12');
|
|
114
120
|
try {
|
|
115
121
|
return out.toBuffer(options.output);
|
|
@@ -157,7 +163,7 @@ export class Scaler {
|
|
|
157
163
|
throw new TypeError('output must be a Buffer');
|
|
158
164
|
}
|
|
159
165
|
if (frame.isHwFrame()) {
|
|
160
|
-
if (this.
|
|
166
|
+
if (!this.needsDownload(frame, options.crop)) {
|
|
161
167
|
const out = this.toFrameSync(frame, options.crop, options.resize, options.format ?? 'nv12');
|
|
162
168
|
try {
|
|
163
169
|
return out.toBuffer(options.output);
|
|
@@ -204,7 +210,7 @@ export class Scaler {
|
|
|
204
210
|
throw new Error('Scaler has been disposed');
|
|
205
211
|
}
|
|
206
212
|
const quality = options.quality ?? 90;
|
|
207
|
-
const downloaded =
|
|
213
|
+
const downloaded = this.needsDownload(frame, options.crop) ? await this.downloadToSoftware(frame) : null;
|
|
208
214
|
try {
|
|
209
215
|
// mjpeg wants planar YUV; tag it full-range so colors are correct without the
|
|
210
216
|
// deprecated yuvj* formats.
|
|
@@ -245,7 +251,7 @@ export class Scaler {
|
|
|
245
251
|
throw new Error('Scaler has been disposed');
|
|
246
252
|
}
|
|
247
253
|
const quality = options.quality ?? 90;
|
|
248
|
-
const downloaded =
|
|
254
|
+
const downloaded = this.needsDownload(frame, options.crop) ? this.downloadToSoftwareSync(frame) : null;
|
|
249
255
|
try {
|
|
250
256
|
const out = this.toFrameSync(downloaded ?? frame, options.crop, options.resize, 'yuv420p');
|
|
251
257
|
try {
|
|
@@ -287,7 +293,7 @@ export class Scaler {
|
|
|
287
293
|
throw new Error('Scaler has been disposed');
|
|
288
294
|
}
|
|
289
295
|
const format = options.format ?? 'rgb';
|
|
290
|
-
const downloaded =
|
|
296
|
+
const downloaded = this.needsDownload(frame, options.crop) ? await this.downloadToSoftware(frame) : null;
|
|
291
297
|
try {
|
|
292
298
|
const out = await this.toFrame(downloaded ?? frame, options.crop, options.resize, format);
|
|
293
299
|
try {
|
|
@@ -325,7 +331,7 @@ export class Scaler {
|
|
|
325
331
|
throw new Error('Scaler has been disposed');
|
|
326
332
|
}
|
|
327
333
|
const format = options.format ?? 'rgb';
|
|
328
|
-
const downloaded =
|
|
334
|
+
const downloaded = this.needsDownload(frame, options.crop) ? this.downloadToSoftwareSync(frame) : null;
|
|
329
335
|
try {
|
|
330
336
|
const out = this.toFrameSync(downloaded ?? frame, options.crop, options.resize, format);
|
|
331
337
|
try {
|
|
@@ -367,7 +373,32 @@ export class Scaler {
|
|
|
367
373
|
this.pngPool = undefined;
|
|
368
374
|
}
|
|
369
375
|
/**
|
|
370
|
-
*
|
|
376
|
+
* Whether a frame has to be downloaded before it is cropped and scaled.
|
|
377
|
+
*
|
|
378
|
+
* Without a hardware context, or on a device without a GPU scaler, hardware
|
|
379
|
+
* frames are processed in software. The D3D11VA and D3D12VA scalers run on
|
|
380
|
+
* the GPU but ignore the crop, so only uncropped frames stay there.
|
|
381
|
+
*
|
|
382
|
+
* @param frame - Source frame
|
|
383
|
+
*
|
|
384
|
+
* @param crop - Requested crop region
|
|
385
|
+
*
|
|
386
|
+
* @returns True for a hardware frame the GPU graph cannot handle
|
|
387
|
+
*
|
|
388
|
+
* @internal
|
|
389
|
+
*/
|
|
390
|
+
needsDownload(frame, crop) {
|
|
391
|
+
if (!frame.isHwFrame()) {
|
|
392
|
+
return false;
|
|
393
|
+
}
|
|
394
|
+
if (!this.hardware || !FilterPreset.chain(this.hardware).supports('scale')) {
|
|
395
|
+
return true;
|
|
396
|
+
}
|
|
397
|
+
const cropped = crop !== undefined && (crop.x !== 0 || crop.y !== 0 || crop.width !== frame.width || crop.height !== frame.height);
|
|
398
|
+
return cropped && CROP_BLIND_DEVICES.includes(this.hardware.deviceType);
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Download a hardware frame to system memory for the software path.
|
|
371
402
|
*
|
|
372
403
|
* Allocates a fresh target per call - concurrent downloads must not share a
|
|
373
404
|
* staging frame. The frame's own hwframe context selects a supported software
|