# TranscodeSubtitlesRequest

## Example Usage

```typescript
import {
  TranscodeSubtitlesLocation,
  TranscodeSubtitlesProtocol,
  TranscodeSubtitlesRequest,
  TranscodeSubtitlesSubtitles,
} from "@lukehagar/plexjs/sdk/models/operations";
import { AdvancedSubtitles, BoolInt, TranscodeType } from "@lukehagar/plexjs/sdk/models/shared";

let value: TranscodeSubtitlesRequest = {
  transcodeType: TranscodeType.Video,
  advancedSubtitles: AdvancedSubtitles.Burn,
  audioBoost: 50,
  audioChannelCount: 5,
  autoAdjustQuality: BoolInt.True,
  autoAdjustSubtitle: BoolInt.True,
  directPlay: BoolInt.True,
  directStream: BoolInt.True,
  directStreamAudio: BoolInt.True,
  disableResolutionRotation: BoolInt.True,
  hasMDE: BoolInt.True,
  location: TranscodeSubtitlesLocation.Wan,
  mediaBufferSize: 102400,
  mediaIndex: 0,
  musicBitrate: 5000,
  offset: 90.5,
  partIndex: 0,
  path: "/library/metadata/151671",
  peakBitrate: 12000,
  photoResolution: "1080x1080",
  protocol: TranscodeSubtitlesProtocol.Dash,
  secondsPerSegment: 5,
  subtitleSize: 50,
  subtitles: TranscodeSubtitlesSubtitles.None,
  videoBitrate: 12000,
  videoQuality: 50,
  videoResolution: "1080x1080",
  xPlexClientProfileExtra:
    "add-limitation(scope=videoCodec&scopeName=*&type=upperBound&name=video.frameRate&value=60&replace=true)+append-transcode-target-codec(type=videoProfile&context=streaming&videoCodec=h264%2Chevc&audioCodec=aac&protocol=dash)",
  xPlexClientProfileName: "generic",
};
```

## Fields

