YouTubePHP Documentation

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
since
1.0.0

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_PROJECTION_UNSPECIFIED

A `projection` of `projectionUnspecified`.

public mixed PROJECTION_PROJECTION_UNSPECIFIED = 'projectionUnspecified'

STEREO_LAYOUT_STEREO_LAYOUT_UNSPECIFIED

A `stereoLayout` of `stereoLayoutUnspecified`.

public mixed STEREO_LAYOUT_STEREO_LAYOUT_UNSPECIFIED = 'stereoLayoutUnspecified'

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.

$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']

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
bool

fill()

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
throws
LogicException

When the part was built without one.

Return values
YouTube

jsonSerialize()

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
bool

offsetGet()

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
Factory

setRawAttribute()

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
On this page

Search results