newpipe-extractor-js
Version:
JavaScript/Node.js port of NewPipeExtractor
72 lines • 2.84 kB
TypeScript
import { StreamingService, LinkHandler } from '../../core/StreamingService';
import { StreamInfo } from '../../types';
import { PoTokenDirectorOptions } from '../../potoken/PoTokenDirector';
import { ChannelInfo, PlaylistInfo, SearchResult } from '../../types';
export declare class YoutubeService extends StreamingService {
private linkHandler;
private signatureDecryptor;
private dashManifestParser;
private poTokenDirector?;
private formatSorter;
private static readonly ANDROID_CLIENT_NAME;
private static readonly ANDROID_CLIENT_VERSION;
private static readonly ANDROID_OS_VERSION;
private static readonly ANDROID_SDK_VERSION;
private static readonly YOUTUBEI_V1_GAPIS_URL;
private static readonly YOUTUBEI_V1_URL;
constructor(poTokenOptions?: PoTokenDirectorOptions);
getLinkHandler(): LinkHandler;
getStreamExtractor(url: string): Promise<StreamInfo>;
private getAndroidPlayerResponse;
private getWebPlayerResponse;
private extractStreamInfo;
private processStream;
private isValidStreamUrl;
private getAndroidUserAgent;
private generateContentPlaybackNonce;
private generateTParameter;
private sortAudioStreams;
private sortVideoStreams;
private mapBitrateToQuality;
private getMediaFormat;
private parseCodecs;
private extractCodec;
private getCompatibleExtension;
getChannelExtractor(_url: string): Promise<ChannelInfo>;
getPlaylistExtractor(_url: string): Promise<PlaylistInfo>;
search(query: string, contentFilters?: string[], _sortFilter?: string, localization?: any): Promise<SearchResult>;
private parseSearchResults;
private parseSearchResultItem;
private parseVideoSearchResult;
private parseChannelSearchResult;
private parsePlaylistSearchResult;
private parseRadioSearchResult;
private extractTextFromRenderer;
private extractThumbnails;
private parseDuration;
private parseViewCount;
private extractUploaderUrl;
private extractUploaderAvatars;
getSuggestionExtractor(query: string, localization?: any): Promise<string[]>;
getKioskExtractor(_kioskId: string, _localization: any): Promise<SearchResult>;
getKioskList(): Promise<string[]>;
getChannelTabExtractor(_channelUrl: string, _tab: string): Promise<SearchResult>;
getCommentsExtractor(_streamUrl: string): Promise<any>;
/**
* Process DASH manifest URL and extract streams
*/
private processDashManifest;
/**
* Merge DASH streams with existing streams, avoiding duplicates
*/
private mergeDashStreams;
/**
* Check if audio stream is duplicate
*/
private isDuplicateAudioStream;
/**
* Check if video stream is duplicate
*/
private isDuplicateVideoStream;
}
//# sourceMappingURL=YoutubeService.d.ts.map