livepeer 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|