| Field                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Type                                                                                                                                                                                                                                                                                                                                                                                                                                                       | Required                                                                                                                                                                                                                                                                                                                                                                                                                                                   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                | Example                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts`                                                                                                                                                                                                                                                                                                                                                                                                                                                  | [shared.Accepts](../../../sdk/models/shared/accepts.md)                                                                                                                                                                                                                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Indicates the client accepts the indicated media types                                                                                                                                                                                                                                                                                                                                                                                                     |                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `clientIdentifier`                                                                                                                                                                                                                                                                                                                                                                                                                                         | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | An opaque identifier unique to the client                                                                                                                                                                                                                                                                                                                                                                                                                  | abc123                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `product`                                                                                                                                                                                                                                                                                                                                                                                                                                                  | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | The name of the client product                                                                                                                                                                                                                                                                                                                                                                                                                             | Plex for Roku                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `version`                                                                                                                                                                                                                                                                                                                                                                                                                                                  | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | The version of the client application                                                                                                                                                                                                                                                                                                                                                                                                                      | 2.4.1                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `platform`                                                                                                                                                                                                                                                                                                                                                                                                                                                 | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | The platform of the client                                                                                                                                                                                                                                                                                                                                                                                                                                 | Roku                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `platformVersion`                                                                                                                                                                                                                                                                                                                                                                                                                                          | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | The version of the platform                                                                                                                                                                                                                                                                                                                                                                                                                                | 4.3 build 1057                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `device`                                                                                                                                                                                                                                                                                                                                                                                                                                                   | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | A relatively friendly name for the client device                                                                                                                                                                                                                                                                                                                                                                                                           | Roku 3                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `model`                                                                                                                                                                                                                                                                                                                                                                                                                                                    | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | A potentially less friendly identifier for the device model                                                                                                                                                                                                                                                                                                                                                                                                | 4200X                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `deviceVendor`                                                                                                                                                                                                                                                                                                                                                                                                                                             | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | The device vendor                                                                                                                                                                                                                                                                                                                                                                                                                                          | Roku                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `deviceName`                                                                                                                                                                                                                                                                                                                                                                                                                                               | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | A friendly name for the client                                                                                                                                                                                                                                                                                                                                                                                                                             | Living Room TV                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `marketplace`                                                                                                                                                                                                                                                                                                                                                                                                                                              | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | The marketplace on which the client application is distributed                                                                                                                                                                                                                                                                                                                                                                                             | googlePlay                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `transcodeType`                                                                                                                                                                                                                                                                                                                                                                                                                                            | [shared.TranscodeType](../../../sdk/models/shared/transcodetype.md)                                                                                                                                                                                                                                                                                                                                                                                        | :heavy_check_mark:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Type of transcode media                                                                                                                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `transcodeSessionId`                                                                                                                                                                                                                                                                                                                                                                                                                                       | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Transcode session UUID                                                                                                                                                                                                                                                                                                                                                                                                                                     |                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `advancedSubtitles`                                                                                                                                                                                                                                                                                                                                                                                                                                        | [shared.AdvancedSubtitles](../../../sdk/models/shared/advancedsubtitles.md)                                                                                                                                                                                                                                                                                                                                                                                | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Indicates how incompatible advanced subtitles (such as ass/ssa) should be included: * 'burn' - Burn incompatible advanced text subtitles into the video stream * 'text' - Transcode incompatible advanced text subtitles to a compatible text format, even if some markup is lost<br/>                                                                                                                                                                     | burn                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `audioBoost`                                                                                                                                                                                                                                                                                                                                                                                                                                               | *number*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Percentage of original audio loudness to use when transcoding (100 is equivalent to original volume, 50 is half, 200 is double, etc)                                                                                                                                                                                                                                                                                                                       | 50                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `audioChannelCount`                                                                                                                                                                                                                                                                                                                                                                                                                                        | *number*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Target video number of audio channels.                                                                                                                                                                                                                                                                                                                                                                                                                     | 5                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `autoAdjustQuality`                                                                                                                                                                                                                                                                                                                                                                                                                                        | [shared.BoolInt](../../../sdk/models/shared/boolint.md)                                                                                                                                                                                                                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Indicates the client supports ABR.                                                                                                                                                                                                                                                                                                                                                                                                                         | 1                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `autoAdjustSubtitle`                                                                                                                                                                                                                                                                                                                                                                                                                                       | [shared.BoolInt](../../../sdk/models/shared/boolint.md)                                                                                                                                                                                                                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Indicates if the server should adjust subtitles based on Voice Activity Data.                                                                                                                                                                                                                                                                                                                                                                              | 1                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `directPlay`                                                                                                                                                                                                                                                                                                                                                                                                                                               | [shared.BoolInt](../../../sdk/models/shared/boolint.md)                                                                                                                                                                                                                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Indicates the client supports direct playing the indicated content.                                                                                                                                                                                                                                                                                                                                                                                        | 1                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `directStream`                                                                                                                                                                                                                                                                                                                                                                                                                                             | [shared.BoolInt](../../../sdk/models/shared/boolint.md)                                                                                                                                                                                                                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Indicates the client supports direct streaming the video of the indicated content.                                                                                                                                                                                                                                                                                                                                                                         | 1                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `directStreamAudio`                                                                                                                                                                                                                                                                                                                                                                                                                                        | [shared.BoolInt](../../../sdk/models/shared/boolint.md)                                                                                                                                                                                                                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Indicates the client supports direct streaming the audio of the indicated content.                                                                                                                                                                                                                                                                                                                                                                         | 1                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `disableResolutionRotation`                                                                                                                                                                                                                                                                                                                                                                                                                                | [shared.BoolInt](../../../sdk/models/shared/boolint.md)                                                                                                                                                                                                                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Indicates if resolution should be adjusted for orientation.                                                                                                                                                                                                                                                                                                                                                                                                | 1                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `hasMDE`                                                                                                                                                                                                                                                                                                                                                                                                                                                   | [shared.BoolInt](../../../sdk/models/shared/boolint.md)                                                                                                                                                                                                                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Ignore client profiles when determining if direct play is possible. Only has an effect when directPlay=1 and both mediaIndex and partIndex are specified and neither are -1                                                                                                                                                                                                                                                                                | 1                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `location`                                                                                                                                                                                                                                                                                                                                                                                                                                                 | [operations.TranscodeSubtitlesLocation](../../../sdk/models/operations/transcodesubtitleslocation.md)                                                                                                                                                                                                                                                                                                                                                      | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Network type of the client, can be used to help determine target bitrate.                                                                                                                                                                                                                                                                                                                                                                                  | wan                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `mediaBufferSize`                                                                                                                                                                                                                                                                                                                                                                                                                                          | *number*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Buffer size used in playback (in KB). Clients should specify a lower bound if not known exactly. This value could make the difference between transcoding and direct play on bandwidth constrained networks.                                                                                                                                                                                                                                               | 102400                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `mediaIndex`                                                                                                                                                                                                                                                                                                                                                                                                                                               | *number*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Index of the media to transcode. -1 or not specified indicates let the server choose.                                                                                                                                                                                                                                                                                                                                                                      | 0                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `musicBitrate`                                                                                                                                                                                                                                                                                                                                                                                                                                             | *number*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Target bitrate for audio only files (in kbps, used to transcode).                                                                                                                                                                                                                                                                                                                                                                                          | 5000                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `offset`                                                                                                                                                                                                                                                                                                                                                                                                                                                   | *number*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Offset from the start of the media (in seconds).                                                                                                                                                                                                                                                                                                                                                                                                           | 90.5                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `partIndex`                                                                                                                                                                                                                                                                                                                                                                                                                                                | *number*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Index of the part to transcode. -1 or not specified indicates the server should join parts together in a transcode                                                                                                                                                                                                                                                                                                                                         | 0                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `path`                                                                                                                                                                                                                                                                                                                                                                                                                                                     | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Internal PMS path of the media to transcode.                                                                                                                                                                                                                                                                                                                                                                                                               | /library/metadata/151671                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `peakBitrate`                                                                                                                                                                                                                                                                                                                                                                                                                                              | *number*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Maximum bitrate (in kbps) to use in ABR.                                                                                                                                                                                                                                                                                                                                                                                                                   | 12000                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `photoResolution`                                                                                                                                                                                                                                                                                                                                                                                                                                          | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Target photo resolution.                                                                                                                                                                                                                                                                                                                                                                                                                                   | 1080x1080                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `protocol`                                                                                                                                                                                                                                                                                                                                                                                                                                                 | [operations.TranscodeSubtitlesProtocol](../../../sdk/models/operations/transcodesubtitlesprotocol.md)                                                                                                                                                                                                                                                                                                                                                      | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Indicates the network streaming protocol to be used for the transcode session: * 'http' - include the file in the http response such as MKV streaming * 'hls' - hls stream (RFC 8216) * 'dash' - dash stream (ISO/IEC 23009-1:2022)<br/>                                                                                                                                                                                                                   | dash                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `secondsPerSegment`                                                                                                                                                                                                                                                                                                                                                                                                                                        | *number*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Number of seconds to include in each transcoded segment                                                                                                                                                                                                                                                                                                                                                                                                    | 5                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `subtitleSize`                                                                                                                                                                                                                                                                                                                                                                                                                                             | *number*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Percentage of original subtitle size to use when burning subtitles (100 is equivalent to original size, 50 is half, ect)                                                                                                                                                                                                                                                                                                                                   | 50                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `subtitles`                                                                                                                                                                                                                                                                                                                                                                                                                                                | [operations.TranscodeSubtitlesSubtitles](../../../sdk/models/operations/transcodesubtitlessubtitles.md)                                                                                                                                                                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Indicates how subtitles should be included: * 'auto' - Compute the appropriate subtitle setting automatically * 'burn' - Burn the selected subtitle; auto if no selected subtitle * 'none' - Ignore all subtitle streams * 'sidecar' - The selected subtitle should be provided as a sidecar * 'embedded' - The selected subtitle should be provided as an embedded stream * 'segmented' - The selected subtitle should be provided as a segmented stream<br/> | Burn                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `videoBitrate`                                                                                                                                                                                                                                                                                                                                                                                                                                             | *number*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Target video bitrate (in kbps).                                                                                                                                                                                                                                                                                                                                                                                                                            | 12000                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `videoQuality`                                                                                                                                                                                                                                                                                                                                                                                                                                             | *number*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Target photo quality.                                                                                                                                                                                                                                                                                                                                                                                                                                      | 50                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `videoResolution`                                                                                                                                                                                                                                                                                                                                                                                                                                          | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Target maximum video resolution.                                                                                                                                                                                                                                                                                                                                                                                                                           | 1080x1080                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `xPlexClientProfileExtra`                                                                                                                                                                                                                                                                                                                                                                                                                                  | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | See [Profile Augmentations](#section/API-Info/Profile-Augmentations) .                                                                                                                                                                                                                                                                                                                                                                                     | add-limitation(scope=videoCodec&scopeName=*&type=upperBound&name=video.frameRate&value=60&replace=true)+append-transcode-target-codec(type=videoProfile&context=streaming&videoCodec=h264%2Chevc&audioCodec=aac&protocol=dash)                                                                                                                                                                                                                             |
| `xPlexClientProfileName`                                                                                                                                                                                                                                                                                                                                                                                                                                   | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Which built in Client Profile to use in the decision. Generally should only be used to specify the Generic profile.                                                                                                                                                                                                                                                                                                                                        | generic                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `xPlexSessionIdentifier`                                                                                                                                                                                                                                                                                                                                                                                                                                   | *string*                                                                                                                                                                                                                                                                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                                                                                                                                                                                                                                                                         | Unique per client playback session.  Used if a client can playback multiple items at a time (such as a browser with multiple tabs)                                                                                                                                                                                                                                                                                                                         |                                                                                                                                                                                                                                                                                                                                                                                                                                                            |