# VideoService

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Tags: Not creatable, Service
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/VideoService/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/VideoService

An internal service that offers no functionality to developers.

## Methods

### CreateVideoSamplerAsync

```luau
VideoService:CreateVideoSamplerAsync(content: Content, options: { [string]: any }?): VideoSampler
```

- Tags: Yields, Capabilities: UI

Creates a [`VideoSampler`](https://rapi.sleaze.dev/classes/VideoSampler.md) that samples frames from the provided video content.

Parameters:

- `content`: The video content to sample from.
- `options`: Options table for creating the [`VideoSampler`](https://rapi.sleaze.dev/classes/VideoSampler.md):

- `Size` – A `VideoSampleSize` value that determines the resolution of textures produced by the [`VideoSampler`](https://rapi.sleaze.dev/classes/VideoSampler.md). Defaults to `VideoSampleSize.Small`. Use the smallest resolution that meets your needs to minimize memory usage and improve sampling performance.

Returns: The created [`VideoSampler`](https://rapi.sleaze.dev/classes/VideoSampler.md).

### GameStreamingEnabled

```luau
VideoService:GameStreamingEnabled(): boolean
```

- Tags: Roblox script security, Capabilities: UI

## Events

### GameStreamingResolutionReady

```luau
VideoService.GameStreamingResolutionReady: RBXScriptSignal<()>
```

- Tags: Roblox script security, Capabilities: UI

### PlaybackReport

```luau
VideoService.PlaybackReport: RBXScriptSignal<(timePlayedMs: { [string]: any }, timeDownloadedMs: { [string]: any }, timeVisibleMs: { [string]: any })>
```

- Tags: Hidden, Roblox engine security, Capabilities: UI

## Inherited members

- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
