Skip to content

Commit 9104894

Browse files
committed
Updated Livepeer package
1 parent 25ddeae commit 9104894

File tree

5 files changed

+73
-105
lines changed

5 files changed

+73
-105
lines changed

package.json

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
11
{
2-
"name": "streameth-platform",
3-
"version": "1.0.0",
4-
"private": true,
5-
"workspaces": {
6-
"packages": [
7-
"packages/app",
8-
"packages/server",
9-
"packages/contracts",
10-
"packages/video-uploader"
11-
]
12-
},
13-
"scripts": {
14-
"build": "yarn workspace @streameth/streameth-app build",
15-
"dev": "yarn workspace @streameth/streameth-app dev",
16-
"start": "yarn workspace @streameth/streameth-app start",
17-
"next:lint": "yarn workspace @streameth/streameth-app lint",
18-
"next:check-types": "yarn workspace @streameth/streameth-app check-types",
19-
"prettier:fix": "yarn workspace @streameth/streameth-app prettier:fix && yarn workspace streameth-new-server prettier:fix",
20-
"prettier:check": "yarn workspace @streameth/streameth-app prettier:check && yarn workspace streameth-new-server prettier:check",
21-
"precommit": "lint-staged --verbose",
22-
"install:all": "yarn --cwd @streameth/server/ && yarn",
23-
"build:server": "yarn workspace streameth-new-server build",
24-
"start:server": "yarn workspace streameth-new-server start",
25-
"prepare": "husky"
26-
},
27-
"devDependencies": {
28-
"husky": "^9",
29-
"lint-staged": "^15.2.7",
30-
"prettier": "^3",
31-
"prettier-plugin-tailwindcss": "^0.6.5"
32-
}
2+
"name": "streameth-platform",
3+
"version": "1.0.0",
4+
"private": true,
5+
"workspaces": {
6+
"packages": [
7+
"packages/app",
8+
"packages/server",
9+
"packages/contracts",
10+
"packages/video-uploader"
11+
]
12+
},
13+
"scripts": {
14+
"build": "yarn workspace @streameth/streameth-app build",
15+
"dev": "yarn workspace @streameth/streameth-app dev",
16+
"start": "yarn workspace @streameth/streameth-app start",
17+
"next:lint": "yarn workspace @streameth/streameth-app lint",
18+
"next:check-types": "yarn workspace @streameth/streameth-app check-types",
19+
"prettier:fix": "yarn workspace @streameth/streameth-app prettier:fix && yarn workspace streameth-new-server prettier:fix",
20+
"prettier:check": "yarn workspace @streameth/streameth-app prettier:check && yarn workspace streameth-new-server prettier:check",
21+
"precommit": "lint-staged --verbose",
22+
"install:all": "yarn --cwd @streameth/server/ && yarn",
23+
"build:server": "yarn workspace streameth-new-server build",
24+
"start:server": "yarn workspace streameth-new-server start",
25+
"prepare": "husky"
26+
},
27+
"devDependencies": {
28+
"husky": "^9",
29+
"lint-staged": "^15.2.7",
30+
"prettier": "^3",
31+
"prettier-plugin-tailwindcss": "^0.6.5"
32+
}
3333
}

packages/app/lib/actions/stages.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ export const createMultistreamAction = async (
6969
name,
7070
targetURL: url,
7171
targetStreamKey: streamKey,
72-
7372
organizationId,
7473
});
7574
revalidatePath('/studio');

packages/server/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
"http-proxy-middleware": "^3.0.3",
4141
"joi": "^17.12.2",
4242
"jsonwebtoken": "^9.0.2",
43-
"livepeer": "3.0.2",
43+
"livepeer": "3.5.0",
4444
"mongoose": "7.6.2",
4545
"morgan": "^1.10.0",
4646
"multer": "^1.4.5-lts.1",

