Video API, gRPC: StreamService.PerformAction
Performs a specific action on a stream, such as publishing or stopping.
Actions change the stream's state without modifying its content or metadata.
gRPC request
rpc PerformAction (PerformStreamActionRequest) returns (operation.Operation)
PerformStreamActionRequest
{
"stream_id": "string",
// Includes only one of the fields `publish`, `stop`
"publish": "PublishAction",
"stop": "StopAction"
// end of the list of possible fields
}
Field |
Description |
stream_id |
string Required field. ID of the stream on which to perform the action. |
publish |
Publish the stream, changing its status from READY to ONAIR. Includes only one of the fields Specifies which action to perform on the stream (exactly one must be chosen). |
stop |
Stop the stream, changing its status to FINISHED. Includes only one of the fields Specifies which action to perform on the stream (exactly one must be chosen). |
PublishAction
Parameters for the publish action.
The action changes the stream's status from READY to ONAIR.
Field |
Description |
Empty |
StopAction
Parameters for the stop action.
The action changes the stream's status to FINISHED.
Field |
Description |
Empty |
operation.Operation
{
"id": "string",
"description": "string",
"created_at": "google.protobuf.Timestamp",
"created_by": "string",
"modified_at": "google.protobuf.Timestamp",
"done": "bool",
"metadata": {
"stream_id": "string"
},
// Includes only one of the fields `error`, `response`
"error": "google.rpc.Status",
"response": {
"id": "string",
"channel_id": "string",
"line_id": "string",
"title": "string",
"description": "string",
"thumbnail_id": "string",
"status": "StreamStatus",
"start_time": "google.protobuf.Timestamp",
"publish_time": "google.protobuf.Timestamp",
"finish_time": "google.protobuf.Timestamp",
"auto_publish": "google.protobuf.BoolValue",
// Includes only one of the fields `on_demand`, `schedule`
"on_demand": "OnDemand",
"schedule": {
"start_time": "google.protobuf.Timestamp",
"finish_time": "google.protobuf.Timestamp"
},
// end of the list of possible fields
"created_at": "google.protobuf.Timestamp",
"updated_at": "google.protobuf.Timestamp",
"labels": "map<string, string>"
}
// end of the list of possible fields
}
An Operation resource. For more information, see Operation.
Field |
Description |
id |
string ID of the operation. |
description |
string Description of the operation. 0-256 characters long. |
created_at |
Creation timestamp. |
created_by |
string ID of the user or service account who initiated the operation. |
modified_at |
The time when the Operation resource was last modified. |
done |
bool If the value is |
metadata |
Service-specific metadata associated with the operation. |
error |
The error result of the operation in case of failure or cancellation. Includes only one of the fields The operation result. |
response |
The normal response of the operation in case of success. Includes only one of the fields The operation result. |
PerformStreamActionMetadata
Field |
Description |
stream_id |
string ID of the stream on which the action is being performed. |
Stream
Entity representing a live video stream.
A stream is a real-time video broadcast linked to a specific stream line.
Field |
Description |
id |
string Unique identifier of the stream. |
channel_id |
string Identifier of the channel where the stream is created and managed. |
line_id |
string Identifier of the stream line to which this stream is linked. |
title |
string Title of the stream displayed in interfaces and players. |
description |
string Detailed description of the stream content and context. |
thumbnail_id |
string Identifier of the thumbnail image used to represent the stream visually. |
status |
enum StreamStatus Current status of the stream.
|
start_time |
Timestamp when the stream was initiated. |
publish_time |
Timestamp when the stream was published (switched to ONAIR status). |
finish_time |
Timestamp when the stream was completed. |
auto_publish |
Controls automatic publishing of the stream when it's ready. |
on_demand |
On-demand stream starts immediately when a video signal appears. Includes only one of the fields Specifies the stream scheduling type. |
schedule |
Scheduled stream starts and finishes at specified time. Includes only one of the fields Specifies the stream scheduling type. |
created_at |
Timestamp when the stream was initially created in the system. |
updated_at |
Timestamp of the last modification to the stream or its metadata. |
labels |
object (map<string, string>) Custom user-defined labels as |
OnDemand
Represents an on-demand stream type.
This type of stream must be started and finished explicitly by the user.
It begins broadcasting immediately when a video signal is detected.
Field |
Description |
Empty |
Schedule
Represents a scheduled stream type.
This type of stream starts and finishes automatically at specified time.
Field |
Description |
start_time |
Scheduled time when the stream should automatically start. |
finish_time |
Scheduled time when the stream should automatically finish. |