Get desktop application:
View/edit binary Protocol Buffers messages
Called by the aiworker to register to an orchestrator. The orchestrator notifies registered aiworkers of jobs as they come in.
Sent by the aiworker to register itself to the orchestrator.
Shared secret for auth
AIWorker capabilities
AIWorker hardware info
Sent by the orchestrator to the aiworker
Configuration for the AI job
ID for this particular AI task.
RPC calls implemented by the orchestrator
Called by the broadcaster to request transcoder info from an orchestrator.
This request is sent by the broadcaster in `GetTranscoder` to request information on which transcoder to use.
Ethereum address of the broadcaster
Broadcaster's signature over its address
Features and constraints required by the broadcaster
Don't throw error in case of missing capacity, used for refreshing session when we don't need to check capacity
sent by Broadcaster to Orchestrator to terminate the transcoding session and free resources (used for verification sessions)
Data for transcoding authentication
(message has no fields)
Implementation defined
(message has no fields)
Called by the transcoder to register to an orchestrator. The orchestrator notifies registered transcoders of segments as they come in.
Sent by the transcoder to register itself to the orchestrator.
Shared secret for auth
Transcoder capacity
Transcoder capabilities
Sent by the orchestrator to the transcoder
URL of the segment to transcode.
Configuration for the transcoding job
ID for this particular transcoding task.
Orchestrator identifier for segment metadata
Deprecated by fullProfiles. Set of presets to transcode into. Should be set to an invalid value to induce failures
Data included by the gateway when submitting a AI job.
Used in:
pipeline to use for the job
AI job request data
Data for transcoding authentication that is included in the OrchestratorInfo message during discovery
Used in:
, ,Record used to authenticate for a transcode session Opaque to the receiver
ID of the transcode session that the token is authenticating for
Timestamp when the token expires
Used in:
, , , ,Bit string of supported features - one bit per feature
Bit string of features that are required to be supported
Capacity corresponding to each capability
Non-binary capability constraints, such as supported ranges.
Used in:
Used in:
Non-binary constraints.
Used in:
GPU information used by worker on network
Used in:
unique id
gpu name
compute version supported - major
compute version supported - minor
GPU memory free
GPU memory total
Hardware information for worker on network
Used in:
,pipeline hardware supports
model_id hardware supports
hardware for pipeline and model_id
Used as request type in: TicketRedeemer.MaxFloat, TicketRedeemer.MonitorMaxFloat
Used as response type in: TicketRedeemer.MaxFloat, TicketRedeemer.MonitorMaxFloat
OSInfo needed to negotiate storages that will be used. It carries info needed to write to the storage.
Used in:
,Storage type: direct, s3, ipfs.
Used in:
The orchestrator sends this in response to `GetOrchestrator`, containing miscellaneous data related to the job.
Used as response type in: Orchestrator.GetOrchestrator
Used as field type in:
,URI of the transcoder to use for submitting segments.
Parameters for probabilistic micropayment tickets
Price Info containing the price per pixel to transcode
ETH address that should sign transcoded results
Features and constraints supported by the orchestrator
Data for transcoding authentication
Information on Orchestrator hardware
Orchestrator returns info about own input object storage, if it wants it to be used.
prices for capabilities
Payment for transcoding video segments A payment can constitute of multiple tickets A broadcaster might need to send multiple tickets to top up his credit with an Orchestrator
Probabilistic micropayment ticket parameters These remain the same even when sending multiple tickets
ETH address of the sender
Ticket params for expiration related validation
O's last known price
Response that an orchestrator sends after processing a payment.
Used to notify a broadcaster of updated orchestrator information
PriceInfo conveys pricing info for transcoding services
Used in:
,price in wei
Pixels covered in the price Set price to 1 wei and pixelsPerUnit > 1 to have a smaller price granularity per pixel than 1 wei
Capability price is for
constraint price is for
Used in:
Host to use to connect to S3
Key (prefix) to use when uploading the object.
POST policy that S3 owner node creates to give write access to other node.
Signature for POST policy.
Needed for POST policy.
Needed for POST policy.
Data included by the broadcaster when submitting a segment for transcoding.
Used in:
Manifest ID this segment belongs to
Sequence number of the segment to be transcoded
Hash of the segment data to be transcoded
Transcoding profiles to use
Broadcaster signature for the segment. Corresponds to: broadcaster.sign(manifestId | seqNo | dataHash | profiles)
Duration of the segment to be transcoded, in milliseconds
Capabilities used by this segment.
Data for transcoding authentication
Calculate perceptual hash for this segment
Broadcaster's preferred storage medium(s) XXX should we include this in a sig somewhere until certs are authenticated?
Transcoding profiles to use. Supersedes `profiles` field Deprecated by `fullProfiles2` but may still be used for mpegts formats
Transcoding profiles to use. Supersedes `fullProfiles` field Deprecated by `fullProfiles3` but may still be used for integer FPS
Transcoding profiles to use. Supersedes `fullProfiles2` field
Transcoding parameters specific to this segment
Force HW Session Reinit
Used in:
Start timestamp from which to start encoding Milliseconds, from start of the file
Skip all frames after that timestamp Milliseconds, from start of the file
Ticket params for expiration related validation
Used in:
, ,Round during which tickets are created
Block hash associated with creation_round
Required parameters for probabilistic micropayment tickets
Used in:
, ,ETH address of the recipient
Pay out (in Wei) to the recipient if the ticket wins
Probability that the ticket wins
32 byte keccak-256 hash commitment to a random number provided by the recipient
Value generated by recipient that the recipient can use to derive the random number corresponding to the recipient's hash commitment
Block number at which the current set of advertised TicketParams is no longer valid
Expected ticket expiration params
Sender Params (nonces and signatures)
Used in:
,Monotonically increasing counter that makes the ticket unique relative to a particular hash commitment to a recipient's random number
Sender signature over the ticket
A set of transcoded segments following the profiles specified in the job.
Used in:
Transcoded data, in the order specified in the job options
Signature of the hash of the concatenated hashes
Response that a transcoder sends after transcoding a segment.
Sequence number of the transcoded results.
Result of transcoding can be an error, or successful with more info
Used to notify a broadcaster of updated orchestrator information
Individual transcoded segment data.
Used in:
URL where the transcoded data can be downloaded from.
Amount of pixels processed (output pixels)
URL where the perceptual hash data can be downloaded from (can be empty)
Used in:
Name of VideoProfile
Width of VideoProfile
Height of VideoProfile
Bitrate of VideoProfile
FPS of VideoProfile
FPS Denominator of VideoProfile
Desired codec profile
GOP interval
Encoder (video codec)
Used in:
Desired output format
Used in:
Used in:
Used in: