livepeer 0.0.1
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.
- checksums.yaml +7 -0
- data/lib/livepeer.rb +96 -0
- data/lib/sdk/access_control.rb +195 -0
- data/lib/sdk/asset.rb +248 -0
- data/lib/sdk/metrics.rb +158 -0
- data/lib/sdk/models/operations/createmultistreamtarget.rb +34 -0
- data/lib/sdk/models/operations/createsigningkey.rb +35 -0
- data/lib/sdk/models/operations/createstream.rb +34 -0
- data/lib/sdk/models/operations/createwebhook.rb +35 -0
- data/lib/sdk/models/operations/deleteasset.rb +45 -0
- data/lib/sdk/models/operations/deletemultistreamtarget.rb +45 -0
- data/lib/sdk/models/operations/deletesigningkey.rb +45 -0
- data/lib/sdk/models/operations/deletestream.rb +45 -0
- data/lib/sdk/models/operations/deletewebhook.rb +49 -0
- data/lib/sdk/models/operations/get_session_id_clips.rb +48 -0
- data/lib/sdk/models/operations/get_stream_id_clips.rb +48 -0
- data/lib/sdk/models/operations/getasset.rb +49 -0
- data/lib/sdk/models/operations/getassets.rb +34 -0
- data/lib/sdk/models/operations/getcreatormetrics.rb +98 -0
- data/lib/sdk/models/operations/getmultistreamtarget.rb +49 -0
- data/lib/sdk/models/operations/getmultistreamtargets.rb +34 -0
- data/lib/sdk/models/operations/getplaybackinfo.rb +53 -0
- data/lib/sdk/models/operations/getpublictotalviewsmetrics.rb +76 -0
- data/lib/sdk/models/operations/getrecordedsessions.rb +53 -0
- data/lib/sdk/models/operations/getsession.rb +49 -0
- data/lib/sdk/models/operations/getsessions.rb +34 -0
- data/lib/sdk/models/operations/getsigningkey.rb +49 -0
- data/lib/sdk/models/operations/getsigningkeys.rb +34 -0
- data/lib/sdk/models/operations/getstream.rb +49 -0
- data/lib/sdk/models/operations/getstreams.rb +48 -0
- data/lib/sdk/models/operations/gettask.rb +49 -0
- data/lib/sdk/models/operations/gettasks.rb +34 -0
- data/lib/sdk/models/operations/getusagemetrics.rb +72 -0
- data/lib/sdk/models/operations/getviewershipsmetrics.rb +107 -0
- data/lib/sdk/models/operations/getwebhook.rb +49 -0
- data/lib/sdk/models/operations/getwebhooks.rb +34 -0
- data/lib/sdk/models/operations/patch_asset_assetid_.rb +53 -0
- data/lib/sdk/models/operations/post_clip.rb +66 -0
- data/lib/sdk/models/operations/requestupload.rb +72 -0
- data/lib/sdk/models/operations/transcode.rb +35 -0
- data/lib/sdk/models/operations/updatemultistreamtarget.rb +49 -0
- data/lib/sdk/models/operations/updatesigningkey.rb +65 -0
- data/lib/sdk/models/operations/updatestream.rb +49 -0
- data/lib/sdk/models/operations/updatewebhook.rb +49 -0
- data/lib/sdk/models/operations/uploadassetviaurl.rb +66 -0
- data/lib/sdk/models/shared/asset.rb +312 -0
- data/lib/sdk/models/shared/asset_patch_payload.rb +38 -0
- data/lib/sdk/models/shared/attestation.rb +178 -0
- data/lib/sdk/models/shared/clip_payload.rb +37 -0
- data/lib/sdk/models/shared/encryption.rb +25 -0
- data/lib/sdk/models/shared/encryption_output.rb +21 -0
- data/lib/sdk/models/shared/error.rb +25 -0
- data/lib/sdk/models/shared/ffmpeg_profile.rb +71 -0
- data/lib/sdk/models/shared/ipfs_export_params.rb +41 -0
- data/lib/sdk/models/shared/ipfs_file_info.rb +31 -0
- data/lib/sdk/models/shared/multistream.rb +75 -0
- data/lib/sdk/models/shared/multistream_target.rb +36 -0
- data/lib/sdk/models/shared/multistream_target_input.rb +33 -0
- data/lib/sdk/models/shared/multistream_target_patch_payload.rb +33 -0
- data/lib/sdk/models/shared/new_asset_payload.rb +79 -0
- data/lib/sdk/models/shared/new_stream_payload.rb +44 -0
- data/lib/sdk/models/shared/nftmetadata.rb +24 -0
- data/lib/sdk/models/shared/nftmetadatatemplate.rb +23 -0
- data/lib/sdk/models/shared/playback_info.rb +115 -0
- data/lib/sdk/models/shared/playback_policy.rb +41 -0
- data/lib/sdk/models/shared/security.rb +25 -0
- data/lib/sdk/models/shared/session.rb +99 -0
- data/lib/sdk/models/shared/signing_key.rb +40 -0
- data/lib/sdk/models/shared/signing_key_response_payload.rb +43 -0
- data/lib/sdk/models/shared/storage.rb +28 -0
- data/lib/sdk/models/shared/storage_status.rb +70 -0
- data/lib/sdk/models/shared/stream.rb +142 -0
- data/lib/sdk/models/shared/stream_patch_payload.rb +41 -0
- data/lib/sdk/models/shared/task.rb +626 -0
- data/lib/sdk/models/shared/upload.rb +34 -0
- data/lib/sdk/models/shared/upload_output.rb +34 -0
- data/lib/sdk/models/shared/usage_metric.rb +38 -0
- data/lib/sdk/models/shared/viewership_metric.rb +97 -0
- data/lib/sdk/models/shared/webhook.rb +112 -0
- data/lib/sdk/multistream_target.rb +205 -0
- data/lib/sdk/playback.rb +63 -0
- data/lib/sdk/sdk.rb +89 -0
- data/lib/sdk/sdkconfiguration.rb +54 -0
- data/lib/sdk/session.rb +166 -0
- data/lib/sdk/stream.rb +290 -0
- data/lib/sdk/task.rb +87 -0
- data/lib/sdk/transcode.rb +59 -0
- data/lib/sdk/utils/metadata_fields.rb +154 -0
- data/lib/sdk/utils/utils.rb +774 -0
- data/lib/sdk/webhook.rb +192 -0
- metadata +260 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
require_relative '../shared/playback_policy'
|
|
9
|
+
|
|
10
|
+
module Livepeer
|
|
11
|
+
module Shared
|
|
12
|
+
|
|
13
|
+
class StreamTargets < Livepeer::Utils::FieldAugmented
|
|
14
|
+
extend T::Sig
|
|
15
|
+
|
|
16
|
+
# Name of the transcoding profile that should be sent. Use
|
|
17
|
+
# "source" for pushing the source stream data
|
|
18
|
+
#
|
|
19
|
+
field :profile, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('profile') } }
|
|
20
|
+
# ID of the multistream target object where to push this stream
|
|
21
|
+
field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
|
22
|
+
# If true, the stream audio will be muted, and only silent
|
|
23
|
+
# video will be pushed to the target.
|
|
24
|
+
#
|
|
25
|
+
field :video_only, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('videoOnly') } }
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
sig { params(profile: String, id: T.nilable(String), video_only: T.nilable(T::Boolean)).void }
|
|
29
|
+
def initialize(profile: nil, id: nil, video_only: nil)
|
|
30
|
+
@profile = profile
|
|
31
|
+
@id = id
|
|
32
|
+
@video_only = video_only
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class StreamMultistream < Livepeer::Utils::FieldAugmented
|
|
38
|
+
extend T::Sig
|
|
39
|
+
|
|
40
|
+
# References to targets where this stream will be simultaneously
|
|
41
|
+
# streamed to
|
|
42
|
+
#
|
|
43
|
+
field :targets, T.nilable(T::Array[Shared::StreamTargets]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('targets') } }
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
sig { params(targets: T.nilable(T::Array[Shared::StreamTargets])).void }
|
|
47
|
+
def initialize(targets: nil)
|
|
48
|
+
@targets = targets
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class Stream < Livepeer::Utils::FieldAugmented
|
|
54
|
+
extend T::Sig
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
field :name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
|
58
|
+
# Timestamp (in milliseconds) at which the stream object was created
|
|
59
|
+
field :created_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('createdAt') } }
|
|
60
|
+
# Name of the token used to create this object
|
|
61
|
+
field :created_by_token_name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('createdByTokenName') } }
|
|
62
|
+
|
|
63
|
+
field :creator_id, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('creatorId') } }
|
|
64
|
+
|
|
65
|
+
field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
|
66
|
+
# Rate at which sourceBytes increases (bytes/second)
|
|
67
|
+
field :ingest_rate, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('ingestRate') } }
|
|
68
|
+
# If currently active
|
|
69
|
+
field :is_active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('isActive') } }
|
|
70
|
+
# Indicates whether the stream is healthy or not.
|
|
71
|
+
field :is_healthy, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('isHealthy') } }
|
|
72
|
+
# A string array of human-readable errors describing issues affecting
|
|
73
|
+
# the stream, if any.
|
|
74
|
+
#
|
|
75
|
+
field :issues, T.nilable(T::Array[String]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('issues') } }
|
|
76
|
+
|
|
77
|
+
field :last_seen, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('lastSeen') } }
|
|
78
|
+
|
|
79
|
+
field :multistream, T.nilable(Shared::StreamMultistream), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('multistream') } }
|
|
80
|
+
# Rate at which transcodedBytes increases (bytes/second)
|
|
81
|
+
field :outgoing_rate, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('outgoingRate') } }
|
|
82
|
+
# Points to the parent stream object
|
|
83
|
+
field :parent_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('parentId') } }
|
|
84
|
+
# Used to form playback URL
|
|
85
|
+
field :playback_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackId') } }
|
|
86
|
+
# Whether the playback policy for a asset or stream is public or signed
|
|
87
|
+
field :playback_policy, T.nilable(Shared::PlaybackPolicy), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackPolicy') } }
|
|
88
|
+
|
|
89
|
+
field :profiles, T.nilable(T::Array[Shared::FfmpegProfile]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('profiles') } }
|
|
90
|
+
# Should this stream be recorded? Uses default settings. For more
|
|
91
|
+
# customization, create and configure an object store.
|
|
92
|
+
#
|
|
93
|
+
field :record, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('record') } }
|
|
94
|
+
|
|
95
|
+
field :source_bytes, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('sourceBytes') } }
|
|
96
|
+
|
|
97
|
+
field :source_segments, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('sourceSegments') } }
|
|
98
|
+
# Duration of all the source segments, sec
|
|
99
|
+
field :source_segments_duration, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('sourceSegmentsDuration') } }
|
|
100
|
+
# Used to form the RTMP ingest URL
|
|
101
|
+
field :stream_key, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('streamKey') } }
|
|
102
|
+
# If currently suspended
|
|
103
|
+
field :suspended, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('suspended') } }
|
|
104
|
+
|
|
105
|
+
field :transcoded_bytes, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('transcodedBytes') } }
|
|
106
|
+
|
|
107
|
+
field :transcoded_segments, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('transcodedSegments') } }
|
|
108
|
+
# Duration of all the transcoded segments, sec
|
|
109
|
+
field :transcoded_segments_duration, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('transcodedSegmentsDuration') } }
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
sig { params(name: String, created_at: T.nilable(Float), created_by_token_name: T.nilable(String), creator_id: T.nilable(Object), id: T.nilable(String), ingest_rate: T.nilable(Float), is_active: T.nilable(T::Boolean), is_healthy: T.nilable(T::Boolean), issues: T.nilable(T::Array[String]), last_seen: T.nilable(Float), multistream: T.nilable(Shared::StreamMultistream), outgoing_rate: T.nilable(Float), parent_id: T.nilable(String), playback_id: T.nilable(String), playback_policy: T.nilable(Shared::PlaybackPolicy), profiles: T.nilable(T::Array[Shared::FfmpegProfile]), record: T.nilable(T::Boolean), source_bytes: T.nilable(Float), source_segments: T.nilable(Float), source_segments_duration: T.nilable(Float), stream_key: T.nilable(String), suspended: T.nilable(T::Boolean), transcoded_bytes: T.nilable(Float), transcoded_segments: T.nilable(Float), transcoded_segments_duration: T.nilable(Float)).void }
|
|
113
|
+
def initialize(name: nil, created_at: nil, created_by_token_name: nil, creator_id: nil, id: nil, ingest_rate: nil, is_active: nil, is_healthy: nil, issues: nil, last_seen: nil, multistream: nil, outgoing_rate: nil, parent_id: nil, playback_id: nil, playback_policy: nil, profiles: nil, record: nil, source_bytes: nil, source_segments: nil, source_segments_duration: nil, stream_key: nil, suspended: nil, transcoded_bytes: nil, transcoded_segments: nil, transcoded_segments_duration: nil)
|
|
114
|
+
@name = name
|
|
115
|
+
@created_at = created_at
|
|
116
|
+
@created_by_token_name = created_by_token_name
|
|
117
|
+
@creator_id = creator_id
|
|
118
|
+
@id = id
|
|
119
|
+
@ingest_rate = ingest_rate
|
|
120
|
+
@is_active = is_active
|
|
121
|
+
@is_healthy = is_healthy
|
|
122
|
+
@issues = issues
|
|
123
|
+
@last_seen = last_seen
|
|
124
|
+
@multistream = multistream
|
|
125
|
+
@outgoing_rate = outgoing_rate
|
|
126
|
+
@parent_id = parent_id
|
|
127
|
+
@playback_id = playback_id
|
|
128
|
+
@playback_policy = playback_policy
|
|
129
|
+
@profiles = profiles
|
|
130
|
+
@record = record
|
|
131
|
+
@source_bytes = source_bytes
|
|
132
|
+
@source_segments = source_segments
|
|
133
|
+
@source_segments_duration = source_segments_duration
|
|
134
|
+
@stream_key = stream_key
|
|
135
|
+
@suspended = suspended
|
|
136
|
+
@transcoded_bytes = transcoded_bytes
|
|
137
|
+
@transcoded_segments = transcoded_segments
|
|
138
|
+
@transcoded_segments_duration = transcoded_segments_duration
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
require_relative '../shared/multistream'
|
|
9
|
+
require_relative '../shared/playback_policy'
|
|
10
|
+
|
|
11
|
+
module Livepeer
|
|
12
|
+
module Shared
|
|
13
|
+
|
|
14
|
+
class StreamPatchPayload < Livepeer::Utils::FieldAugmented
|
|
15
|
+
extend T::Sig
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
field :creator_id, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('creatorId') } }
|
|
19
|
+
|
|
20
|
+
field :multistream, T.nilable(Shared::Multistream), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('multistream') } }
|
|
21
|
+
# Whether the playback policy for a asset or stream is public or signed
|
|
22
|
+
field :playback_policy, T.nilable(Shared::PlaybackPolicy), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackPolicy') } }
|
|
23
|
+
# Should this stream be recorded? Uses default settings. For more
|
|
24
|
+
# customization, create and configure an object store.
|
|
25
|
+
#
|
|
26
|
+
field :record, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('record') } }
|
|
27
|
+
# If currently suspended
|
|
28
|
+
field :suspended, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('suspended') } }
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
sig { params(creator_id: T.nilable(Object), multistream: T.nilable(Shared::Multistream), playback_policy: T.nilable(Shared::PlaybackPolicy), record: T.nilable(T::Boolean), suspended: T.nilable(T::Boolean)).void }
|
|
32
|
+
def initialize(creator_id: nil, multistream: nil, playback_policy: nil, record: nil, suspended: nil)
|
|
33
|
+
@creator_id = creator_id
|
|
34
|
+
@multistream = multistream
|
|
35
|
+
@playback_policy = playback_policy
|
|
36
|
+
@record = record
|
|
37
|
+
@suspended = suspended
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|