packages/server/src/utils/livepeer.ts

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import State from '@models/state.model';
1313
import SessionService from '@services/session.service';
1414
import StateService from '@services/state.service';
1515
import { Livepeer } from 'livepeer';
16-
import { Session, Stream } from 'livepeer/dist/models/components';
1716
import fetch from 'node-fetch';
1817
import youtubedl from 'youtube-dl-exec';
1918
import { createEventVideoById } from './firebase';
@@ -22,6 +21,8 @@ import { refreshAccessToken } from './oauth';
2221
import pulse from './pulse.cron';
2322
import { fetchAndParseVTT, getSourceType } from './util';
2423
import { deleteYoutubeLiveStream } from './youtube';
24+
import { Stream, Session } from 'livepeer/models/components';
25+
2526
const { host, secretKey } = config.livepeer;
2627
const livepeer = new Livepeer({
2728
apiKey: secretKey,
@@ -276,28 +277,41 @@ export const getStreamRecordings = async (streamId: string): Promise<any> => {
276277

277278
export const createMultiStream = async (data: IMultiStream): Promise<void> => {
278279
try {
279-
const response = await livepeer.stream.createMultistreamTarget(
280-
data.streamId,
280+
const response = await fetch(
281+
`https://livepeer.studio/api/stream/${data.streamId}/create-multistream-target`,
281282
{
282-
spec: {
283-
name: data.name,
284-
url: data.targetURL + '/' + data.targetStreamKey,
283+
method: 'POST',
284+
headers: {
285+
Authorization: `Bearer ${process.env.LIVEPEER_API_KEY}`,
286+
'Content-Type': 'application/json',
285287
},
286-
profile: 'source',
288+
body: JSON.stringify({
289+
profile: 'source',
290+
spec: {
291+
name: data.name,
292+
url: data.targetURL + '/' + data.targetStreamKey,
293+
},
294+
}),
287295
},
288296
);
289-
const multistream = JSON.parse(response.rawResponse.data.toString());
297+
298+
if (!response.ok) {
299+
throw new HttpException(response.status, 'Error creating multistream');
300+
}
301+
302+
const multistream = await response.json();
303+
304+
console.log(multistream);
305+
290306
const stage = await Stage.findOne({
291307
'streamSettings.streamId': data.streamId,
292308
});
309+
293310
await stage.updateOne({
294311
$push: {
295312
'streamSettings.targets': {
296313
id: multistream.id,
297314
name: multistream.name,
298-
socialId: data.socialId ?? '',
299-
socialType: data.socialType ?? '',
300-
broadcastId: data.broadcastId ?? '',
301315
},
302316
},
303317
});
@@ -379,8 +393,8 @@ export const getSessionMetrics = async (
379393
playbackId: string,
380394
): Promise<{ viewCount: number; playTimeMins: number }> => {
381395
try {
382-
const metrics = await livepeer.metrics.getPublicTotalViews(playbackId);
383-
if (!metrics.object) {
396+
const metrics = await livepeer.metrics.getPublicViewership(playbackId);
397+
if (!metrics.rawResponse.ok) {
384398
return {
385399
viewCount: 0,
386400
playTimeMins: 0,

yarn.lock

Lines changed: 14 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -7052,7 +7052,7 @@ axe-core@^4.9.1:
70527052
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.9.1.tgz#fcd0f4496dad09e0c899b44f6c4bb7848da912ae"
70537053
integrity sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==
70547054

7055-
axios@^1.1.3, axios@^1.5.1:
7055+
axios@^1.5.1:
70567056
version "1.7.4"
70577057
resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.4.tgz#4c8ded1b43683c8dd362973c393f3ede24052aa2"
70587058
integrity sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==
@@ -9584,18 +9584,6 @@ [email protected]:
95849584
optionalDependencies:
95859585
source-map "~0.2.0"
95869586

9587-
escodegen@^1.8.1:
9588-
version "1.14.3"
9589-
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503"
9590-
integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==
9591-
dependencies:
9592-
esprima "^4.0.1"
9593-
estraverse "^4.2.0"
9594-
esutils "^2.0.2"
9595-
optionator "^0.8.1"
9596-
optionalDependencies:
9597-
source-map "~0.6.1"
9598-
95999587
escodegen@^2.1.0:
96009588
version "2.1.0"
96019589
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17"
@@ -9800,11 +9788,6 @@ espree@^9.6.0, espree@^9.6.1:
98009788
acorn-jsx "^5.3.2"
98019789
eslint-visitor-keys "^3.4.1"
98029790

9803-
9804-
version "1.2.2"
9805-
resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.2.2.tgz#76a0fd66fcfe154fd292667dc264019750b1657b"
9806-
integrity sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==
9807-
98089791
[email protected], esprima@^2.7.1:
98099792
version "2.7.3"
98109793
resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
@@ -9834,11 +9817,6 @@ estraverse@^1.9.1:
98349817
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
98359818
integrity sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==
98369819

9837-
estraverse@^4.2.0:
9838-
version "4.3.0"
9839-
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
9840-
integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
9841-
98429820
estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
98439821
version "5.3.0"
98449822
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
@@ -13052,15 +13030,6 @@ jsonp@^0.2.1:
1305213030
dependencies:
1305313031
debug "^2.1.3"
1305413032

13055-
jsonpath@^1.1.1:
13056-
version "1.1.1"
13057-
resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.1.1.tgz#0ca1ed8fb65bb3309248cc9d5466d12d5b0b9901"
13058-
integrity sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==
13059-
dependencies:
13060-
esprima "1.2.2"
13061-
static-eval "2.0.2"
13062-
underscore "1.12.1"
13063-
1306413033
jsonschema@^1.2.4:
1306513034
version "1.4.1"
1306613035
resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.1.tgz#cc4c3f0077fb4542982973d8a083b6b34f482dab"
@@ -13357,16 +13326,14 @@ [email protected], lit@^2.2.3:
1335713326
lit-element "^3.3.0"
1335813327
lit-html "^2.8.0"
1335913328

13360-
livepeer@3.0.2:
13361-
version "3.0.2"
13362-
resolved "https://registry.yarnpkg.com/livepeer/-/livepeer-3.0.2.tgz#169daf9651db29c20ff387a0693884e245142c10"
13363-
integrity sha512-+PiM4BKLFYK2JAO16rZPdrTUq5PF40KP7vztq44OafwLR3ousawqOm+Kr4/+V4WoCXdhve5BU/atyTRrcjvHvA==
13329+
livepeer@3.5.0:
13330+
version "3.5.0"
13331+
resolved "https://registry.yarnpkg.com/livepeer/-/livepeer-3.5.0.tgz#703ed1121063dbb08a2f8e8aa2af884dc197013a"
13332+
integrity sha512-SfvrnAFneQMhF2iSONGfvg1uutw7x2+QPh6UZvp1FVDBVBDEYTMTTrEG/xYYbAn66DoYeP7q049Wdjim77vfog==
1336413333
dependencies:
13365-
axios "^1.1.3"
13366-
class-transformer "^0.5.1"
13367-
form-data "^4.0.0"
13368-
jsonpath "^1.1.1"
13369-
reflect-metadata "^0.1.13"
13334+
jest "^29.7.0"
13335+
jest-junit "^16.0.0"
13336+
ts-jest "^29.1.4"
1337013337

1337113338
livepeer@^3.4.0:
1337213339
version "3.4.0"
@@ -14757,7 +14724,12 @@ n-gram@^2.0.0:
1475714724
resolved "https://registry.yarnpkg.com/n-gram/-/n-gram-2.0.2.tgz#e544a7dffefc49c22d898b2f491e787941b3a2ba"
1475814725
integrity sha512-S24aGsn+HLBxUGVAUFOwGpKs7LBcG4RudKU//eWzt/mQ97/NMKQxDWHyHx63UNWk/OOdihgmzoETn1tf5nQDzQ==
1475914726

14760-
[email protected], nanoid@^3.3.6, nanoid@^3.3.7:
14727+
14728+
version "3.3.8"
14729+
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf"
14730+
integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==
14731+
14732+
nanoid@^3.3.6, nanoid@^3.3.7:
1476114733
version "3.3.7"
1476214734
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
1476314735
integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
@@ -16622,11 +16594,6 @@ reduce-flatten@^2.0.0:
1662216594
resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27"
1662316595
integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==
1662416596

16625-
reflect-metadata@^0.1.13:
16626-
version "0.1.14"
16627-
resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.14.tgz#24cf721fe60677146bb77eeb0e1f9dece3d65859"
16628-
integrity sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==
16629-
1663016597
reflect-metadata@^0.2.1:
1663116598
version "0.2.2"
1663216599
resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.2.2.tgz#400c845b6cba87a21f2c65c4aeb158f4fa4d9c5b"
@@ -17680,13 +17647,6 @@ stacktrace-parser@^0.1.10:
1768017647
dependencies:
1768117648
type-fest "^0.7.1"
1768217649

17683-
17684-
version "2.0.2"
17685-
resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.2.tgz#2d1759306b1befa688938454c546b7871f806a42"
17686-
integrity sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==
17687-
dependencies:
17688-
escodegen "^1.8.1"
17689-
1769017650
1769117651
version "2.0.1"
1769217652
resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
@@ -18937,11 +18897,6 @@ undefsafe@^2.0.5:
1893718897
resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c"
1893818898
integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==
1893918899

18940-
18941-
version "1.12.1"
18942-
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e"
18943-
integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==
18944-
1894518900
undici-types@~5.26.4:
1894618901
version "5.26.5"
1894718902
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"

0 commit comments

Comments
 (0)