googlevideo 1.0.0 → 2.0.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/README.md CHANGED
@@ -13,7 +13,7 @@ Usage examples can be found [here](./examples/).
13
13
  ## Installation
14
14
 
15
15
  ```bash
16
- npm install github:LuanRT/googlevideo
16
+ npm install googlevideo
17
17
  ```
18
18
 
19
19
  ## Basic Usage
@@ -1,4 +1,5 @@
1
1
  import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ import { OnesiePlayerRequest } from "./onesie_player_request.js";
2
3
  export declare const protobufPackage = "video_streaming";
3
4
  export interface EncryptedPlayerRequest {
4
5
  /** InnerTubeContext proto? */
@@ -11,6 +12,7 @@ export interface EncryptedPlayerRequest {
11
12
  YP?: boolean | undefined;
12
13
  pM?: boolean | undefined;
13
14
  enableCompression?: boolean | undefined;
15
+ onesiePlayerRequest?: OnesiePlayerRequest | undefined;
14
16
  TQ?: boolean | undefined;
15
17
  }
16
18
  export declare const EncryptedPlayerRequest: MessageFns<EncryptedPlayerRequest>;
@@ -5,6 +5,7 @@
5
5
  // source: video_streaming/encrypted_player_request.proto
6
6
  /* eslint-disable */
7
7
  import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
8
+ import { OnesiePlayerRequest } from "./onesie_player_request.js";
8
9
  export const protobufPackage = "video_streaming";
9
10
  function createBaseEncryptedPlayerRequest() {
10
11
  return {
@@ -17,6 +18,7 @@ function createBaseEncryptedPlayerRequest() {
17
18
  YP: false,
18
19
  pM: false,
19
20
  enableCompression: false,
21
+ onesiePlayerRequest: undefined,
20
22
  TQ: false,
21
23
  };
22
24
  }
@@ -49,6 +51,9 @@ export const EncryptedPlayerRequest = {
49
51
  if (message.enableCompression !== undefined && message.enableCompression !== false) {
50
52
  writer.uint32(112).bool(message.enableCompression);
51
53
  }
54
+ if (message.onesiePlayerRequest !== undefined) {
55
+ OnesiePlayerRequest.encode(message.onesiePlayerRequest, writer.uint32(130).fork()).join();
56
+ }
52
57
  if (message.TQ !== undefined && message.TQ !== false) {
53
58
  writer.uint32(136).bool(message.TQ);
54
59
  }
@@ -115,6 +120,12 @@ export const EncryptedPlayerRequest = {
115
120
  }
116
121
  message.enableCompression = reader.bool();
117
122
  continue;
123
+ case 16:
124
+ if (tag !== 130) {
125
+ break;
126
+ }
127
+ message.onesiePlayerRequest = OnesiePlayerRequest.decode(reader, reader.uint32());
128
+ continue;
118
129
  case 17:
119
130
  if (tag !== 136) {
120
131
  break;
@@ -144,6 +155,9 @@ export const EncryptedPlayerRequest = {
144
155
  YP: isSet(object.YP) ? globalThis.Boolean(object.YP) : false,
145
156
  pM: isSet(object.pM) ? globalThis.Boolean(object.pM) : false,
146
157
  enableCompression: isSet(object.enableCompression) ? globalThis.Boolean(object.enableCompression) : false,
158
+ onesiePlayerRequest: isSet(object.onesiePlayerRequest)
159
+ ? OnesiePlayerRequest.fromJSON(object.onesiePlayerRequest)
160
+ : undefined,
147
161
  TQ: isSet(object.TQ) ? globalThis.Boolean(object.TQ) : false,
148
162
  };
149
163
  },
@@ -176,6 +190,9 @@ export const EncryptedPlayerRequest = {
176
190
  if (message.enableCompression !== undefined && message.enableCompression !== false) {
177
191
  obj.enableCompression = message.enableCompression;
178
192
  }
193
+ if (message.onesiePlayerRequest !== undefined) {
194
+ obj.onesiePlayerRequest = OnesiePlayerRequest.toJSON(message.onesiePlayerRequest);
195
+ }
179
196
  if (message.TQ !== undefined && message.TQ !== false) {
180
197
  obj.TQ = message.TQ;
181
198
  }
@@ -195,6 +212,9 @@ export const EncryptedPlayerRequest = {
195
212
  message.YP = object.YP ?? false;
196
213
  message.pM = object.pM ?? false;
197
214
  message.enableCompression = object.enableCompression ?? false;
215
+ message.onesiePlayerRequest = (object.onesiePlayerRequest !== undefined && object.onesiePlayerRequest !== null)
216
+ ? OnesiePlayerRequest.fromPartial(object.onesiePlayerRequest)
217
+ : undefined;
198
218
  message.TQ = object.TQ ?? false;
199
219
  return message;
200
220
  },
@@ -69,7 +69,7 @@ export class ServerAbrStream extends EventEmitterLike {
69
69
  ? data.initializedFormats.find((fmt) => fmt.mimeType?.includes('video'))
70
70
  : data.initializedFormats[0];
71
71
  for (const fmt of data.initializedFormats) {
72
- this.previousSequences.set(`${fmt.formatId.itag};${fmt.formatId.lastModified};`, fmt.sequenceList.map((seq) => seq.sequenceNumber || 0));
72
+ this.previousSequences.set(fmt.formatKey, fmt.sequenceList.map((seq) => seq.sequenceNumber || 0));
73
73
  }
74
74
  if (!mainFormat ||
75
75
  mainFormat.sequenceCount ===
@@ -97,7 +97,6 @@ export class UMP {
97
97
  return [value, offset];
98
98
  }
99
99
  canReadFromCurrentChunk(offset, length) {
100
- this.chunkedDataBuffer.isFocused(offset);
101
100
  return offset - this.chunkedDataBuffer.currentChunkOffset + length <= this.chunkedDataBuffer.chunks[this.chunkedDataBuffer.currentChunkIndex].length;
102
101
  }
103
102
  getCurrentDataView() {
package/package.json CHANGED
@@ -1,61 +1,61 @@
1
1
  {
2
2
  "name": "googlevideo",
3
- "version": "1.0.0",
3
+ "version": "2.0.0",
4
4
  "description": "A set of utilities for working with Google Video APIs.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
7
7
  "types": "./dist/src/index.d.ts",
8
8
  "module": "./dist/src/index.js",
9
9
  "scripts": {
10
+ "watch": "npx tsc --watch",
10
11
  "lint": "npx eslint ./src/**/*.ts",
11
12
  "lint:fix": "npx eslint --fix ./src/**/*.ts",
12
- "clean": "npx rimraf ./dist ./bundle ./protos/generated",
13
- "build": "npm run clean && npm run lint && npm run build:proto && npm run build:esm && npm run bundle:node",
13
+ "clean": "npx rimraf ./dist ./protos/generated",
14
+ "build": "npm run clean && npm run lint && npm run build:proto && npm run build:esm",
14
15
  "build:esm": "npx tsc",
15
16
  "build:proto": "node ./dev-scripts/generate-proto.mjs",
16
- "bundle:node": "npx esbuild ./dist/src/index.js --bundle --outfile=./bundle/index.cjs --platform=node --target=node16 --format=cjs --sourcemap --banner:js=\"/* eslint-disable */\"",
17
17
  "prepare": "npm run build"
18
18
  },
19
- "repository": {
20
- "type": "git",
21
- "url": "git+https://github.com/LuanRT/GoogleVideo.git"
22
- },
19
+ "author": "LuanRT <luan.lrt4@gmail.com> (https://github.com/LuanRT)",
20
+ "funding": [
21
+ "https://github.com/sponsors/LuanRT"
22
+ ],
23
23
  "keywords": [
24
24
  "UMP",
25
+ "SABR",
25
26
  "Google",
26
27
  "YouTube"
27
28
  ],
28
- "author": "LuanRT <luan.lrt4@gmail.com> (https://github.com/LuanRT)",
29
29
  "license": "MIT",
30
- "bugs": {
31
- "url": "https://github.com/LuanRT/GoogleVideo/issues"
30
+ "exports": {
31
+ ".": {
32
+ "node": {
33
+ "import": "./dist/src/index.js"
34
+ },
35
+ "types": "./dist/src/index.d.ts",
36
+ "default": "./dist/src/index.js"
37
+ }
32
38
  },
33
- "homepage": "https://github.com/LuanRT/GoogleVideo#readme",
34
- "funding": [
35
- "https://github.com/sponsors/LuanRT"
36
- ],
37
39
  "devDependencies": {
38
40
  "@eslint/js": "^9.9.0",
39
41
  "@stylistic/eslint-plugin": "^2.6.4",
40
42
  "@types/eslint__js": "^8.42.3",
41
- "@types/xmldom": "^0.1.34",
43
+ "esbuild": "^0.24.0",
42
44
  "eslint": "^9.9.0",
43
45
  "globals": "^15.9.0",
44
46
  "ts-proto": "^2.2.0",
45
47
  "typescript": "^5.5.4",
46
48
  "typescript-eslint": "^8.2.0"
47
49
  },
48
- "exports": {
49
- ".": {
50
- "types": "./dist/src/index.d.ts",
51
- "import": "./dist/src/index.js",
52
- "require": "./bundle/index.cjs"
53
- }
54
- },
55
50
  "dependencies": {
56
- "@bufbuild/protobuf": "^2.0.0",
57
- "dom-parser": "^1.1.5",
58
- "xmldom": "^0.6.0",
59
- "youtubei.js": "^10.5.0"
51
+ "@bufbuild/protobuf": "^2.0.0"
52
+ },
53
+ "bugs": {
54
+ "url": "https://github.com/LuanRT/GoogleVideo/issues"
55
+ },
56
+ "homepage": "https://github.com/LuanRT/GoogleVideo#readme",
57
+ "repository": {
58
+ "type": "git",
59
+ "url": "git+https://github.com/LuanRT/GoogleVideo.git"
60
60
  }
61
- }
61
+ }