@ziplayer/plugin 0.1.33 → 0.1.41
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/README.md +180 -180
- package/dist/TTSPlugin.js.map +1 -1
- package/dist/YTSRPlugin.d.ts.map +1 -1
- package/dist/YTSRPlugin.js +17 -1
- package/dist/YTSRPlugin.js.map +1 -1
- package/dist/YouTubePlugin.d.ts +15 -6
- package/dist/YouTubePlugin.d.ts.map +1 -1
- package/dist/YouTubePlugin.js +122 -47
- package/dist/YouTubePlugin.js.map +1 -1
- package/dist/utils/progress-bar.d.ts +8 -0
- package/dist/utils/progress-bar.d.ts.map +1 -0
- package/dist/utils/progress-bar.js +24 -0
- package/dist/utils/progress-bar.js.map +1 -0
- package/dist/utils/sabr-stream-factory.d.ts +25 -0
- package/dist/utils/sabr-stream-factory.d.ts.map +1 -0
- package/dist/utils/sabr-stream-factory.js +83 -0
- package/dist/utils/sabr-stream-factory.js.map +1 -0
- package/dist/utils/stream-converter.d.ts +10 -0
- package/dist/utils/stream-converter.d.ts.map +1 -0
- package/dist/utils/stream-converter.js +71 -0
- package/dist/utils/stream-converter.js.map +1 -0
- package/package.json +44 -42
- package/src/SoundCloudPlugin.ts +368 -368
- package/src/SpotifyPlugin.ts +312 -312
- package/src/TTSPlugin.ts +361 -361
- package/src/YTSRPlugin.ts +596 -583
- package/src/YouTubePlugin.ts +620 -528
- package/src/index.ts +103 -103
- package/src/types/googlevideo.d.ts +45 -0
- package/src/utils/sabr-stream-factory.ts +96 -0
- package/src/utils/stream-converter.ts +79 -0
- package/tsconfig.json +23 -23
- package/YTSR_README.md +0 -310
package/dist/YouTubePlugin.js
CHANGED
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.YouTubePlugin = void 0;
|
|
4
4
|
const ziplayer_1 = require("ziplayer");
|
|
5
5
|
const youtubei_js_1 = require("youtubei.js");
|
|
6
|
+
const sabr_stream_factory_1 = require("./utils/sabr-stream-factory");
|
|
7
|
+
const stream_converter_1 = require("./utils/stream-converter");
|
|
6
8
|
/**
|
|
7
9
|
* A plugin for handling YouTube audio content including videos, playlists, and search functionality.
|
|
8
10
|
*
|
|
@@ -40,24 +42,35 @@ class YouTubePlugin extends ziplayer_1.BasePlugin {
|
|
|
40
42
|
* const plugin = new YouTubePlugin();
|
|
41
43
|
* // Plugin is ready to use after initialization completes
|
|
42
44
|
*/
|
|
43
|
-
constructor() {
|
|
45
|
+
constructor(options) {
|
|
44
46
|
super();
|
|
45
47
|
this.name = "youtube";
|
|
46
48
|
this.version = "1.0.0";
|
|
49
|
+
this.player = options?.player ?? undefined;
|
|
50
|
+
this.options = options ?? {};
|
|
47
51
|
this.ready = this.init();
|
|
48
52
|
}
|
|
49
53
|
async init() {
|
|
50
|
-
this.client =
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
this.client =
|
|
55
|
+
this.options.client ??
|
|
56
|
+
(await youtubei_js_1.Innertube.create({
|
|
57
|
+
client_type: "ANDROID",
|
|
58
|
+
retrieve_player: false,
|
|
59
|
+
}));
|
|
54
60
|
// Use a separate web client for search to avoid mobile parser issues
|
|
55
|
-
this.searchClient =
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
61
|
+
this.searchClient =
|
|
62
|
+
this.options.searchClient ??
|
|
63
|
+
(await youtubei_js_1.Innertube.create({
|
|
64
|
+
client_type: "WEB",
|
|
65
|
+
retrieve_player: false,
|
|
66
|
+
}));
|
|
59
67
|
youtubei_js_1.Log.setLevel(0);
|
|
60
68
|
}
|
|
69
|
+
debug(message, ...optionalParams) {
|
|
70
|
+
if (this.options?.debug && this?.player && this.player?.listenerCount("debug") > 0) {
|
|
71
|
+
this.player.emit("debug", `[YouTubePlugin] ${message}`, ...optionalParams);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
61
74
|
// Build a Track from various YouTube object shapes (search item, playlist item, watch_next feed, basic_info, info)
|
|
62
75
|
buildTrack(raw, requestedBy, extra) {
|
|
63
76
|
const pickFirst = (...vals) => vals.find((v) => v !== undefined && v !== null && v !== "");
|
|
@@ -70,6 +83,15 @@ class YouTubePlugin extends ziplayer_1.BasePlugin {
|
|
|
70
83
|
const author = pickFirst(raw?.author?.name, raw?.author, raw?.channel?.name, raw?.owner?.name, raw?.basic_info?.author);
|
|
71
84
|
const views = pickFirst(raw?.view_count, raw?.views, raw?.short_view_count, raw?.stats?.view_count, raw?.basic_info?.view_count);
|
|
72
85
|
const url = pickFirst(raw?.url, id ? `https://www.youtube.com/watch?v=${id}` : undefined);
|
|
86
|
+
this.debug("Track build:", {
|
|
87
|
+
id: String(id),
|
|
88
|
+
title: String(title),
|
|
89
|
+
url: String(url),
|
|
90
|
+
duration,
|
|
91
|
+
thumbnail: thumb,
|
|
92
|
+
requestedBy,
|
|
93
|
+
source: this.name,
|
|
94
|
+
});
|
|
73
95
|
return {
|
|
74
96
|
id: String(id),
|
|
75
97
|
title: String(title),
|
|
@@ -163,19 +185,26 @@ class YouTubePlugin extends ziplayer_1.BasePlugin {
|
|
|
163
185
|
await this.ready;
|
|
164
186
|
if (this.validate(query)) {
|
|
165
187
|
const listId = this.extractListId(query);
|
|
188
|
+
this.debug("List ID:", listId);
|
|
166
189
|
if (listId) {
|
|
167
190
|
if (this.isMixListId(listId)) {
|
|
168
191
|
const anchorVideoId = this.extractVideoId(query);
|
|
169
192
|
if (anchorVideoId) {
|
|
170
193
|
try {
|
|
194
|
+
this.debug("Getting info for anchor video ID:", anchorVideoId);
|
|
171
195
|
const info = await this.searchClient.getInfo(anchorVideoId);
|
|
196
|
+
this.debug("Info:", info);
|
|
172
197
|
const feed = info?.watch_next_feed || [];
|
|
198
|
+
this.debug("Feed:", feed);
|
|
173
199
|
const tracks = feed
|
|
174
200
|
.filter((tr) => tr?.content_type === "VIDEO")
|
|
175
201
|
.map((v) => this.buildTrack(v, requestedBy, { playlist: listId }));
|
|
202
|
+
this.debug("Tracks:", tracks);
|
|
176
203
|
const { basic_info } = info;
|
|
177
204
|
const currTrack = this.buildTrack(basic_info, requestedBy);
|
|
205
|
+
this.debug("Current track:", currTrack);
|
|
178
206
|
tracks.unshift(currTrack);
|
|
207
|
+
this.debug("Tracks:", tracks);
|
|
179
208
|
return {
|
|
180
209
|
tracks,
|
|
181
210
|
playlist: { name: "YouTube Mix", url: query, thumbnail: tracks[0]?.thumbnail },
|
|
@@ -264,11 +293,10 @@ class YouTubePlugin extends ziplayer_1.BasePlugin {
|
|
|
264
293
|
}
|
|
265
294
|
}
|
|
266
295
|
/**
|
|
267
|
-
* Retrieves the audio stream for a YouTube track.
|
|
296
|
+
* Retrieves the audio stream for a YouTube track using sabr download.
|
|
268
297
|
*
|
|
269
|
-
* This method extracts the audio stream from a YouTube video using the
|
|
270
|
-
*
|
|
271
|
-
* format fallbacks if the primary method fails.
|
|
298
|
+
* This method extracts the audio stream from a YouTube video using the sabr download
|
|
299
|
+
* method which provides better quality and more reliable streaming.
|
|
272
300
|
*
|
|
273
301
|
* @param track - The Track object to get the stream for
|
|
274
302
|
* @returns A StreamInfo object containing the audio stream and metadata
|
|
@@ -286,55 +314,97 @@ class YouTubePlugin extends ziplayer_1.BasePlugin {
|
|
|
286
314
|
if (!id)
|
|
287
315
|
throw new Error("Invalid track id");
|
|
288
316
|
try {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
}
|
|
317
|
+
this.debug("🚀 Attempting sabr download for video ID:", id);
|
|
318
|
+
// Use sabr download for better quality and reliability
|
|
319
|
+
const { streamResults } = await (0, sabr_stream_factory_1.createSabrStream)(id, sabr_stream_factory_1.DEFAULT_SABR_OPTIONS);
|
|
320
|
+
const { audioStream, selectedFormats, videoTitle } = streamResults;
|
|
321
|
+
this.debug("✅ Sabr download successful, converting Web Stream to Node.js Stream");
|
|
322
|
+
// Convert Web Stream to Node.js Readable Stream
|
|
323
|
+
const nodeStream = (0, stream_converter_1.webStreamToNodeStream)(audioStream);
|
|
324
|
+
this.debug("✅ Stream conversion complete, returning Node.js stream");
|
|
325
|
+
// Return the converted Node.js stream
|
|
293
326
|
return {
|
|
294
|
-
stream,
|
|
327
|
+
stream: nodeStream,
|
|
295
328
|
type: "arbitrary",
|
|
296
|
-
metadata:
|
|
329
|
+
metadata: {
|
|
330
|
+
...track.metadata,
|
|
331
|
+
itag: selectedFormats.audioFormat.itag,
|
|
332
|
+
mime: selectedFormats.audioFormat.mimeType,
|
|
333
|
+
},
|
|
297
334
|
};
|
|
298
335
|
}
|
|
299
336
|
catch (e) {
|
|
337
|
+
this.debug("⚠️ Sabr download failed, falling back to youtubei.js:", e.message);
|
|
338
|
+
// Fallback to original youtubei.js method if sabr download fails
|
|
300
339
|
try {
|
|
301
|
-
const
|
|
302
|
-
// Prefer m4a audio-only formats first
|
|
303
|
-
let format = info?.chooseFormat?.({
|
|
340
|
+
const stream = await this.client.download(id, {
|
|
304
341
|
type: "audio",
|
|
305
342
|
quality: "best",
|
|
306
343
|
});
|
|
307
|
-
if
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
344
|
+
// Check if it's a Web Stream and convert it
|
|
345
|
+
this.debug("🔍 Checking stream type:", typeof stream, stream?.constructor?.name);
|
|
346
|
+
if (stream && typeof stream.getReader === "function") {
|
|
347
|
+
this.debug("🔄 Converting Web Stream to Node.js Stream");
|
|
348
|
+
const nodeStream = (0, stream_converter_1.webStreamToNodeStream)(stream);
|
|
349
|
+
this.debug("✅ Stream converted successfully");
|
|
350
|
+
return {
|
|
351
|
+
stream: nodeStream,
|
|
352
|
+
type: "arbitrary",
|
|
353
|
+
metadata: track.metadata,
|
|
354
|
+
};
|
|
317
355
|
}
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
if (!url)
|
|
321
|
-
throw new Error("No valid URL to decipher");
|
|
322
|
-
const res = await fetch(url);
|
|
323
|
-
if (!res.ok || !res.body) {
|
|
324
|
-
throw new Error(`HTTP ${res.status}`);
|
|
356
|
+
else {
|
|
357
|
+
this.debug("⚠️ Stream is not a Web Stream or is null");
|
|
325
358
|
}
|
|
326
359
|
return {
|
|
327
|
-
stream
|
|
360
|
+
stream,
|
|
328
361
|
type: "arbitrary",
|
|
329
|
-
metadata:
|
|
330
|
-
...track.metadata,
|
|
331
|
-
itag: format.itag,
|
|
332
|
-
mime: format.mime_type,
|
|
333
|
-
},
|
|
362
|
+
metadata: track.metadata,
|
|
334
363
|
};
|
|
335
364
|
}
|
|
336
|
-
catch (
|
|
337
|
-
|
|
365
|
+
catch (fallbackError) {
|
|
366
|
+
try {
|
|
367
|
+
const info = await this.client.getBasicInfo(id);
|
|
368
|
+
// Prefer m4a audio-only formats first
|
|
369
|
+
let format = info?.chooseFormat?.({
|
|
370
|
+
type: "audio",
|
|
371
|
+
quality: "best",
|
|
372
|
+
});
|
|
373
|
+
if (!format && info?.formats?.length) {
|
|
374
|
+
const audioOnly = info.formats.filter((f) => f.mime_type?.includes("audio"));
|
|
375
|
+
audioOnly.sort((a, b) => (b.bitrate || 0) - (a.bitrate || 0));
|
|
376
|
+
format = audioOnly[0];
|
|
377
|
+
}
|
|
378
|
+
if (!format)
|
|
379
|
+
throw new Error("No audio format available");
|
|
380
|
+
let url = undefined;
|
|
381
|
+
if (typeof format.decipher === "function") {
|
|
382
|
+
url = format.decipher(this.client.session.player);
|
|
383
|
+
}
|
|
384
|
+
if (!url)
|
|
385
|
+
url = format.url;
|
|
386
|
+
if (!url)
|
|
387
|
+
throw new Error("No valid URL to decipher");
|
|
388
|
+
const res = await fetch(url);
|
|
389
|
+
if (!res.ok || !res.body) {
|
|
390
|
+
throw new Error(`HTTP ${res.status}`);
|
|
391
|
+
}
|
|
392
|
+
// Convert Web Stream to Node.js Stream
|
|
393
|
+
this.debug("🔄 Converting fetch response Web Stream to Node.js Stream");
|
|
394
|
+
const nodeStream = (0, stream_converter_1.webStreamToNodeStream)(res.body);
|
|
395
|
+
return {
|
|
396
|
+
stream: nodeStream,
|
|
397
|
+
type: "arbitrary",
|
|
398
|
+
metadata: {
|
|
399
|
+
...track.metadata,
|
|
400
|
+
itag: format.itag,
|
|
401
|
+
mime: format.mime_type,
|
|
402
|
+
},
|
|
403
|
+
};
|
|
404
|
+
}
|
|
405
|
+
catch (inner) {
|
|
406
|
+
throw new Error(`Failed to get YouTube stream: ${inner?.message || inner}`);
|
|
407
|
+
}
|
|
338
408
|
}
|
|
339
409
|
}
|
|
340
410
|
}
|
|
@@ -361,14 +431,18 @@ class YouTubePlugin extends ziplayer_1.BasePlugin {
|
|
|
361
431
|
*/
|
|
362
432
|
async getRelatedTracks(trackURL, opts = {}) {
|
|
363
433
|
await this.ready;
|
|
434
|
+
this.debug("Getting related tracks for:", trackURL);
|
|
364
435
|
const videoId = this.extractVideoId(trackURL);
|
|
436
|
+
this.debug("Video ID:", videoId);
|
|
365
437
|
if (!videoId) {
|
|
366
438
|
// If the last track URL is not a direct video URL (e.g., playlist URL),
|
|
367
439
|
// we cannot fetch related videos reliably.
|
|
368
440
|
return [];
|
|
369
441
|
}
|
|
442
|
+
this.debug("Getting info for video ID:", videoId);
|
|
370
443
|
const info = await await this.searchClient.getInfo(videoId);
|
|
371
444
|
const related = info?.watch_next_feed || [];
|
|
445
|
+
this.debug("Related:", related);
|
|
372
446
|
const offset = opts.offset ?? 0;
|
|
373
447
|
const limit = opts.limit ?? 5;
|
|
374
448
|
const relatedfilter = related.filter((tr) => tr.content_type === "VIDEO" && !(opts?.history ?? []).some((t) => t.url === tr.url));
|
|
@@ -397,6 +471,7 @@ class YouTubePlugin extends ziplayer_1.BasePlugin {
|
|
|
397
471
|
try {
|
|
398
472
|
const result = await this.search(track.title, track.requestedBy);
|
|
399
473
|
const first = result.tracks[0];
|
|
474
|
+
this.debug("Fallback track:", first);
|
|
400
475
|
if (!first)
|
|
401
476
|
throw new Error("No fallback track found");
|
|
402
477
|
return await this.getStream(first);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YouTubePlugin.js","sourceRoot":"","sources":["../src/YouTubePlugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YouTubePlugin.js","sourceRoot":"","sources":["../src/YouTubePlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface MultiBar {
|
|
2
|
+
create(total: number, startValue: number, options: any): any;
|
|
3
|
+
stop(): void;
|
|
4
|
+
}
|
|
5
|
+
export declare function createMultiProgressBar(): MultiBar;
|
|
6
|
+
export declare function setupProgressBar(multiBar: MultiBar, filename: string, total: number): any;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=progress-bar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-bar.d.ts","sourceRoot":"","sources":["../../src/utils/progress-bar.ts"],"names":[],"mappings":"AACA,UAAU,QAAQ;IACjB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC;IAC7D,IAAI,IAAI,IAAI,CAAC;CACb;AAOD,wBAAgB,sBAAsB,IAAI,QAAQ,CAcjD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAEnF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createMultiProgressBar = createMultiProgressBar;
|
|
4
|
+
exports.setupProgressBar = setupProgressBar;
|
|
5
|
+
// Mock implementation for now - will be replaced with actual cli-progress when available
|
|
6
|
+
function createMultiProgressBar() {
|
|
7
|
+
return {
|
|
8
|
+
create(total, startValue, options) {
|
|
9
|
+
return {
|
|
10
|
+
increment(value) {
|
|
11
|
+
// Mock progress bar implementation
|
|
12
|
+
console.log(`Progress: ${value}/${total}`);
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
},
|
|
16
|
+
stop() {
|
|
17
|
+
console.log("Progress completed");
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function setupProgressBar(multiBar, filename, total) {
|
|
22
|
+
return multiBar.create(total, 0, { filename });
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=progress-bar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-bar.js","sourceRoot":"","sources":["../../src/utils/progress-bar.ts"],"names":[],"mappings":";;AAWA,wDAcC;AAED,4CAEC;AAnBD,yFAAyF;AACzF,SAAgB,sBAAsB;IACrC,OAAO;QACN,MAAM,CAAC,KAAa,EAAE,UAAkB,EAAE,OAAY;YACrD,OAAO;gBACN,SAAS,CAAC,KAAa;oBACtB,mCAAmC;oBACnC,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC5C,CAAC;aACD,CAAC;QACH,CAAC;QACD,IAAI;YACH,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACnC,CAAC;KACD,CAAC;AACH,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAkB,EAAE,QAAgB,EAAE,KAAa;IACnF,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { SabrPlaybackOptions, StreamResult } from "../types/googlevideo";
|
|
2
|
+
export type { StreamResult, SabrPlaybackOptions };
|
|
3
|
+
export interface OutputStream {
|
|
4
|
+
stream: NodeJS.WritableStream;
|
|
5
|
+
filePath: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Creates a sabr stream for YouTube video download
|
|
9
|
+
*/
|
|
10
|
+
export declare function createSabrStream(videoId: string, options: SabrPlaybackOptions): Promise<{
|
|
11
|
+
streamResults: StreamResult;
|
|
12
|
+
}>;
|
|
13
|
+
/**
|
|
14
|
+
* Creates an output stream for writing downloaded content
|
|
15
|
+
*/
|
|
16
|
+
export declare function createOutputStream(videoTitle: string, mimeType: string): OutputStream;
|
|
17
|
+
/**
|
|
18
|
+
* Creates a stream sink for piping data with progress tracking
|
|
19
|
+
*/
|
|
20
|
+
export declare function createStreamSink(format: any, outputStream: NodeJS.WritableStream, progressBar: any): import("stream/web").WritableStream<any>;
|
|
21
|
+
/**
|
|
22
|
+
* Default sabr playback options
|
|
23
|
+
*/
|
|
24
|
+
export declare const DEFAULT_SABR_OPTIONS: SabrPlaybackOptions;
|
|
25
|
+
//# sourceMappingURL=sabr-stream-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sabr-stream-factory.d.ts","sourceRoot":"","sources":["../../src/utils/sabr-stream-factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAG9E,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAElD,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,YAAY,CAAA;CAAE,CAAC,CAa9H;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAYrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,cAAc,EAAE,WAAW,EAAE,GAAG,4CAelG;AAkBD;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,mBAMlC,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_SABR_OPTIONS = void 0;
|
|
4
|
+
exports.createSabrStream = createSabrStream;
|
|
5
|
+
exports.createOutputStream = createOutputStream;
|
|
6
|
+
exports.createStreamSink = createStreamSink;
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const path_1 = require("path");
|
|
9
|
+
const os_1 = require("os");
|
|
10
|
+
/**
|
|
11
|
+
* Creates a sabr stream for YouTube video download
|
|
12
|
+
*/
|
|
13
|
+
async function createSabrStream(videoId, options) {
|
|
14
|
+
try {
|
|
15
|
+
// Dynamic import to avoid build-time errors
|
|
16
|
+
const sabrModule = require("googlevideo/sabr-stream");
|
|
17
|
+
const createSabrStreamImpl = sabrModule.createSabrStream;
|
|
18
|
+
const streamResults = await createSabrStreamImpl(videoId, options);
|
|
19
|
+
return { streamResults };
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
// Fallback implementation if sabr download is not available
|
|
23
|
+
throw new Error(`Sabr download not available: ${error}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Creates an output stream for writing downloaded content
|
|
28
|
+
*/
|
|
29
|
+
function createOutputStream(videoTitle, mimeType) {
|
|
30
|
+
const sanitizedTitle = videoTitle.replace(/[<>:"/\\|?*]/g, "_").substring(0, 100);
|
|
31
|
+
const extension = getExtensionFromMimeType(mimeType);
|
|
32
|
+
const fileName = `${sanitizedTitle}.${extension}`;
|
|
33
|
+
const filePath = (0, path_1.join)((0, os_1.tmpdir)(), fileName);
|
|
34
|
+
const stream = (0, fs_1.createWriteStream)(filePath);
|
|
35
|
+
return {
|
|
36
|
+
stream,
|
|
37
|
+
filePath,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Creates a stream sink for piping data with progress tracking
|
|
42
|
+
*/
|
|
43
|
+
function createStreamSink(format, outputStream, progressBar) {
|
|
44
|
+
return new WritableStream({
|
|
45
|
+
start() {
|
|
46
|
+
// Initialize progress tracking
|
|
47
|
+
},
|
|
48
|
+
write(chunk) {
|
|
49
|
+
outputStream.write(chunk);
|
|
50
|
+
if (progressBar) {
|
|
51
|
+
progressBar.increment(chunk.length);
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
close() {
|
|
55
|
+
outputStream.end();
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Gets file extension from MIME type
|
|
61
|
+
*/
|
|
62
|
+
function getExtensionFromMimeType(mimeType) {
|
|
63
|
+
const mimeMap = {
|
|
64
|
+
"audio/mp4": "m4a",
|
|
65
|
+
"audio/webm": "webm",
|
|
66
|
+
"audio/ogg": "ogg",
|
|
67
|
+
"video/mp4": "mp4",
|
|
68
|
+
"video/webm": "webm",
|
|
69
|
+
"video/ogg": "ogv",
|
|
70
|
+
};
|
|
71
|
+
return mimeMap[mimeType] || "bin";
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Default sabr playback options
|
|
75
|
+
*/
|
|
76
|
+
exports.DEFAULT_SABR_OPTIONS = {
|
|
77
|
+
preferWebM: true,
|
|
78
|
+
preferOpus: true,
|
|
79
|
+
videoQuality: "720p",
|
|
80
|
+
audioQuality: "AUDIO_QUALITY_MEDIUM",
|
|
81
|
+
enabledTrackTypes: "VIDEO_AND_AUDIO",
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=sabr-stream-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sabr-stream-factory.js","sourceRoot":"","sources":["../../src/utils/sabr-stream-factory.ts"],"names":[],"mappings":";;;AAkBA,4CAaC;AAKD,gDAYC;AAKD,4CAeC;AApED,2BAAuC;AACvC,+BAA4B;AAC5B,2BAA4B;AAa5B;;GAEG;AACI,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,OAA4B;IACnF,IAAI,CAAC;QACJ,4CAA4C;QAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,yBAAyB,CAAQ,CAAC;QAC7D,MAAM,oBAAoB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QAEzD,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEnE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,4DAA4D;QAC5D,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,UAAkB,EAAE,QAAgB;IACtE,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClF,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,GAAG,cAAc,IAAI,SAAS,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,IAAA,WAAM,GAAE,EAAE,QAAQ,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAG,IAAA,sBAAiB,EAAC,QAAQ,CAAC,CAAC;IAE3C,OAAO;QACN,MAAM;QACN,QAAQ;KACR,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,MAAW,EAAE,YAAmC,EAAE,WAAgB;IAClG,OAAO,IAAI,cAAc,CAAC;QACzB,KAAK;YACJ,+BAA+B;QAChC,CAAC;QACD,KAAK,CAAC,KAAK;YACV,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,WAAW,EAAE,CAAC;gBACjB,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;QACF,CAAC;QACD,KAAK;YACJ,YAAY,CAAC,GAAG,EAAE,CAAC;QACpB,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,QAAgB;IACjD,MAAM,OAAO,GAA8B;QAC1C,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,MAAM;QACpB,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,MAAM;QACpB,WAAW,EAAE,KAAK;KAClB,CAAC;IAEF,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;AACnC,CAAC;AAED;;GAEG;AACU,QAAA,oBAAoB,GAAwB;IACxD,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,sBAAsB;IACpC,iBAAiB,EAAE,iBAAiB;CACpC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Readable } from "stream";
|
|
2
|
+
/**
|
|
3
|
+
* Converts a Web ReadableStream to a Node.js Readable stream
|
|
4
|
+
*/
|
|
5
|
+
export declare function webStreamToNodeStream(webStream: ReadableStream): Readable;
|
|
6
|
+
/**
|
|
7
|
+
* Converts a Web ReadableStream to a Node.js Readable stream with progress tracking
|
|
8
|
+
*/
|
|
9
|
+
export declare function webStreamToNodeStreamWithProgress(webStream: ReadableStream, progressCallback?: (bytesRead: number) => void): Readable;
|
|
10
|
+
//# sourceMappingURL=stream-converter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-converter.d.ts","sourceRoot":"","sources":["../../src/utils/stream-converter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,cAAc,GAAG,QAAQ,CA8BzE;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAChD,SAAS,EAAE,cAAc,EACzB,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAC5C,QAAQ,CAmCV"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.webStreamToNodeStream = webStreamToNodeStream;
|
|
4
|
+
exports.webStreamToNodeStreamWithProgress = webStreamToNodeStreamWithProgress;
|
|
5
|
+
const stream_1 = require("stream");
|
|
6
|
+
/**
|
|
7
|
+
* Converts a Web ReadableStream to a Node.js Readable stream
|
|
8
|
+
*/
|
|
9
|
+
function webStreamToNodeStream(webStream) {
|
|
10
|
+
const nodeStream = new stream_1.Readable({
|
|
11
|
+
read() {
|
|
12
|
+
// This will be handled by the Web Stream reader
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
// Create a reader from the Web Stream
|
|
16
|
+
const reader = webStream.getReader();
|
|
17
|
+
// Read chunks and push to Node.js stream
|
|
18
|
+
const pump = async () => {
|
|
19
|
+
try {
|
|
20
|
+
while (true) {
|
|
21
|
+
const { done, value } = await reader.read();
|
|
22
|
+
if (done) {
|
|
23
|
+
nodeStream.push(null); // End the stream
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
nodeStream.push(Buffer.from(value));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
nodeStream.destroy(error);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
// Start pumping data
|
|
34
|
+
pump();
|
|
35
|
+
return nodeStream;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Converts a Web ReadableStream to a Node.js Readable stream with progress tracking
|
|
39
|
+
*/
|
|
40
|
+
function webStreamToNodeStreamWithProgress(webStream, progressCallback) {
|
|
41
|
+
const nodeStream = new stream_1.Readable({
|
|
42
|
+
read() {
|
|
43
|
+
// This will be handled by the Web Stream reader
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
let bytesRead = 0;
|
|
47
|
+
const reader = webStream.getReader();
|
|
48
|
+
const pump = async () => {
|
|
49
|
+
try {
|
|
50
|
+
while (true) {
|
|
51
|
+
const { done, value } = await reader.read();
|
|
52
|
+
if (done) {
|
|
53
|
+
nodeStream.push(null); // End the stream
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
const buffer = Buffer.from(value);
|
|
57
|
+
nodeStream.push(buffer);
|
|
58
|
+
bytesRead += buffer.length;
|
|
59
|
+
if (progressCallback) {
|
|
60
|
+
progressCallback(bytesRead);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
nodeStream.destroy(error);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
pump();
|
|
69
|
+
return nodeStream;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=stream-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-converter.js","sourceRoot":"","sources":["../../src/utils/stream-converter.ts"],"names":[],"mappings":";;AAKA,sDA8BC;AAKD,8EAsCC;AA9ED,mCAAkC;AAElC;;GAEG;AACH,SAAgB,qBAAqB,CAAC,SAAyB;IAC9D,MAAM,UAAU,GAAG,IAAI,iBAAQ,CAAC;QAC/B,IAAI;YACH,gDAAgD;QACjD,CAAC;KACD,CAAC,CAAC;IAEH,sCAAsC;IACtC,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;IAErC,yCAAyC;IACzC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACvB,IAAI,CAAC;YACJ,OAAO,IAAI,EAAE,CAAC;gBACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI,EAAE,CAAC;oBACV,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB;oBACxC,MAAM;gBACP,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACrC,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,UAAU,CAAC,OAAO,CAAC,KAAc,CAAC,CAAC;QACpC,CAAC;IACF,CAAC,CAAC;IAEF,qBAAqB;IACrB,IAAI,EAAE,CAAC;IAEP,OAAO,UAAU,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAgB,iCAAiC,CAChD,SAAyB,EACzB,gBAA8C;IAE9C,MAAM,UAAU,GAAG,IAAI,iBAAQ,CAAC;QAC/B,IAAI;YACH,gDAAgD;QACjD,CAAC;KACD,CAAC,CAAC;IAEH,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;IAErC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACvB,IAAI,CAAC;YACJ,OAAO,IAAI,EAAE,CAAC;gBACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI,EAAE,CAAC;oBACV,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB;oBACxC,MAAM;gBACP,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAExB,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC;gBAC3B,IAAI,gBAAgB,EAAE,CAAC;oBACtB,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,UAAU,CAAC,OAAO,CAAC,KAAc,CAAC,CAAC;QACpC,CAAC;IACF,CAAC,CAAC;IAEF,IAAI,EAAE,CAAC;IAEP,OAAO,UAAU,CAAC;AACnB,CAAC"}
|