LiveBroadcastContentDetails
extends Part
in package
This file is generated from spec/discovery.json (YouTube Data API v3, revision 20260924) by tools/generate.php. Do not edit it by hand - run `composer spec:build` instead.
Detailed settings of a broadcast.
Tags
Table of Contents
Constants
- CLOSED_CAPTIONS_TYPE_CLOSED_CAPTIONS_DISABLED : mixed = 'closedCaptionsDisabled'
- A `closedCaptionsType` of `closedCaptionsDisabled`.
- CLOSED_CAPTIONS_TYPE_CLOSED_CAPTIONS_EMBEDDED : mixed = 'closedCaptionsEmbedded'
- A `closedCaptionsType` of `closedCaptionsEmbedded`.
- CLOSED_CAPTIONS_TYPE_CLOSED_CAPTIONS_HTTP_POST : mixed = 'closedCaptionsHttpPost'
- A `closedCaptionsType` of `closedCaptionsHttpPost`.
- CLOSED_CAPTIONS_TYPE_CLOSED_CAPTIONS_TYPE_UNSPECIFIED : mixed = 'closedCaptionsTypeUnspecified'
- A `closedCaptionsType` of `closedCaptionsTypeUnspecified`.
- LATENCY_PREFERENCE_LATENCY_PREFERENCE_UNSPECIFIED : mixed = 'latencyPreferenceUnspecified'
- A `latencyPreference` of `latencyPreferenceUnspecified`.
- LATENCY_PREFERENCE_LOW : mixed = 'low'
- Best for: near real-time interaction, with minimal playback buffering.
- LATENCY_PREFERENCE_NORMAL : mixed = 'normal'
- Best for: highest quality viewer playbacks and higher resolutions.
- LATENCY_PREFERENCE_ULTRA_LOW : mixed = 'ultraLow'
- Best for: real-time interaction Does not support: Closed captions, 1440p, and 4k resolutions
- PROJECTION_360 : mixed = '360'
- A `projection` of `360`.
- PROJECTION_MESH : mixed = 'mesh'
- A `projection` of `mesh`.
- PROJECTION_PROJECTION_UNSPECIFIED : mixed = 'projectionUnspecified'
- A `projection` of `projectionUnspecified`.
- PROJECTION_RECTANGULAR : mixed = 'rectangular'
- A `projection` of `rectangular`.
- STEREO_LAYOUT_LEFT_RIGHT : mixed = 'leftRight'
- A `stereoLayout` of `leftRight`.
- STEREO_LAYOUT_MONO : mixed = 'mono'
- A `stereoLayout` of `mono`.
- STEREO_LAYOUT_STEREO_LAYOUT_UNSPECIFIED : mixed = 'stereoLayoutUnspecified'
- A `stereoLayout` of `stereoLayoutUnspecified`.
- STEREO_LAYOUT_TOP_BOTTOM : mixed = 'topBottom'
- A `stereoLayout` of `topBottom`.
Properties
- $availabilityConfig : AvailabilityConfig|null
- $boundStreamId : string|null
- $boundStreamLastUpdateTimeMs : CarbonImmutable|null
- $closedCaptionsType : string|null
- $enableAutoStart : bool|null
- $enableAutoStop : bool|null
- $enableClosedCaptions : bool|null
- $enableContentEncryption : bool|null
- $enableDvr : bool|null
- $enableEmbed : bool|null
- $enableLowLatency : bool|null
- $latencyPreference : string|null
- $mesh : string|null
- $monitorStream : MonitorStreamInfo|null
- $projection : string|null
- $recordFromStart : bool|null
- $startWithSlate : bool|null
- $stereoLayout : string|null
- $casts : array<string, string>
- Attribute name => type token (`"LiveChatMessageSnippet"`, `"Array of Thumbnail"`, `"Map of VideoLocalization"`), used to hydrate nested objects into parts.
- $dates : array<int, string>
- Attribute names holding RFC 3339 timestamps, read back as {@see CarbonImmutable}. They are stored and serialised as the strings YouTube sent.
- $youtube : ?YouTube
Methods
- __construct() : mixed
- __debugInfo() : array<string, mixed>
- __get() : mixed
- __isset() : bool
- __set() : void
- __toString() : string
- __unset() : void
- attributeExists() : bool
- fill() : void
- getAttribute() : mixed
- getCasts() : array<string, string>
- getDates() : array<int, string>
- getRawAttribute() : mixed
- Reads straight from the attribute bag, skipping the `get{Key}Attribute` hook.
- getRawAttributes() : array<string, mixed>
- getYouTube() : YouTube
- The client this part came from.
- jsonSerialize() : array<string, mixed>
- The payload this part would be sent back to YouTube as: nested parts and collections flattened, timestamps as RFC 3339 strings.
- offsetExists() : bool
- offsetGet() : mixed
- offsetSet() : void
- offsetUnset() : void
- setAttribute() : void
- factory() : Factory
- Builds another part from the same client - for nested objects.
- setRawAttribute() : void
- Writes straight to the attribute bag, skipping the `set{Key}Attribute` hook and any cast. For use *inside* a mutator, which would otherwise have no way to store its shaped value without recursing through {@see setAttribute()}.
Constants
CLOSED_CAPTIONS_TYPE_CLOSED_CAPTIONS_DISABLED
A `closedCaptionsType` of `closedCaptionsDisabled`.
public
mixed
CLOSED_CAPTIONS_TYPE_CLOSED_CAPTIONS_DISABLED
= 'closedCaptionsDisabled'
CLOSED_CAPTIONS_TYPE_CLOSED_CAPTIONS_EMBEDDED
A `closedCaptionsType` of `closedCaptionsEmbedded`.
public
mixed
CLOSED_CAPTIONS_TYPE_CLOSED_CAPTIONS_EMBEDDED
= 'closedCaptionsEmbedded'
CLOSED_CAPTIONS_TYPE_CLOSED_CAPTIONS_HTTP_POST
A `closedCaptionsType` of `closedCaptionsHttpPost`.
public
mixed
CLOSED_CAPTIONS_TYPE_CLOSED_CAPTIONS_HTTP_POST
= 'closedCaptionsHttpPost'
CLOSED_CAPTIONS_TYPE_CLOSED_CAPTIONS_TYPE_UNSPECIFIED
A `closedCaptionsType` of `closedCaptionsTypeUnspecified`.
public
mixed
CLOSED_CAPTIONS_TYPE_CLOSED_CAPTIONS_TYPE_UNSPECIFIED
= 'closedCaptionsTypeUnspecified'
LATENCY_PREFERENCE_LATENCY_PREFERENCE_UNSPECIFIED
A `latencyPreference` of `latencyPreferenceUnspecified`.
public
mixed
LATENCY_PREFERENCE_LATENCY_PREFERENCE_UNSPECIFIED
= 'latencyPreferenceUnspecified'
LATENCY_PREFERENCE_LOW
Best for: near real-time interaction, with minimal playback buffering.
public
mixed
LATENCY_PREFERENCE_LOW
= 'low'
LATENCY_PREFERENCE_NORMAL
Best for: highest quality viewer playbacks and higher resolutions.
public
mixed
LATENCY_PREFERENCE_NORMAL
= 'normal'
LATENCY_PREFERENCE_ULTRA_LOW
Best for: real-time interaction Does not support: Closed captions, 1440p, and 4k resolutions
public
mixed
LATENCY_PREFERENCE_ULTRA_LOW
= 'ultraLow'
PROJECTION_360
A `projection` of `360`.
public
mixed
PROJECTION_360
= '360'
PROJECTION_MESH
A `projection` of `mesh`.
public
mixed
PROJECTION_MESH
= 'mesh'
PROJECTION_PROJECTION_UNSPECIFIED
A `projection` of `projectionUnspecified`.
public
mixed
PROJECTION_PROJECTION_UNSPECIFIED
= 'projectionUnspecified'
PROJECTION_RECTANGULAR
A `projection` of `rectangular`.
public
mixed
PROJECTION_RECTANGULAR
= 'rectangular'
STEREO_LAYOUT_LEFT_RIGHT
A `stereoLayout` of `leftRight`.
public
mixed
STEREO_LAYOUT_LEFT_RIGHT
= 'leftRight'
STEREO_LAYOUT_MONO
A `stereoLayout` of `mono`.
public
mixed
STEREO_LAYOUT_MONO
= 'mono'
STEREO_LAYOUT_STEREO_LAYOUT_UNSPECIFIED
A `stereoLayout` of `stereoLayoutUnspecified`.
public
mixed
STEREO_LAYOUT_STEREO_LAYOUT_UNSPECIFIED
= 'stereoLayoutUnspecified'
STEREO_LAYOUT_TOP_BOTTOM
A `stereoLayout` of `topBottom`.
public
mixed
STEREO_LAYOUT_TOP_BOTTOM
= 'topBottom'
Properties
$availabilityConfig
public
AvailabilityConfig|null
$availabilityConfig
Optional. The broadcast's availability config. Used to set specific region availability or block specific regions It is optional - if not set, it is not enforced.
$boundStreamId
public
string|null
$boundStreamId
This value uniquely identifies the live stream bound to the broadcast.
$boundStreamLastUpdateTimeMs
public
CarbonImmutable|null
$boundStreamLastUpdateTimeMs
The date and time that the live stream referenced by boundStreamId was last updated.
$closedCaptionsType
public
string|null
$closedCaptionsType
One of the CLOSED_CAPTIONS_TYPE_* constants.
$enableAutoStart
public
bool|null
$enableAutoStart
This setting indicates whether auto start is enabled for this broadcast. The default value for this property is false. This setting can only be used by Events.
$enableAutoStop
public
bool|null
$enableAutoStop
This setting indicates whether auto stop is enabled for this broadcast. The default value for this property is false. This setting can only be used by Events.
$enableClosedCaptions
public
bool|null
$enableClosedCaptions
Deprecated. This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST.
$enableContentEncryption
public
bool|null
$enableContentEncryption
This setting indicates whether YouTube should enable content encryption for the broadcast.
$enableDvr
public
bool|null
$enableDvr
This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true. Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
$enableEmbed
public
bool|null
$enableEmbed
This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
$enableLowLatency
public
bool|null
$enableLowLatency
Deprecated. Indicates whether this broadcast has low latency enabled.
$latencyPreference
public
string|null
$latencyPreference
If both this and enable_low_latency are set, they must match.
LATENCY_NORMAL should match enable_low_latency=false LATENCY_LOW should match enable_low_latency=true
LATENCY_ULTRA_LOW should have enable_low_latency omitted. One of the LATENCY_PREFERENCE_* constants.
$mesh
public
string|null
$mesh
The mesh for projecting the video if projection is mesh. The mesh value must be a UTF-8 string containing the base-64 encoding of 3D mesh data that follows the Spherical Video V2 RFC specification for an mshp box, excluding the box size and type but including the following four reserved zero bytes for the version and flags.
$monitorStream
public
MonitorStreamInfo|null
$monitorStream
The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
$projection
public
string|null
$projection
The projection format of this broadcast. This defaults to rectangular. One
of the PROJECTION_* constants.
$recordFromStart
public
bool|null
$recordFromStart
Automatically start recording after the event goes live. The default value for this property is true. Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
$startWithSlate
public
bool|null
$startWithSlate
Deprecated. This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
$stereoLayout
public
string|null
$stereoLayout
The 3D stereo layout of this broadcast. This defaults to mono. One of the
STEREO_LAYOUT_* constants.
$casts
Attribute name => type token (`"LiveChatMessageSnippet"`, `"Array of Thumbnail"`, `"Map of VideoLocalization"`), used to hydrate nested objects into parts.
protected
array<string, string>
$casts
= ['availabilityConfig' => 'AvailabilityConfig', 'monitorStream' => 'MonitorStreamInfo']
$dates
Attribute names holding RFC 3339 timestamps, read back as {@see CarbonImmutable}. They are stored and serialised as the strings YouTube sent.
protected
array<int, string>
$dates
= ['boundStreamLastUpdateTimeMs']
$youtube read-only
protected
?YouTube
$youtube
= null
Methods
__construct()
public
__construct([YouTube|null $youtube = null ][, array<string, mixed>|object $attributes = [] ]) : mixed
Parameters
- $youtube : YouTube|null = null
-
The client, for behaviour that calls the API.
- $attributes : array<string, mixed>|object = []
__debugInfo()
public
__debugInfo() : array<string, mixed>
Return values
array<string, mixed>__get()
public
__get(string $name) : mixed
Parameters
- $name : string
__isset()
public
__isset(string $name) : bool
Parameters
- $name : string
Return values
bool__set()
public
__set(string $name, mixed $value) : void
Parameters
- $name : string
- $value : mixed
__toString()
public
__toString() : string
Return values
string__unset()
public
__unset(string $name) : void
Parameters
- $name : string
attributeExists()
public
attributeExists(string $key) : bool
Parameters
- $key : string
Return values
boolfill()
public
fill(array<string, mixed> $attributes) : void
Parameters
- $attributes : array<string, mixed>
getAttribute()
public
getAttribute(string $key) : mixed
Parameters
- $key : string
getCasts()
public
getCasts() : array<string, string>
Return values
array<string, string>getDates()
public
getDates() : array<int, string>
Return values
array<int, string>getRawAttribute()
Reads straight from the attribute bag, skipping the `get{Key}Attribute` hook.
public
getRawAttribute(string $key) : mixed
Parameters
- $key : string
getRawAttributes()
public
getRawAttributes() : array<string, mixed>
Return values
array<string, mixed>getYouTube()
The client this part came from.
public
getYouTube() : YouTube
Tags
Return values
YouTubejsonSerialize()
The payload this part would be sent back to YouTube as: nested parts and collections flattened, timestamps as RFC 3339 strings.
public
jsonSerialize() : array<string, mixed>
Return values
array<string, mixed>offsetExists()
public
offsetExists(mixed $offset) : bool
Parameters
- $offset : mixed
Return values
booloffsetGet()
public
offsetGet(mixed $offset) : mixed
Parameters
- $offset : mixed
offsetSet()
public
offsetSet(mixed $offset, mixed $value) : void
Parameters
- $offset : mixed
- $value : mixed
offsetUnset()
public
offsetUnset(mixed $offset) : void
Parameters
- $offset : mixed
setAttribute()
public
setAttribute(string $key, mixed $value) : void
Parameters
- $key : string
- $value : mixed
factory()
Builds another part from the same client - for nested objects.
protected
factory() : Factory
Return values
FactorysetRawAttribute()
Writes straight to the attribute bag, skipping the `set{Key}Attribute` hook and any cast. For use *inside* a mutator, which would otherwise have no way to store its shaped value without recursing through {@see setAttribute()}.
protected
setRawAttribute(string $key, mixed $value) : void
Parameters
- $key : string
- $value : mixed