1.1.1 • Published 8 months ago

youtube-info-streams v1.1.1

Weekly downloads
4
License
ISC
Repository
github
Last release
8 months ago

youtube-info-streams: Node.js

Fetch meta information about YouTube videos including stream urls

Table of contents:

Quickstart

Installing the library

npm install youtube-info-streams --save

Using the library

import * as yt from 'youtube-info-streams';

/**
 * Given a search query, searching on youtube
 * @param {string} search value (videoId).
 */
const video = await yt.info('y5kIrbG2gRc');
console.log('Info:');
console.log(video);

{
  page: 'watch',
          player_response: {
  responseContext: {
    serviceTrackingParams: [Array],
            maxAgeSeconds: 0,
            mainAppWebResponseContext: [Object],
            webResponseContextExtensionData: [Object]
  },
  playabilityStatus: {
    status: 'OK',
            playableInEmbed: true,
            miniplayer: [Object],
            contextParams: 'Q0FFU0FnZ0M='
  },
  streamingData: {
    expiresInSeconds: '21540',
            formats: [Array],
            adaptiveFormats: [Array],
            serverAbrStreamingUrl: 'https://rr1---sn-h0jeenek.googlevideo.com/videoplayback?expire=1729490261&ei=9ZgVZ8qtEImFi9oP066m2Ac&ip=2a02%3A8070%3A6482%3Af180%3Ac93f%3A7f4f%3A84f8%3A4b40&id=o-AOqR2qtkmxUTcJWAFFTwl1kIvIHbn76NCBvOYIO2kLPW&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1729468661%2C&mh=gB&mm=31%2C29&mn=sn-h0jeenek%2Csn-h0jeln7l&ms=au%2Crdu&mv=m&mvi=1&pl=47&rms=au%2Cau&initcwndbps=1968750&spc=54MbxYppOIX_U-mSm132FCrFmosp6hXRtCeL7J96LqHzxkqDdVU85leJ5XEm&svpuc=1&ns=PKoH20bBDpckeuJj0EFZ7PMQ&sabr=1&rqh=1&mt=1729468398&fvip=2&keepalive=yes&fexp=51312688&c=WEB&n=4iiOPEWTu0_49bu&sparams=expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Cspc%2Csvpuc%2Cns%2Csabr%2Crqh&sig=AJfQdSswRQIgLxPm4-irO2GoUDwsZkorQnkEMtabkhwnYl51h0FV9U8CIQD6RW5lM1mRIX43dGBQjYIU1_aucTnfupOmXEjjwRO4nQ%3D%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Crms%2Cinitcwndbps&lsig=ACJ0pHgwRQIhAIN_b0mtp1yPQ3yRtxH-UIoyGVO32I1CxZmZO0NtzHZGAiBuIxUwnk2WdpaRnXawavXTd9inD_UVHuFKJoLZDf2_Vw%3D%3D'
  },
  playbackTracking: {
    videostatsPlaybackUrl: [Object],
            videostatsDelayplayUrl: [Object],
            videostatsWatchtimeUrl: [Object],
            ptrackingUrl: [Object],
            qoeUrl: [Object],
            atrUrl: [Object],
            videostatsScheduledFlushWalltimeSeconds: [Array],
            videostatsDefaultFlushIntervalSeconds: 40
  },
  captions: { playerCaptionsTracklistRenderer: [Object] },
  videoDetails: {
    videoId: 'y5kIrbG2gRc',
            title: 'How to Download Free Music On Your iPhone (OFFLINE) 2020',
            lengthSeconds: '120',
            keywords: [Array],
            channelId: 'UCFzpTuxdolZ_EaZr-emNgbg',
            isOwnerViewing: false,
            shortDescription: 'This video will show you how to download free music and videos on your iphone easy and fast',
            isCrawlable: true,
            thumbnail: [Object],
            allowRatings: true,
            viewCount: '209',
            author: 'Max Maustermann',
            isPrivate: false,
            isUnpluggedCorpus: false,
            isLiveContent: false
  },
  playerConfig: {
    audioConfig: [Object],
            streamSelectionConfig: [Object],
            mediaCommonConfig: [Object],
            webPlayerConfig: [Object]
  },
  storyboards: { playerStoryboardSpecRenderer: [Object] },
  microformat: { playerMicroformatRenderer: [Object] },
  cards: { cardCollectionRenderer: [Object] },
  trackingParams: 'CAAQu2kiEwiK_NHplJ6JAxWJwkIFHVOXCXs=',
          attestation: { playerAttestationRenderer: [Object] },
  adBreakHeartbeatParams: 'Q0FBJTNE',
          frameworkUpdates: { entityBatchUpdate: [Object] }
},
  response: {
    responseContext: {
      serviceTrackingParams: [Array],
              mainAppWebResponseContext: [Object],
              webResponseContextExtensionData: [Object]
    },
    contents: { twoColumnWatchNextResults: [Object] },
    currentVideoEndpoint: {
      clickTrackingParams: 'CAAQg2ciEwirgtLplJ6JAxXY0EIFHcE6EVM=',
              commandMetadata: [Object],
              watchEndpoint: [Object]
    },
    trackingParams: 'CAAQg2ciEwirgtLplJ6JAxXY0EIFHcE6EVM=',
            playerOverlays: { playerOverlayRenderer: [Object] },
    onResponseReceivedEndpoints: [ [Object] ],
            engagementPanels: [ [Object], [Object], [Object], [Object], [Object], [Object] ],
            topbar: { desktopTopbarRenderer: [Object] },
    pageVisualEffects: [ [Object] ],
            frameworkUpdates: { entityBatchUpdate: [Object] }
  },
  html5player: '/s/player/e627e516/player_ias.vflset/de_DE/base.js',
          formats: [
  {
    itag: 18,
    url: 'https://rr1---sn-h0jeenek.googlevideo.com/videoplayback?expire=1729490261&ei=9ZgVZ6zSKsfi6dsPva76gAs&ip=2a02%3A8070%3A6482%3Af180%3Ac93f%3A7f4f%3A84f8%3A4b40&id=o-ABQMB8SHouvmKRpQxtd6toVw0PoNn5_AGpfDwkrX1Voc&itag=18&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1729468661%2C&mh=gB&mm=31%2C29&mn=sn-h0jeenek%2Csn-h0jeln7l&ms=au%2Crdu&mv=m&mvi=1&pl=47&rms=au%2Cau&initcwndbps=2110000&spc=54MbxWKZLZWK38i9I2t-r1OJQzdzRK7z5CKyV_UbMko69OUWUdjw_fyiuNPw&vprv=1&svpuc=1&mime=video%2Fmp4&rqh=1&cnr=14&ratebypass=yes&dur=120.209&lmt=1634733971863121&mt=1729468143&fvip=2&fexp=51312688&c=ANDROID&txp=6218224&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Crqh%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=AJfQdSswRQIgLnBmUJEJRo7K6oLJe4Vjbr3mmBrvfZLEeQiZ_X5fzvUCIQCvi8SDEoOWgNn4WfenrDUoWs__wrF2XwdLvAw6yK2dAg%3D%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Crms%2Cinitcwndbps&lsig=ACJ0pHgwRAIgdiqfZU92N8YjHvZdiSoO8fTqflJVqSvGxEF3DHlMXD4CIF24iLN1QTE6T8h7D0lb9eYhwU_akUaV_beGDC9y11qh',
    mimeType: 'video/mp4; codecs="avc1.42001E, mp4a.40.2"',
    bitrate: 195086,
    width: 166,
    height: 360,
    lastModified: '1634733971863121',
    quality: 'small',
    fps: 30,
    qualityLabel: '240p',
    projectionType: 'RECTANGULAR',
    audioQuality: 'AUDIO_QUALITY_LOW',
    approxDurationMs: '120209',
    audioSampleRate: '44100',
    audioChannels: 2
  },
        ...
]
}

Supported Node.js Versions

Our client libraries follow the Node.js release schedule. Libraries are compatible with all current active and maintenance versions of Node.js.

License

Apache Version 2.0

See LICENSE

1.1.1

8 months ago

1.1.0

8 months ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago