@adonis-agora/media 0.20.0 → 0.21.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/CHANGELOG.md +22 -0
- package/dist/src/define_config.d.ts +2 -2
- package/dist/src/define_config.d.ts.map +1 -1
- package/dist/src/define_config.js +2 -2
- package/dist/src/define_config.js.map +1 -1
- package/dist/src/errors.d.ts +16 -1
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +23 -2
- package/dist/src/errors.js.map +1 -1
- package/dist/src/index.d.ts +4 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/transformers/factory.d.ts +39 -0
- package/dist/src/transformers/factory.d.ts.map +1 -1
- package/dist/src/transformers/factory.js +20 -0
- package/dist/src/transformers/factory.js.map +1 -1
- package/dist/src/transformers/ffmpeg.d.ts +104 -0
- package/dist/src/transformers/ffmpeg.d.ts.map +1 -0
- package/dist/src/transformers/ffmpeg.js +207 -0
- package/dist/src/transformers/ffmpeg.js.map +1 -0
- package/dist/src/transformers/hls.d.ts +4 -1
- package/dist/src/transformers/hls.d.ts.map +1 -1
- package/dist/src/transformers/hls.js.map +1 -1
- package/dist/src/transformers/placeholder.d.ts +8 -0
- package/dist/src/transformers/placeholder.d.ts.map +1 -1
- package/dist/src/transformers/placeholder.js +7 -3
- package/dist/src/transformers/placeholder.js.map +1 -1
- package/dist/src/transformers/probe.d.ts +1 -1
- package/dist/src/transformers/probe.d.ts.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @adonis-agora/media
|
|
2
2
|
|
|
3
|
+
## 0.21.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#193](https://github.com/DavideCarvalho/adonis-agora-media/pull/193) [`ee1a275`](https://github.com/DavideCarvalho/adonis-agora-media/commit/ee1a2753b4b7e2056880e6ed8f91f43fdd676193) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - **ffmpeg engines for the HLS and probe transformers.** `engines.ffmpegHls()` and `engines.ffprobe()` plug into the existing `engine` option of `transformers.hls()` / `transformers.probe()` and spawn the system `ffmpeg` / `ffprobe` binaries. There is no npm dependency, and nothing is bundled.
|
|
8
|
+
|
|
9
|
+
- **Remux by default.** Without a ladder, `ffmpegHls()` does a stream copy, the same contract as the mediabunny engine.
|
|
10
|
+
- **`ladder` transcodes.** With `ladder: [{ height, videoBitrate, audioBitrate? }]` it encodes an h264/aac adaptive-bitrate ladder into one master playlist.
|
|
11
|
+
- Keyframes are forced on segment boundaries.
|
|
12
|
+
- Rungs taller than the source are dropped, so it never upscales.
|
|
13
|
+
- Ready-made ladders: `engines.ladders.standard` (360/720/1080p) and `engines.ladders.compact` (360/720p).
|
|
14
|
+
- This is the transcoding mediabunny can't do in Node without WebCodecs.
|
|
15
|
+
- **Same package shape.** The output is the shape the mediabunny engine writes (`index.m3u8` master, per-rendition playlists, MPEG-TS segments), so HLS delivery and playlist rewriting work unchanged.
|
|
16
|
+
- **Errors.**
|
|
17
|
+
- A missing binary throws `TransformerRuntimeMissingError`.
|
|
18
|
+
- A source with no video stream throws `HlsSourceUnsupportedError`, the same definitive signal the mediabunny engine gives, so callers branch on one error whatever the engine.
|
|
19
|
+
- Any other failed run throws the new `FfmpegFailedError` (`E_MEDIA_FFMPEG_FAILED`), carrying `exitCode` and the tail of `stderr`.
|
|
20
|
+
- `HlsSourceUnsupportedError` gains an optional `hint` constructor argument.
|
|
21
|
+
- **Validation.** The ladder is checked when the engine is built: heights must be positive even integers, and bitrates must parse.
|
|
22
|
+
- **ffprobe gaps.** The ffprobe engine reports `format` as ffprobe's `format_name` and does not report `mimeType`.
|
|
23
|
+
- **Also exported:** `ffmpegHlsEngine`, `ffprobeEngine`, `buildHlsArgs` and `effectiveLadder`, plus the `FfmpegRendition` / `FfmpegHlsEngineOptions` / `FfmpegBinaryOptions` types.
|
|
24
|
+
|
|
3
25
|
## 0.20.0
|
|
4
26
|
|
|
5
27
|
### Minor Changes
|
|
@@ -7,7 +7,7 @@ import type { ImageProcessorFactory } from './processors/factory.js';
|
|
|
7
7
|
import { processors } from './processors/factory.js';
|
|
8
8
|
import type { LucidStoreConfig, StoreContext, StoreFactory } from './stores/factory.js';
|
|
9
9
|
import { stores } from './stores/factory.js';
|
|
10
|
-
import { transformers } from './transformers/factory.js';
|
|
10
|
+
import { engines, transformers } from './transformers/factory.js';
|
|
11
11
|
import type { DirectUploadPolicy } from './types.js';
|
|
12
12
|
import type { UploadMode } from './upload_mode.js';
|
|
13
13
|
import type { LucidUploadSessionStoreConfig, UploadSessionStoreContext, UploadSessionStoreFactory } from './upload_sessions/factory.js';
|
|
@@ -274,5 +274,5 @@ export type InferTransformers<T extends MediaConfig> = NonNullable<CollectionOf<
|
|
|
274
274
|
*/
|
|
275
275
|
export type InferConversions<T extends MediaConfig> = NonNullable<CollectionOf<T>['conversions']>[number]['name'] | InferTransformers<T>;
|
|
276
276
|
export type { DeliveryMode, DiskFactory, ImageProcessorFactory, LucidStoreConfig, LucidUploadSessionStoreConfig, S3Credentials, S3DiskConfig, StoreContext, StoreFactory, UploadMode, UploadSessionStoreContext, UploadSessionStoreFactory, };
|
|
277
|
-
export { disks, processors, stores, transformers, uploadSessions };
|
|
277
|
+
export { disks, engines, processors, stores, transformers, uploadSessions };
|
|
278
278
|
//# sourceMappingURL=define_config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { disks } from './disks/factory.js';
|
|
2
2
|
import { processors } from './processors/factory.js';
|
|
3
3
|
import { stores } from './stores/factory.js';
|
|
4
|
-
import { transformers } from './transformers/factory.js';
|
|
4
|
+
import { engines, transformers } from './transformers/factory.js';
|
|
5
5
|
import { uploadSessions } from './upload_sessions/factory.js';
|
|
6
6
|
/**
|
|
7
7
|
* Identity helper giving `config/media.ts` full type-checking. The `const` type parameter keeps
|
|
@@ -11,5 +11,5 @@ import { uploadSessions } from './upload_sessions/factory.js';
|
|
|
11
11
|
export function defineConfig(config = {}) {
|
|
12
12
|
return config;
|
|
13
13
|
}
|
|
14
|
-
export { disks, processors, stores, transformers, uploadSessions };
|
|
14
|
+
export { disks, engines, processors, stores, transformers, uploadSessions };
|
|
15
15
|
//# sourceMappingURL=define_config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI3C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI3C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQlE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAgP9D;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAA8B,MAAM,GAAM,EAAO;IAC3E,OAAO,MAAM,CAAC;AAChB,CAAC;AAiDD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC"}
|
package/dist/src/errors.d.ts
CHANGED
|
@@ -127,7 +127,22 @@ export declare class ConversionArtifactMissingError extends Error {
|
|
|
127
127
|
*/
|
|
128
128
|
export declare class HlsSourceUnsupportedError extends Error {
|
|
129
129
|
readonly code = "E_MEDIA_HLS_SOURCE_UNSUPPORTED";
|
|
130
|
-
|
|
130
|
+
/**
|
|
131
|
+
* @param hint what the caller can do about it; defaults to the mediabunny/WebCodecs advice.
|
|
132
|
+
*/
|
|
133
|
+
constructor(details: string, hint?: string);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* An `ffmpeg` / `ffprobe` run (the `engines.ffmpegHls()` / `engines.ffprobe()` engines) exited
|
|
137
|
+
* non-zero or produced something unusable. Carries the exit code and the tail of stderr, which is
|
|
138
|
+
* where ffmpeg explains itself (an unsupported codec for a stream copy, a corrupt input).
|
|
139
|
+
*/
|
|
140
|
+
export declare class FfmpegFailedError extends Error {
|
|
141
|
+
readonly binary: string;
|
|
142
|
+
readonly exitCode: number | null;
|
|
143
|
+
readonly stderr: string;
|
|
144
|
+
readonly code = "E_MEDIA_FFMPEG_FAILED";
|
|
145
|
+
constructor(binary: string, exitCode: number | null, stderr: string);
|
|
131
146
|
}
|
|
132
147
|
export declare class ImageProcessorMissingError extends Error {
|
|
133
148
|
readonly code = "E_MEDIA_IMAGE_PROCESSOR_MISSING";
|
package/dist/src/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/src/errors.js
CHANGED
|
@@ -179,11 +179,32 @@ export class ConversionArtifactMissingError extends Error {
|
|
|
179
179
|
*/
|
|
180
180
|
export class HlsSourceUnsupportedError extends Error {
|
|
181
181
|
code = 'E_MEDIA_HLS_SOURCE_UNSUPPORTED';
|
|
182
|
-
|
|
183
|
-
|
|
182
|
+
/**
|
|
183
|
+
* @param hint what the caller can do about it; defaults to the mediabunny/WebCodecs advice.
|
|
184
|
+
*/
|
|
185
|
+
constructor(details, hint = 'Without an encoder (WebCodecs) the tracks can only be stream-copied, so an incompatible codec is definitive — re-encode the source to h264/aac, or configure `transformers.hls({ webcodecs })` with a WebCodecs implementation to enable the re-encode fallback.') {
|
|
186
|
+
super(`HLS remux is impossible for this source: ${details}. ${hint}`);
|
|
184
187
|
this.name = 'HlsSourceUnsupportedError';
|
|
185
188
|
}
|
|
186
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* An `ffmpeg` / `ffprobe` run (the `engines.ffmpegHls()` / `engines.ffprobe()` engines) exited
|
|
192
|
+
* non-zero or produced something unusable. Carries the exit code and the tail of stderr, which is
|
|
193
|
+
* where ffmpeg explains itself (an unsupported codec for a stream copy, a corrupt input).
|
|
194
|
+
*/
|
|
195
|
+
export class FfmpegFailedError extends Error {
|
|
196
|
+
binary;
|
|
197
|
+
exitCode;
|
|
198
|
+
stderr;
|
|
199
|
+
code = 'E_MEDIA_FFMPEG_FAILED';
|
|
200
|
+
constructor(binary, exitCode, stderr) {
|
|
201
|
+
super(`${binary} failed${exitCode === null ? '' : ` (exit code ${exitCode})`}: ${stderr.trim().split('\n').slice(-5).join('\n')}`);
|
|
202
|
+
this.binary = binary;
|
|
203
|
+
this.exitCode = exitCode;
|
|
204
|
+
this.stderr = stderr;
|
|
205
|
+
this.name = 'FfmpegFailedError';
|
|
206
|
+
}
|
|
207
|
+
}
|
|
187
208
|
export class ImageProcessorMissingError extends Error {
|
|
188
209
|
code = 'E_MEDIA_IMAGE_PROCESSOR_MISSING';
|
|
189
210
|
constructor() {
|
package/dist/src/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { Attachment, AttachmentManager, } from './attachment.js';
|
|
|
4
4
|
export type { ContentVerdict } from './content_type.js';
|
|
5
5
|
export { detectMimeType, isClosedSignatureWhitelist, isDetectableMimeType, SIGNATURE_HEAD_BYTES, verifyContentAgainstWhitelist, } from './content_type.js';
|
|
6
6
|
export type { DiskFactory, ImageProcessorFactory, InferConversions, InferTransformers, LucidStoreConfig, LucidUploadSessionStoreConfig, MediaConfig, MediaDeliveryConfig, MediaDirectUploadConfig, MediaResumableConfig, MediaUploadsConfig, S3Credentials, S3DiskConfig, StoreContext, StoreFactory, UploadMode, UploadSessionStoreContext, UploadSessionStoreFactory, } from './define_config.js';
|
|
7
|
-
export { defineConfig, disks, processors, stores, transformers, uploadSessions, } from './define_config.js';
|
|
7
|
+
export { defineConfig, disks, engines, processors, stores, transformers, uploadSessions, } from './define_config.js';
|
|
8
8
|
export type { DeliveryMode, DeliveryRequest, DeliveryResult, MediaDeliveryHandlerOptions, ResolvedDeliveryMode, } from './delivery.js';
|
|
9
9
|
export { DEFAULT_DELIVERY_SIGNED_TTL_SECONDS, MediaDeliveryHandler, resolveDeliveryMode, } from './delivery.js';
|
|
10
10
|
export type { AttachmentCreatePayload, AttachmentDeletePayload, AttachPayload, ConversionPayload, DeletePayload, MediaDiagnosticEvent, MediaDiagnosticPayloads, UploadAbortPayload, UploadCompletePayload, UploadProgressPayload, UploadStartPayload, } from './diagnostics.js';
|
|
@@ -16,7 +16,7 @@ export type { DriveBackedResolverOptions, DriveManagerLike, DriveServiceModule,
|
|
|
16
16
|
export { createDriveBackedResolver } from './disks/drive.js';
|
|
17
17
|
export type { PresignS3UrlInput, SigV4Credentials } from './disks/sigv4.js';
|
|
18
18
|
export { presignS3Url } from './disks/sigv4.js';
|
|
19
|
-
export { ContentSignatureUnrecognizedError, ContentTypeMismatchError, ConversionArtifactMissingError, ConversionNotDefinedError, DirectUploadsNotConfiguredError, DriveNotReadyError, HlsSourceUnsupportedError, ImageProcessorMissingError, MediaNotFoundError, MediaObjectMissingError, MimeNotAllowedError, ResumableUploadsNotConfiguredError, StoreNotConfiguredError, TransformerConflictError, TransformerNotDefinedError, TransformerOutputError, TransformerRuntimeMissingError, TransformNotReadyError, UnsafeFileNameError, UploadNotSupportedError, UploadOffsetConflictError, UploadPartOutOfRangeError, UploadPartSizeError, UploadPartsIncompleteError, UploadSessionExpiredError, UploadSessionNotFoundError, UploadSessionStoreNotConfiguredError, VariantNotFoundError, } from './errors.js';
|
|
19
|
+
export { ContentSignatureUnrecognizedError, ContentTypeMismatchError, ConversionArtifactMissingError, ConversionNotDefinedError, DirectUploadsNotConfiguredError, DriveNotReadyError, FfmpegFailedError, HlsSourceUnsupportedError, ImageProcessorMissingError, MediaNotFoundError, MediaObjectMissingError, MimeNotAllowedError, ResumableUploadsNotConfiguredError, StoreNotConfiguredError, TransformerConflictError, TransformerNotDefinedError, TransformerOutputError, TransformerRuntimeMissingError, TransformNotReadyError, UnsafeFileNameError, UploadNotSupportedError, UploadOffsetConflictError, UploadPartOutOfRangeError, UploadPartSizeError, UploadPartsIncompleteError, UploadSessionExpiredError, UploadSessionNotFoundError, UploadSessionStoreNotConfiguredError, VariantNotFoundError, } from './errors.js';
|
|
20
20
|
export { isExtendedDisk } from './extended_disk.js';
|
|
21
21
|
export { sanitizeFileName } from './file_name.js';
|
|
22
22
|
export type { HlsDeliveryHandlerOptions, HlsDeliveryRequest, HlsDeliveryResult, HlsFileRef, HlsUrlBuilder, } from './hls/delivery.js';
|
|
@@ -41,6 +41,8 @@ export { StorageManager } from './storage_manager.js';
|
|
|
41
41
|
export type { MediaTableNames } from './stores/lucid-schema.js';
|
|
42
42
|
export { createMediaTables, dropMediaTables } from './stores/lucid-schema.js';
|
|
43
43
|
export type { Transformer, TransformerContext, TransformerWriteOptions, TransformResult, } from './transformer.js';
|
|
44
|
+
export type { FfmpegBinaryOptions, FfmpegHlsEngineOptions, FfmpegRendition, } from './transformers/ffmpeg.js';
|
|
45
|
+
export { buildHlsArgs, effectiveLadder, ffmpegHlsEngine, ffprobeEngine, } from './transformers/ffmpeg.js';
|
|
44
46
|
export type { HlsRemuxEngine, HlsRemuxRequest, HlsRemuxSummary, HlsTransformerOptions, WebCodecsProvider, WebCodecsSupport, } from './transformers/hls.js';
|
|
45
47
|
export { HLS_ENTRY_PLAYLIST, HlsTransformer, resolveWebCodecsSupport } from './transformers/hls.js';
|
|
46
48
|
export type { ImagePlaceholder, PlaceholderEngine, PlaceholderOptions, PlaceholderTransformerOptions, } from './transformers/placeholder.js';
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -5,7 +5,7 @@ export { configure } from '../configure.js';
|
|
|
5
5
|
export { Attachment, AttachmentManager, } from './attachment.js';
|
|
6
6
|
// Real-content validation (magic-byte signatures behind `acceptsMimeTypes`)
|
|
7
7
|
export { detectMimeType, isClosedSignatureWhitelist, isDetectableMimeType, SIGNATURE_HEAD_BYTES, verifyContentAgainstWhitelist, } from './content_type.js';
|
|
8
|
-
export { defineConfig, disks, processors, stores, transformers, uploadSessions, } from './define_config.js';
|
|
8
|
+
export { defineConfig, disks, engines, processors, stores, transformers, uploadSessions, } from './define_config.js';
|
|
9
9
|
// Configurable delivery (the read-side counterpart to the upload modes)
|
|
10
10
|
export { DEFAULT_DELIVERY_SIGNED_TTL_SECONDS, MediaDeliveryHandler, resolveDeliveryMode, } from './delivery.js';
|
|
11
11
|
// Session-backed direct uploads (browser→S3 multipart with a persisted, resumable session)
|
|
@@ -17,7 +17,7 @@ export { createDriveBackedResolver } from './disks/drive.js';
|
|
|
17
17
|
// wiring presigned URLs outside the bundled disk)
|
|
18
18
|
export { presignS3Url } from './disks/sigv4.js';
|
|
19
19
|
// Errors
|
|
20
|
-
export { ContentSignatureUnrecognizedError, ContentTypeMismatchError, ConversionArtifactMissingError, ConversionNotDefinedError, DirectUploadsNotConfiguredError, DriveNotReadyError, HlsSourceUnsupportedError, ImageProcessorMissingError, MediaNotFoundError, MediaObjectMissingError, MimeNotAllowedError, ResumableUploadsNotConfiguredError, StoreNotConfiguredError, TransformerConflictError, TransformerNotDefinedError, TransformerOutputError, TransformerRuntimeMissingError, TransformNotReadyError, UnsafeFileNameError, UploadNotSupportedError, UploadOffsetConflictError, UploadPartOutOfRangeError, UploadPartSizeError, UploadPartsIncompleteError, UploadSessionExpiredError, UploadSessionNotFoundError, UploadSessionStoreNotConfiguredError, VariantNotFoundError, } from './errors.js';
|
|
20
|
+
export { ContentSignatureUnrecognizedError, ContentTypeMismatchError, ConversionArtifactMissingError, ConversionNotDefinedError, DirectUploadsNotConfiguredError, DriveNotReadyError, FfmpegFailedError, HlsSourceUnsupportedError, ImageProcessorMissingError, MediaNotFoundError, MediaObjectMissingError, MimeNotAllowedError, ResumableUploadsNotConfiguredError, StoreNotConfiguredError, TransformerConflictError, TransformerNotDefinedError, TransformerOutputError, TransformerRuntimeMissingError, TransformNotReadyError, UnsafeFileNameError, UploadNotSupportedError, UploadOffsetConflictError, UploadPartOutOfRangeError, UploadPartSizeError, UploadPartsIncompleteError, UploadSessionExpiredError, UploadSessionNotFoundError, UploadSessionStoreNotConfiguredError, VariantNotFoundError, } from './errors.js';
|
|
21
21
|
export { isExtendedDisk } from './extended_disk.js';
|
|
22
22
|
// Validates a client-supplied upload file name before it reaches a storage key; the same guard the
|
|
23
23
|
// built-in `keyFor` defaults and `MediaLibrary#layoutPath` run every file name through.
|
|
@@ -36,6 +36,7 @@ export { ResumableUploadManager } from './resumable_upload.js';
|
|
|
36
36
|
export { StorageManager } from './storage_manager.js';
|
|
37
37
|
// Schema helpers (ecosystem convention — lib owns its own schema; see `stores/lucid-schema.ts`)
|
|
38
38
|
export { createMediaTables, dropMediaTables } from './stores/lucid-schema.js';
|
|
39
|
+
export { buildHlsArgs, effectiveLadder, ffmpegHlsEngine, ffprobeEngine, } from './transformers/ffmpeg.js';
|
|
39
40
|
export { HLS_ENTRY_PLAYLIST, HlsTransformer, resolveWebCodecsSupport } from './transformers/hls.js';
|
|
40
41
|
export { PlaceholderTransformer, placeholderOf } from './transformers/placeholder.js';
|
|
41
42
|
export { MetadataProbeTransformer } from './transformers/probe.js';
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AAEf,4FAA4F;AAC5F,6BAA6B;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS5C,OAAO,EACL,UAAU,EACV,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,4EAA4E;AAC5E,OAAO,EACL,cAAc,EACd,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAqB3B,OAAO,EACL,YAAY,EACZ,KAAK,EACL,UAAU,EACV,MAAM,EACN,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAQ5B,wEAAwE;AACxE,OAAO,EACL,mCAAmC,EACnC,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAsBvB,2FAA2F;AAC3F,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAMjE,qGAAqG;AACrG,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,6FAA6F;AAC7F,kDAAkD;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,SAAS;AACT,OAAO,EACL,iCAAiC,EACjC,wBAAwB,EACxB,8BAA8B,EAC9B,yBAAyB,EACzB,+BAA+B,EAC/B,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,kCAAkC,EAClC,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,8BAA8B,EAC9B,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,oCAAoC,EACpC,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,mGAAmG;AACnG,wFAAwF;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,6EAA6E;AAC7E,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAShE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAQpD,0BAA0B;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,gGAAgG;AAChG,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ffmpegHlsEngine, ffprobeEngine } from './ffmpeg.js';
|
|
1
2
|
import { HlsTransformer, type HlsTransformerOptions } from './hls.js';
|
|
2
3
|
import { PlaceholderTransformer, type PlaceholderTransformerOptions } from './placeholder.js';
|
|
3
4
|
import { MetadataProbeTransformer, type MetadataProbeTransformerOptions } from './probe.js';
|
|
@@ -33,4 +34,42 @@ export declare const transformers: {
|
|
|
33
34
|
*/
|
|
34
35
|
placeholder<Name extends string = 'placeholder'>(options?: PlaceholderTransformerOptions<Name>): PlaceholderTransformer<Name>;
|
|
35
36
|
};
|
|
37
|
+
/**
|
|
38
|
+
* Alternative engines for the built-in transformers, plugged in through their `engine` option.
|
|
39
|
+
* The ffmpeg ones spawn the system `ffmpeg` / `ffprobe` binaries (nothing bundled, nothing to
|
|
40
|
+
* install from npm) and, unlike the default mediabunny engine, can **transcode** — an
|
|
41
|
+
* adaptive-bitrate ladder instead of a single stream copy:
|
|
42
|
+
*
|
|
43
|
+
* ```ts
|
|
44
|
+
* transformers.hls({ engine: engines.ffmpegHls({ ladder: engines.ladders.standard }) })
|
|
45
|
+
* transformers.probe({ engine: engines.ffprobe() })
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export declare const engines: {
|
|
49
|
+
/** HLS via system ffmpeg: remux by default, or encode `ladder` into a multi-rendition package. */
|
|
50
|
+
ffmpegHls: typeof ffmpegHlsEngine;
|
|
51
|
+
/** Metadata probe via system ffprobe. */
|
|
52
|
+
ffprobe: typeof ffprobeEngine;
|
|
53
|
+
/** Ready-made ladders for {@link ffmpegHlsEngine}: `standard` (360/720/1080p), `compact` (360/720p). */
|
|
54
|
+
ladders: {
|
|
55
|
+
standard: ({
|
|
56
|
+
height: number;
|
|
57
|
+
videoBitrate: string;
|
|
58
|
+
audioBitrate: string;
|
|
59
|
+
} | {
|
|
60
|
+
audioBitrate?: never;
|
|
61
|
+
height: number;
|
|
62
|
+
videoBitrate: string;
|
|
63
|
+
})[];
|
|
64
|
+
compact: ({
|
|
65
|
+
height: number;
|
|
66
|
+
videoBitrate: string;
|
|
67
|
+
audioBitrate: string;
|
|
68
|
+
} | {
|
|
69
|
+
audioBitrate?: never;
|
|
70
|
+
height: number;
|
|
71
|
+
videoBitrate: string;
|
|
72
|
+
})[];
|
|
73
|
+
};
|
|
74
|
+
};
|
|
36
75
|
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/transformers/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,KAAK,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,KAAK,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAE5F;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,YAAY;IACvB,+FAA+F;IAC/F,GAAG,CAAC,IAAI,SAAS,MAAM,GAAG,KAAK,YAAW,qBAAqB,CAAC,IAAI,CAAC;IAGrE,+FAA+F;IAC/F,KAAK,CAAC,IAAI,SAAS,MAAM,GAAG,OAAO,YAAW,+BAA+B,CAAC,IAAI,CAAC;IAGnF;;;OAGG;IACH,WAAW,CAAC,IAAI,SAAS,MAAM,GAAG,aAAa,YACpC,6BAA6B,CAAC,IAAI,CAAC;CAI/C,CAAC"}
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/transformers/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAW,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,KAAK,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,KAAK,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAE5F;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,YAAY;IACvB,+FAA+F;IAC/F,GAAG,CAAC,IAAI,SAAS,MAAM,GAAG,KAAK,YAAW,qBAAqB,CAAC,IAAI,CAAC;IAGrE,+FAA+F;IAC/F,KAAK,CAAC,IAAI,SAAS,MAAM,GAAG,OAAO,YAAW,+BAA+B,CAAC,IAAI,CAAC;IAGnF;;;OAGG;IACH,WAAW,CAAC,IAAI,SAAS,MAAM,GAAG,aAAa,YACpC,6BAA6B,CAAC,IAAI,CAAC;CAI/C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO;IAClB,kGAAkG;;IAElG,yCAAyC;;IAEzC,wGAAwG;;;;;;;;;;;;;;;;;;;;;CAEzG,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ffmpegHlsEngine, ffprobeEngine, ladders } from './ffmpeg.js';
|
|
1
2
|
import { HlsTransformer } from './hls.js';
|
|
2
3
|
import { PlaceholderTransformer } from './placeholder.js';
|
|
3
4
|
import { MetadataProbeTransformer } from './probe.js';
|
|
@@ -39,4 +40,23 @@ export const transformers = {
|
|
|
39
40
|
return new PlaceholderTransformer(options);
|
|
40
41
|
},
|
|
41
42
|
};
|
|
43
|
+
/**
|
|
44
|
+
* Alternative engines for the built-in transformers, plugged in through their `engine` option.
|
|
45
|
+
* The ffmpeg ones spawn the system `ffmpeg` / `ffprobe` binaries (nothing bundled, nothing to
|
|
46
|
+
* install from npm) and, unlike the default mediabunny engine, can **transcode** — an
|
|
47
|
+
* adaptive-bitrate ladder instead of a single stream copy:
|
|
48
|
+
*
|
|
49
|
+
* ```ts
|
|
50
|
+
* transformers.hls({ engine: engines.ffmpegHls({ ladder: engines.ladders.standard }) })
|
|
51
|
+
* transformers.probe({ engine: engines.ffprobe() })
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export const engines = {
|
|
55
|
+
/** HLS via system ffmpeg: remux by default, or encode `ladder` into a multi-rendition package. */
|
|
56
|
+
ffmpegHls: ffmpegHlsEngine,
|
|
57
|
+
/** Metadata probe via system ffprobe. */
|
|
58
|
+
ffprobe: ffprobeEngine,
|
|
59
|
+
/** Ready-made ladders for {@link ffmpegHlsEngine}: `standard` (360/720/1080p), `compact` (360/720p). */
|
|
60
|
+
ladders,
|
|
61
|
+
};
|
|
42
62
|
//# sourceMappingURL=factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/transformers/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA8B,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAsC,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAwC,MAAM,YAAY,CAAC;AAE5F;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,+FAA+F;IAC/F,GAAG,CAA8B,OAAO,GAAgC,EAAE;QACxE,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,+FAA+F;IAC/F,KAAK,CAAgC,OAAO,GAA0C,EAAE;QACtF,OAAO,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD;;;OAGG;IACH,WAAW,CACT,OAAO,GAAwC,EAAE;QAEjD,OAAO,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/transformers/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,cAAc,EAA8B,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAsC,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAwC,MAAM,YAAY,CAAC;AAE5F;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,+FAA+F;IAC/F,GAAG,CAA8B,OAAO,GAAgC,EAAE;QACxE,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,+FAA+F;IAC/F,KAAK,CAAgC,OAAO,GAA0C,EAAE;QACtF,OAAO,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD;;;OAGG;IACH,WAAW,CACT,OAAO,GAAwC,EAAE;QAEjD,OAAO,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,kGAAkG;IAClG,SAAS,EAAE,eAAe;IAC1B,yCAAyC;IACzC,OAAO,EAAE,aAAa;IACtB,wGAAwG;IACxG,OAAO;CACR,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import type { HlsRemuxEngine } from './hls.js';
|
|
2
|
+
import type { MediaProbeEngine } from './probe.js';
|
|
3
|
+
/**
|
|
4
|
+
* Engines backed by the system `ffmpeg` / `ffprobe` binaries — the alternative to the default
|
|
5
|
+
* mediabunny engines for hosts that have ffmpeg installed. What ffmpeg buys over mediabunny is
|
|
6
|
+
* **encoding**: mediabunny can only stream-copy in Node (no WebCodecs), while ffmpeg can transcode
|
|
7
|
+
* any source it decodes into an adaptive-bitrate ladder.
|
|
8
|
+
*
|
|
9
|
+
* Plug them into the existing transformers through their `engine` seam:
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* import { engines, transformers } from '@adonis-agora/media'
|
|
13
|
+
*
|
|
14
|
+
* transformers: [
|
|
15
|
+
* transformers.hls({ engine: engines.ffmpegHls({ ladder: engines.ladders.standard }) }),
|
|
16
|
+
* transformers.probe({ engine: engines.ffprobe() }),
|
|
17
|
+
* ]
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* No npm dependency: the binaries are spawned, never bundled. A missing binary surfaces as
|
|
21
|
+
* {@link TransformerRuntimeMissingError}; a failing run as {@link FfmpegFailedError} carrying the
|
|
22
|
+
* tail of ffmpeg's stderr.
|
|
23
|
+
*/
|
|
24
|
+
/** One rung of an adaptive-bitrate ladder. */
|
|
25
|
+
export interface FfmpegRendition {
|
|
26
|
+
/** Output height in px; the width follows the source aspect ratio (rounded to even). */
|
|
27
|
+
height: number;
|
|
28
|
+
/** Target video bitrate, ffmpeg syntax (`'2800k'`, `'5M'`). Caps peak rate at 1.5× this. */
|
|
29
|
+
videoBitrate: string;
|
|
30
|
+
/** Audio bitrate, ffmpeg syntax. Default `'128k'`. */
|
|
31
|
+
audioBitrate?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface FfmpegBinaryOptions {
|
|
34
|
+
/** Path or name of the `ffmpeg` binary. Default `'ffmpeg'` (resolved on `PATH`). */
|
|
35
|
+
ffmpegPath?: string;
|
|
36
|
+
/** Path or name of the `ffprobe` binary. Default `'ffprobe'` (resolved on `PATH`). */
|
|
37
|
+
ffprobePath?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface FfmpegHlsEngineOptions extends FfmpegBinaryOptions {
|
|
40
|
+
/**
|
|
41
|
+
* Renditions to encode. Omit for **remux** (stream copy, no re-encode — fast, but the source must
|
|
42
|
+
* already be MPEG-TS compatible, e.g. h264/aac). With a ladder, every rendition is transcoded to
|
|
43
|
+
* h264/aac and listed in the master playlist. Rungs taller than the source are dropped (never
|
|
44
|
+
* upscale); if every rung is taller, the smallest one is kept at the source height.
|
|
45
|
+
*/
|
|
46
|
+
ladder?: FfmpegRendition[];
|
|
47
|
+
/** x264 preset when transcoding. Default `'veryfast'`. */
|
|
48
|
+
preset?: string;
|
|
49
|
+
/** Extra ffmpeg arguments, inserted right before the HLS muxer options. */
|
|
50
|
+
extraArgs?: string[];
|
|
51
|
+
}
|
|
52
|
+
/** Ready-made ladders. */
|
|
53
|
+
export declare const ladders: {
|
|
54
|
+
/** 360p / 720p / 1080p — a sane default for course videos. */
|
|
55
|
+
standard: ({
|
|
56
|
+
height: number;
|
|
57
|
+
videoBitrate: string;
|
|
58
|
+
audioBitrate: string;
|
|
59
|
+
} | {
|
|
60
|
+
audioBitrate?: never;
|
|
61
|
+
height: number;
|
|
62
|
+
videoBitrate: string;
|
|
63
|
+
})[];
|
|
64
|
+
/** 360p / 720p — lighter on storage and encode time. */
|
|
65
|
+
compact: ({
|
|
66
|
+
height: number;
|
|
67
|
+
videoBitrate: string;
|
|
68
|
+
audioBitrate: string;
|
|
69
|
+
} | {
|
|
70
|
+
audioBitrate?: never;
|
|
71
|
+
height: number;
|
|
72
|
+
videoBitrate: string;
|
|
73
|
+
})[];
|
|
74
|
+
};
|
|
75
|
+
/** The rungs actually encoded for a source of `sourceHeight` px: never upscale, never empty. */
|
|
76
|
+
export declare function effectiveLadder(ladder: FfmpegRendition[], sourceHeight: number | undefined): FfmpegRendition[];
|
|
77
|
+
/**
|
|
78
|
+
* Build the ffmpeg argument list for one HLS run. Exported for tests and for anyone wrapping the
|
|
79
|
+
* engine; `renditions` empty means remux.
|
|
80
|
+
*/
|
|
81
|
+
export declare function buildHlsArgs(input: {
|
|
82
|
+
sourcePath: string;
|
|
83
|
+
outputDir: string;
|
|
84
|
+
entryName: string;
|
|
85
|
+
targetDuration: number;
|
|
86
|
+
hasAudio: boolean;
|
|
87
|
+
renditions: FfmpegRendition[];
|
|
88
|
+
preset: string;
|
|
89
|
+
extraArgs: string[];
|
|
90
|
+
}): string[];
|
|
91
|
+
/**
|
|
92
|
+
* {@link HlsRemuxEngine} backed by the system ffmpeg: remux by default, or an adaptive-bitrate
|
|
93
|
+
* ladder when `ladder` is set. The output is the same shape the mediabunny engine produces — a
|
|
94
|
+
* master playlist at `entryName` plus per-rendition playlists and MPEG-TS segments — so delivery
|
|
95
|
+
* (`MediaHlsDeliveryHandler`, playlist rewriting) works unchanged.
|
|
96
|
+
*/
|
|
97
|
+
export declare function ffmpegHlsEngine(options?: FfmpegHlsEngineOptions): HlsRemuxEngine;
|
|
98
|
+
/**
|
|
99
|
+
* {@link MediaProbeEngine} backed by the system ffprobe. Differences from the mediabunny probe:
|
|
100
|
+
* `format` is ffprobe's `format_name` (e.g. `'mov,mp4,m4a,3gp,3g2,mj2'`), and `mimeType` is not
|
|
101
|
+
* reported — ffprobe has no MIME/codecs-string notion; the record's own `mimeType` still applies.
|
|
102
|
+
*/
|
|
103
|
+
export declare function ffprobeEngine(options?: Pick<FfmpegBinaryOptions, 'ffprobePath'>): MediaProbeEngine;
|
|
104
|
+
//# sourceMappingURL=ffmpeg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ffmpeg.d.ts","sourceRoot":"","sources":["../../../src/transformers/ffmpeg.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAoC,MAAM,UAAU,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAqB,MAAM,YAAY,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,wFAAwF;IACxF,MAAM,EAAE,MAAM,CAAC;IACf,4FAA4F;IAC5F,YAAY,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE;;;;;OAKG;IACH,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAMD,0BAA0B;AAC1B,eAAO,MAAM,OAAO;IAClB,8DAA8D;;;;;;;;;;IAM9D,wDAAwD;;;;;;;;;;CAKb,CAAC;AA0G9C,gGAAgG;AAChG,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,EAAE,EACzB,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,eAAe,EAAE,CAOnB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,GAAG,MAAM,EAAE,CAgEX;AAWD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,cAAc,CAqDpF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,GAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAM,GACrD,gBAAgB,CAOlB"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { FfmpegFailedError, HlsSourceUnsupportedError, TransformerRuntimeMissingError, } from '../errors.js';
|
|
4
|
+
/** The rendition name ffmpeg's `%v` expands to; playlist `playlist-0.m3u8`, segments `segment-0-3.ts`. */
|
|
5
|
+
const PLAYLIST_PATTERN = 'playlist-%v.m3u8';
|
|
6
|
+
const SEGMENT_PATTERN = 'segment-%v-%d.ts';
|
|
7
|
+
/** Ready-made ladders. */
|
|
8
|
+
export const ladders = {
|
|
9
|
+
/** 360p / 720p / 1080p — a sane default for course videos. */
|
|
10
|
+
standard: [
|
|
11
|
+
{ height: 360, videoBitrate: '800k', audioBitrate: '96k' },
|
|
12
|
+
{ height: 720, videoBitrate: '2800k' },
|
|
13
|
+
{ height: 1080, videoBitrate: '5000k' },
|
|
14
|
+
],
|
|
15
|
+
/** 360p / 720p — lighter on storage and encode time. */
|
|
16
|
+
compact: [
|
|
17
|
+
{ height: 360, videoBitrate: '800k', audioBitrate: '96k' },
|
|
18
|
+
{ height: 720, videoBitrate: '2800k' },
|
|
19
|
+
],
|
|
20
|
+
};
|
|
21
|
+
/** Run a binary to completion, collecting stdout and the tail of stderr. */
|
|
22
|
+
function run(binary, args, transformerName) {
|
|
23
|
+
return new Promise((resolve, reject) => {
|
|
24
|
+
const child = spawn(binary, args, { stdio: ['ignore', 'pipe', 'pipe'] });
|
|
25
|
+
const out = [];
|
|
26
|
+
let err = '';
|
|
27
|
+
child.stdout.on('data', (chunk) => out.push(chunk));
|
|
28
|
+
child.stderr.on('data', (chunk) => {
|
|
29
|
+
// ffmpeg is chatty on stderr; only the end explains a failure.
|
|
30
|
+
err = (err + chunk.toString()).slice(-4000);
|
|
31
|
+
});
|
|
32
|
+
child.on('error', (error) => {
|
|
33
|
+
if (error.code === 'ENOENT') {
|
|
34
|
+
reject(new TransformerRuntimeMissingError(transformerName, `the '${binary}' binary`, 'Install ffmpeg on the host (e.g. `apt-get install ffmpeg`, `apk add ffmpeg`) or point `ffmpegPath`/`ffprobePath` at it.'));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
reject(error);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
child.on('close', (code) => {
|
|
41
|
+
if (code === 0)
|
|
42
|
+
resolve({ stdout: Buffer.concat(out).toString(), stderr: err });
|
|
43
|
+
else
|
|
44
|
+
reject(new FfmpegFailedError(binary, code, err));
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
async function probeSource(ffprobePath, sourcePath, transformerName) {
|
|
49
|
+
const { stdout } = await run(ffprobePath, ['-v', 'error', '-print_format', 'json', '-show_format', '-show_streams', sourcePath], transformerName);
|
|
50
|
+
let parsed;
|
|
51
|
+
try {
|
|
52
|
+
parsed = JSON.parse(stdout);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
throw new FfmpegFailedError(ffprobePath, 0, `unparseable ffprobe output: ${stdout.slice(0, 200)}`);
|
|
56
|
+
}
|
|
57
|
+
const streams = parsed.streams ?? [];
|
|
58
|
+
const video = streams.find((s) => s.codec_type === 'video');
|
|
59
|
+
const audio = streams.find((s) => s.codec_type === 'audio');
|
|
60
|
+
const summary = { hasVideo: Boolean(video), hasAudio: Boolean(audio) };
|
|
61
|
+
if (parsed.format?.format_name)
|
|
62
|
+
summary.format = parsed.format.format_name;
|
|
63
|
+
const duration = Number(parsed.format?.duration);
|
|
64
|
+
if (Number.isFinite(duration))
|
|
65
|
+
summary.durationSeconds = duration;
|
|
66
|
+
if (video) {
|
|
67
|
+
// Phone videos store landscape frames plus a rotation; report the size as displayed.
|
|
68
|
+
const rotation = Math.abs(Number(video.side_data_list?.find((d) => d.rotation !== undefined)?.rotation ??
|
|
69
|
+
video.tags?.rotate ??
|
|
70
|
+
0));
|
|
71
|
+
const swap = rotation === 90 || rotation === 270;
|
|
72
|
+
if (video.width !== undefined && video.height !== undefined) {
|
|
73
|
+
summary.width = swap ? video.height : video.width;
|
|
74
|
+
summary.height = swap ? video.width : video.height;
|
|
75
|
+
}
|
|
76
|
+
summary.videoCodec = video.codec_name ?? null;
|
|
77
|
+
}
|
|
78
|
+
if (audio) {
|
|
79
|
+
summary.audioCodec = audio.codec_name ?? null;
|
|
80
|
+
const sampleRate = Number(audio.sample_rate);
|
|
81
|
+
if (Number.isFinite(sampleRate))
|
|
82
|
+
summary.audioSampleRate = sampleRate;
|
|
83
|
+
if (audio.channels !== undefined)
|
|
84
|
+
summary.audioChannels = audio.channels;
|
|
85
|
+
}
|
|
86
|
+
return summary;
|
|
87
|
+
}
|
|
88
|
+
/** The rungs actually encoded for a source of `sourceHeight` px: never upscale, never empty. */
|
|
89
|
+
export function effectiveLadder(ladder, sourceHeight) {
|
|
90
|
+
const sorted = [...ladder].sort((a, b) => a.height - b.height);
|
|
91
|
+
if (!sourceHeight)
|
|
92
|
+
return sorted;
|
|
93
|
+
const fitting = sorted.filter((r) => r.height <= sourceHeight);
|
|
94
|
+
if (fitting.length > 0)
|
|
95
|
+
return fitting;
|
|
96
|
+
const smallest = sorted[0];
|
|
97
|
+
return smallest ? [{ ...smallest, height: sourceHeight - (sourceHeight % 2) }] : [];
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Build the ffmpeg argument list for one HLS run. Exported for tests and for anyone wrapping the
|
|
101
|
+
* engine; `renditions` empty means remux.
|
|
102
|
+
*/
|
|
103
|
+
export function buildHlsArgs(input) {
|
|
104
|
+
const { sourcePath, outputDir, entryName, targetDuration, hasAudio, renditions, preset } = input;
|
|
105
|
+
const args = ['-hide_banner', '-y', '-i', sourcePath];
|
|
106
|
+
const streamMap = [];
|
|
107
|
+
if (renditions.length === 0) {
|
|
108
|
+
args.push('-map', '0:v:0');
|
|
109
|
+
if (hasAudio)
|
|
110
|
+
args.push('-map', '0:a:0');
|
|
111
|
+
args.push('-c', 'copy');
|
|
112
|
+
streamMap.push(hasAudio ? 'v:0,a:0' : 'v:0');
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
const n = renditions.length;
|
|
116
|
+
const splits = renditions.map((_, i) => `[v${i}]`).join('');
|
|
117
|
+
const scales = renditions.map((r, i) => `[v${i}]scale=-2:${r.height}[v${i}o]`).join(';');
|
|
118
|
+
args.push('-filter_complex', `[0:v:0]split=${n}${splits};${scales}`);
|
|
119
|
+
renditions.forEach((r, i) => {
|
|
120
|
+
const peak = `${Math.round(parseBitrate(r.videoBitrate) * 1.5)}`;
|
|
121
|
+
args.push('-map', `[v${i}o]`, `-c:v:${i}`, 'libx264', `-b:v:${i}`, r.videoBitrate, `-maxrate:v:${i}`, peak, `-bufsize:v:${i}`, `${Number(peak) * 2}`);
|
|
122
|
+
if (hasAudio) {
|
|
123
|
+
args.push('-map', '0:a:0', `-c:a:${i}`, 'aac', `-b:a:${i}`, r.audioBitrate ?? '128k');
|
|
124
|
+
}
|
|
125
|
+
streamMap.push(hasAudio ? `v:${i},a:${i}` : `v:${i}`);
|
|
126
|
+
});
|
|
127
|
+
// Segment boundaries must land on keyframes for every rendition to switch cleanly.
|
|
128
|
+
args.push('-preset', preset, '-pix_fmt', 'yuv420p', '-sc_threshold', '0', '-force_key_frames', `expr:gte(t,n_forced*${targetDuration})`);
|
|
129
|
+
}
|
|
130
|
+
args.push(...input.extraArgs, '-f', 'hls', '-hls_time', String(targetDuration), '-hls_playlist_type', 'vod', '-hls_segment_filename', join(outputDir, SEGMENT_PATTERN), '-master_pl_name', entryName, '-var_stream_map', streamMap.join(' '), join(outputDir, PLAYLIST_PATTERN));
|
|
131
|
+
return args;
|
|
132
|
+
}
|
|
133
|
+
/** `'2800k'` → 2_800_000. Plain numbers pass through. */
|
|
134
|
+
function parseBitrate(value) {
|
|
135
|
+
const match = /^(\d+(?:\.\d+)?)([kKmM]?)$/.exec(value.trim());
|
|
136
|
+
if (!match)
|
|
137
|
+
throw new Error(`Invalid bitrate "${value}" (expected e.g. '800k', '5M', '128000')`);
|
|
138
|
+
const n = Number(match[1]);
|
|
139
|
+
const unit = match[2]?.toLowerCase();
|
|
140
|
+
return unit === 'k' ? n * 1_000 : unit === 'm' ? n * 1_000_000 : n;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* {@link HlsRemuxEngine} backed by the system ffmpeg: remux by default, or an adaptive-bitrate
|
|
144
|
+
* ladder when `ladder` is set. The output is the same shape the mediabunny engine produces — a
|
|
145
|
+
* master playlist at `entryName` plus per-rendition playlists and MPEG-TS segments — so delivery
|
|
146
|
+
* (`MediaHlsDeliveryHandler`, playlist rewriting) works unchanged.
|
|
147
|
+
*/
|
|
148
|
+
export function ffmpegHlsEngine(options = {}) {
|
|
149
|
+
const ffmpegPath = options.ffmpegPath ?? 'ffmpeg';
|
|
150
|
+
const ffprobePath = options.ffprobePath ?? 'ffprobe';
|
|
151
|
+
// Validate the ladder while the config is in hand — a bad rung would otherwise fail deep inside
|
|
152
|
+
// libx264 with a cryptic error on the first transcode.
|
|
153
|
+
for (const r of options.ladder ?? []) {
|
|
154
|
+
if (!Number.isInteger(r.height) || r.height <= 0 || r.height % 2 !== 0) {
|
|
155
|
+
throw new Error(`Invalid rendition height ${r.height} (expected a positive even integer — h264 needs even dimensions)`);
|
|
156
|
+
}
|
|
157
|
+
parseBitrate(r.videoBitrate);
|
|
158
|
+
if (r.audioBitrate !== undefined)
|
|
159
|
+
parseBitrate(r.audioBitrate);
|
|
160
|
+
}
|
|
161
|
+
return {
|
|
162
|
+
async remux(request) {
|
|
163
|
+
const summary = await probeSource(ffprobePath, request.sourcePath, 'hls');
|
|
164
|
+
// Same definitive signal the mediabunny engine gives for an unusable source, so callers
|
|
165
|
+
// branch on one error regardless of engine (and don't retry an audio-only file forever).
|
|
166
|
+
if (!summary.hasVideo) {
|
|
167
|
+
throw new HlsSourceUnsupportedError('the source has no video stream', 'HLS packaging needs a video track; this file is audio-only or not a video.');
|
|
168
|
+
}
|
|
169
|
+
const renditions = options.ladder ? effectiveLadder(options.ladder, summary.height) : [];
|
|
170
|
+
await run(ffmpegPath, buildHlsArgs({
|
|
171
|
+
sourcePath: request.sourcePath,
|
|
172
|
+
outputDir: request.outputDir,
|
|
173
|
+
entryName: request.entryName,
|
|
174
|
+
targetDuration: request.targetDuration,
|
|
175
|
+
hasAudio: summary.hasAudio,
|
|
176
|
+
renditions,
|
|
177
|
+
preset: options.preset ?? 'veryfast',
|
|
178
|
+
extraArgs: options.extraArgs ?? [],
|
|
179
|
+
}), 'hls');
|
|
180
|
+
const result = {};
|
|
181
|
+
if (summary.durationSeconds !== undefined)
|
|
182
|
+
result.durationSeconds = summary.durationSeconds;
|
|
183
|
+
if (summary.width !== undefined)
|
|
184
|
+
result.width = summary.width;
|
|
185
|
+
if (summary.height !== undefined)
|
|
186
|
+
result.height = summary.height;
|
|
187
|
+
result.videoCodec = renditions.length > 0 ? 'h264' : (summary.videoCodec ?? null);
|
|
188
|
+
if (summary.hasAudio)
|
|
189
|
+
result.audioCodec = renditions.length > 0 ? 'aac' : (summary.audioCodec ?? null);
|
|
190
|
+
return result;
|
|
191
|
+
},
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* {@link MediaProbeEngine} backed by the system ffprobe. Differences from the mediabunny probe:
|
|
196
|
+
* `format` is ffprobe's `format_name` (e.g. `'mov,mp4,m4a,3gp,3g2,mj2'`), and `mimeType` is not
|
|
197
|
+
* reported — ffprobe has no MIME/codecs-string notion; the record's own `mimeType` still applies.
|
|
198
|
+
*/
|
|
199
|
+
export function ffprobeEngine(options = {}) {
|
|
200
|
+
const ffprobePath = options.ffprobePath ?? 'ffprobe';
|
|
201
|
+
return {
|
|
202
|
+
async probe(sourcePath) {
|
|
203
|
+
return probeSource(ffprobePath, sourcePath, 'probe');
|
|
204
|
+
},
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=ffmpeg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ffmpeg.js","sourceRoot":"","sources":["../../../src/transformers/ffmpeg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,cAAc,CAAC;AAyDtB,0GAA0G;AAC1G,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAC5C,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAE3C,0BAA0B;AAC1B,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,8DAA8D;IAC9D,QAAQ,EAAE;QACR,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE;QAC1D,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE;QACtC,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE;KACxC;IACD,wDAAwD;IACxD,OAAO,EAAE;QACP,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE;QAC1D,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE;KACvC;CAC0C,CAAC;AAE9C,4EAA4E;AAC5E,SAAS,GAAG,CACV,MAAc,EACd,IAAc,EACd,eAAuB;IAEvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,+DAA+D;YAC/D,GAAG,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;YACjD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,CACJ,IAAI,8BAA8B,CAChC,eAAe,EACf,QAAQ,MAAM,UAAU,EACxB,yHAAyH,CAC1H,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,KAAK,CAAC;gBAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;;gBAC3E,MAAM,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAkBD,KAAK,UAAU,WAAW,CACxB,WAAmB,EACnB,UAAkB,EAClB,eAAuB;IAEvB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAC1B,WAAW,EACX,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,CAAC,EACrF,eAAe,CAChB,CAAC;IACF,IAAI,MAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAkB,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,iBAAiB,CACzB,WAAW,EACX,CAAC,EACD,+BAA+B,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACtD,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC;IAE5D,MAAM,OAAO,GAAsB,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1F,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW;QAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;IAC3E,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClE,IAAI,KAAK,EAAE,CAAC;QACV,qFAAqF;QACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,MAAM,CACJ,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE,QAAQ;YACnE,KAAK,CAAC,IAAI,EAAE,MAAM;YAClB,CAAC,CACJ,CACF,CAAC;QACF,MAAM,IAAI,GAAG,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,GAAG,CAAC;QACjD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5D,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;YAClD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QACrD,CAAC;QACD,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;IAChD,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;QAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,CAAC,eAAe,GAAG,UAAU,CAAC;QACtE,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC3E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,eAAe,CAC7B,MAAyB,EACzB,YAAgC;IAEhC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,CAAC,YAAY;QAAE,OAAO,MAAM,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,YAAY,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAS5B;IACC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACjG,MAAM,IAAI,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACtD,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3B,IAAI,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;QAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;QACrE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,IAAI,CACP,MAAM,EACN,KAAK,CAAC,IAAI,EACV,QAAQ,CAAC,EAAE,EACX,SAAS,EACT,QAAQ,CAAC,EAAE,EACX,CAAC,CAAC,YAAY,EACd,cAAc,CAAC,EAAE,EACjB,IAAI,EACJ,cAAc,CAAC,EAAE,EACjB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACtB,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC;YACxF,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,mFAAmF;QACnF,IAAI,CAAC,IAAI,CACP,SAAS,EACT,MAAM,EACN,UAAU,EACV,SAAS,EACT,eAAe,EACf,GAAG,EACH,mBAAmB,EACnB,uBAAuB,cAAc,GAAG,CACzC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAI,CACP,GAAG,KAAK,CAAC,SAAS,EAClB,IAAI,EACJ,KAAK,EACL,WAAW,EACX,MAAM,CAAC,cAAc,CAAC,EACtB,oBAAoB,EACpB,KAAK,EACL,uBAAuB,EACvB,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAChC,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EACnB,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAClC,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yDAAyD;AACzD,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,KAAK,GAAG,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,0CAA0C,CAAC,CAAC;IACjG,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IACrC,OAAO,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAO,GAA2B,EAAE;IAClE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,SAAS,CAAC;IACrD,gGAAgG;IAChG,uDAAuD;IACvD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CACb,4BAA4B,CAAC,CAAC,MAAM,kEAAkE,CACvG,CAAC;QACJ,CAAC;QACD,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS;YAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACjE,CAAC;IAED,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,OAAwB;YAClC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC1E,wFAAwF;YACxF,yFAAyF;YACzF,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACtB,MAAM,IAAI,yBAAyB,CACjC,gCAAgC,EAChC,4EAA4E,CAC7E,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,MAAM,GAAG,CACP,UAAU,EACV,YAAY,CAAC;gBACX,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU;gBACV,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,UAAU;gBACpC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;aACnC,CAAC,EACF,KAAK,CACN,CAAC;YAEF,MAAM,MAAM,GAAoB,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;gBAAE,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;YAC5F,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;gBAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACjE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;YAClF,IAAI,OAAO,CAAC,QAAQ;gBAClB,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;YACnF,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAO,GAA6C,EAAE;IAEtD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,SAAS,CAAC;IACrD,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,UAAkB;YAC5B,OAAO,WAAW,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -66,7 +66,10 @@ export interface HlsTransformerOptions<Name extends string = 'hls'> {
|
|
|
66
66
|
targetDuration?: number;
|
|
67
67
|
/** WebCodecs implementation for the re-encode fallback (see {@link WebCodecsProvider}). */
|
|
68
68
|
webcodecs?: WebCodecsProvider;
|
|
69
|
-
/**
|
|
69
|
+
/**
|
|
70
|
+
* Replace the mediabunny engine — e.g. `engines.ffmpegHls({ ladder })` to transcode an
|
|
71
|
+
* adaptive-bitrate ladder with the system ffmpeg, or your own {@link HlsRemuxEngine}.
|
|
72
|
+
*/
|
|
70
73
|
engine?: HlsRemuxEngine;
|
|
71
74
|
}
|
|
72
75
|
/** File name of the entry (master) playlist an {@link HlsTransformer} produces. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hls.d.ts","sourceRoot":"","sources":["../../../src/transformers/hls.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAI1F;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEvE,gGAAgG;AAChG,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEhE;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAI3B;AAED,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,SAAS,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC3C;AAED,sGAAsG;AACtG,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,qBAAqB,CAAC,IAAI,SAAS,MAAM,GAAG,KAAK;IAChE,sDAAsD;IACtD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B
|
|
1
|
+
{"version":3,"file":"hls.d.ts","sourceRoot":"","sources":["../../../src/transformers/hls.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAI1F;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEvE,gGAAgG;AAChG,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEhE;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAI3B;AAED,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,SAAS,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC3C;AAED,sGAAsG;AACtG,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,qBAAqB,CAAC,IAAI,SAAS,MAAM,GAAG,KAAK;IAChE,sDAAsD;IACtD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,cAAc,CAAC,IAAI,SAAS,MAAM,GAAG,KAAK,CAAE,YAAW,WAAW;IAC7E,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IAEpD,YAAY,OAAO,GAAE,qBAAqB,CAAC,IAAI,CAAM,EAMpD;IAEK,SAAS,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CA6CrE;CACF;AAED,iGAAiG;AACjG,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hls.js","sourceRoot":"","sources":["../../../src/transformers/hls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAqBlD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAA4B;IAE5B,IAAK,UAAsC,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACxF,IAAI,QAAQ,IAAI,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IACjF,OAAO,QAAQ,CAAC;AAClB,CAAC;
|
|
1
|
+
{"version":3,"file":"hls.js","sourceRoot":"","sources":["../../../src/transformers/hls.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,4 +82,12 @@ export declare class PlaceholderTransformer<Name extends string = 'placeholder'>
|
|
|
82
82
|
* ```
|
|
83
83
|
*/
|
|
84
84
|
export declare function placeholderOf(record: MediaRecord): ImagePlaceholder | null;
|
|
85
|
+
/**
|
|
86
|
+
* sharp-backed {@link PlaceholderEngine}, importing the optional peer on first use.
|
|
87
|
+
*
|
|
88
|
+
* @internal `importSharp` is the seam tests use to simulate a host without the peer.
|
|
89
|
+
*/
|
|
90
|
+
export declare function loadSharpPlaceholderEngine(transformerName: string, importSharp?: () => Promise<{
|
|
91
|
+
default: typeof import('sharp').default;
|
|
92
|
+
}>): Promise<PlaceholderEngine>;
|
|
85
93
|
//# sourceMappingURL=placeholder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placeholder.d.ts","sourceRoot":"","sources":["../../../src/transformers/placeholder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE1F,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,mGAAmG;IACnG,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrF;AAED,MAAM,WAAW,6BAA6B,CAAC,IAAI,SAAS,MAAM,GAAG,aAAa;IAChF,8DAA8D;IAC9D,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iGAAiG;IACjG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,sBAAsB,CAAC,IAAI,SAAS,MAAM,GAAG,aAAa,CAAE,YAAW,WAAW;IAC7F,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IAEvD,YAAY,OAAO,GAAE,6BAA6B,CAAC,IAAI,CAAM,EAK5D;IAEK,SAAS,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAQrE;CACF;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB,GAAG,IAAI,CAmB1E"}
|
|
1
|
+
{"version":3,"file":"placeholder.d.ts","sourceRoot":"","sources":["../../../src/transformers/placeholder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE1F,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,mGAAmG;IACnG,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrF;AAED,MAAM,WAAW,6BAA6B,CAAC,IAAI,SAAS,MAAM,GAAG,aAAa;IAChF,8DAA8D;IAC9D,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iGAAiG;IACjG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,sBAAsB,CAAC,IAAI,SAAS,MAAM,GAAG,aAAa,CAAE,YAAW,WAAW;IAC7F,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IAEvD,YAAY,OAAO,GAAE,6BAA6B,CAAC,IAAI,CAAM,EAK5D;IAEK,SAAS,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAQrE;CACF;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB,GAAG,IAAI,CAmB1E;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,eAAe,EAAE,MAAM,EACvB,WAAW,GAAE,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,cAAc,OAAO,EAAE,OAAO,CAAA;CAAE,CAAyB,GAC9F,OAAO,CAAC,iBAAiB,CAAC,CA8C5B"}
|
|
@@ -67,11 +67,15 @@ export function placeholderOf(record) {
|
|
|
67
67
|
}
|
|
68
68
|
return null;
|
|
69
69
|
}
|
|
70
|
-
/**
|
|
71
|
-
|
|
70
|
+
/**
|
|
71
|
+
* sharp-backed {@link PlaceholderEngine}, importing the optional peer on first use.
|
|
72
|
+
*
|
|
73
|
+
* @internal `importSharp` is the seam tests use to simulate a host without the peer.
|
|
74
|
+
*/
|
|
75
|
+
export async function loadSharpPlaceholderEngine(transformerName, importSharp = () => import('sharp')) {
|
|
72
76
|
let sharp;
|
|
73
77
|
try {
|
|
74
|
-
sharp = (await
|
|
78
|
+
sharp = (await importSharp()).default;
|
|
75
79
|
}
|
|
76
80
|
catch (error) {
|
|
77
81
|
// Only a missing `sharp` itself — a broken install missing a transitive dep must surface as is.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placeholder.js","sourceRoot":"","sources":["../../../src/transformers/placeholder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAqD9D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,sBAAsB;IACxB,IAAI,CAAO;IACX,KAAK,CAAU;IACP,OAAO,CAAqB;IAC5B,MAAM,CAAgC;IAEvD,YAAY,OAAO,GAAwC,EAAE;QAC3D,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAK,aAAsB,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC5E,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAA2B;QACzC,6FAA6F;QAC7F,6FAA6F;QAC7F,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC5F,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClF,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,WAAW,EAAE,EAAE,CAAC;IACtC,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,MAAmB;IAC/C,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,IACE,IAAI;YACJ,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YAChC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAC5B,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAe;gBAC3B,MAAM,EAAE,IAAI,CAAC,MAAgB;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"placeholder.js","sourceRoot":"","sources":["../../../src/transformers/placeholder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAqD9D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,sBAAsB;IACxB,IAAI,CAAO;IACX,KAAK,CAAU;IACP,OAAO,CAAqB;IAC5B,MAAM,CAAgC;IAEvD,YAAY,OAAO,GAAwC,EAAE;QAC3D,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAK,aAAsB,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC5E,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAA2B;QACzC,6FAA6F;QAC7F,6FAA6F;QAC7F,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC5F,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClF,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,WAAW,EAAE,EAAE,CAAC;IACtC,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,MAAmB;IAC/C,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,IACE,IAAI;YACJ,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YAChC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAC5B,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAe;gBAC3B,MAAM,EAAE,IAAI,CAAC,MAAgB;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,eAAuB,EACvB,WAAW,GAA+D,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;IAE/F,IAAI,KAAqC,CAAC;IAC1C,IAAI,CAAC;QACH,KAAK,GAAG,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gGAAgG;QAChG,IACG,KAA2B,CAAC,IAAI,KAAK,sBAAsB;YAC5D,KAAK,YAAY,KAAK;YACtB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EACjC,CAAC;YACD,MAAM,IAAI,8BAA8B,CACtC,eAAe,EACf,sCAAsC,EACtC,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxC,uFAAuF;YACvF,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAE9D,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC7C,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE;gBACrB,KAAK;qBACF,KAAK,EAAE;qBACP,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;qBACrC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;qBACxC,QAAQ,EAAE;aACd,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,0BAA0B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC5D,KAAK;gBACL,MAAM;gBACN,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;aACvG,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -30,7 +30,7 @@ export interface MetadataProbeTransformerOptions<Name extends string = 'probe'>
|
|
|
30
30
|
* remote disk that read is a download. Opt in for collections of small files.
|
|
31
31
|
*/
|
|
32
32
|
eager?: boolean;
|
|
33
|
-
/** Replace the mediabunny engine (
|
|
33
|
+
/** Replace the mediabunny engine — e.g. `engines.ffprobe()`, or your own {@link MediaProbeEngine}. */
|
|
34
34
|
engine?: MediaProbeEngine;
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../../../src/transformers/probe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAK1F,wFAAwF;AACxF,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,+BAA+B,CAAC,IAAI,SAAS,MAAM,GAAG,OAAO;IAC5E,wDAAwD;IACxD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,
|
|
1
|
+
{"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../../../src/transformers/probe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAK1F,wFAAwF;AACxF,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,+BAA+B,CAAC,IAAI,SAAS,MAAM,GAAG,OAAO;IAC5E,wDAAwD;IACxD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sGAAsG;IACtG,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,wBAAwB,CAAC,IAAI,SAAS,MAAM,GAAG,OAAO,CAAE,YAAW,WAAW;IACzF,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IAEtD,YAAY,OAAO,GAAE,+BAA+B,CAAC,IAAI,CAAM,EAI9D;IAEK,SAAS,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAIrE;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adonis-agora/media",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"description": "Media-library for AdonisJS — owner collections (MIME whitelist, single-file replace, ordering), image conversions (eager/lazy), pluggable content transformers (HLS video via mediabunny, metadata probe, image blur-up placeholder), and column attachments, all on top of @adonisjs/drive. Pluggable MediaStore (in-memory + Lucid) and ImageProcessor (sharp). Part of the Agora ecosystem.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
"@adonisjs/core": "7.6.0",
|
|
153
153
|
"@adonisjs/drive": "4.0.0",
|
|
154
154
|
"@adonisjs/lucid": "22.4.2",
|
|
155
|
-
"@aws-sdk/client-s3": "3.
|
|
155
|
+
"@aws-sdk/client-s3": "3.1153.0",
|
|
156
156
|
"@smithy/util-stream": "4.8.2",
|
|
157
157
|
"@tanstack/intent": "0.5.6",
|
|
158
158
|
"@types/better-sqlite3": "9.6.0",
|