
SDH subtitles are subtitles for the deaf and hard of hearing: they carry the dialogue plus speaker names, sound effects and music cues in an ordinary subtitle track. Closed captions hold the same content as broadcast caption data, while plain subtitles hold dialogue only, and on AIOZ Stream you upload all three the same way.
TL;DR:
SDH means "Subtitles for the Deaf and Hard of Hearing." Rev's explainer calls it "the most complete form of subtitle you can use," because it transcribes speech and also marks non-verbal sounds such as laughter and music. A hearing viewer needs only the words, but a viewer who cannot hear the soundtrack also needs to know who is speaking and what just happened off screen. That is the gap SDH fills, so a good SDH track reads like a transcript of the speech plus a short running description of the soundtrack.
The audience is larger than it looks, since Rev cites more than 450 million people with hearing loss worldwide. The matesub guide adds that SDH also helps non-native speakers and people with auditory processing disorders. You will also find that viewers in a noisy room or on a muted autoplay feed read the sound cues, even when they can hear perfectly well.

MDN's reference for the HTML track element, which follows the W3C spec, defines the first two. Subtitles "provide transcription or translation of the dialog" and suit "when the sound is available but not understood." Captions add "sound effects, relevant musical cues, and other relevant audio information" for when sound is unavailable, for example because "the user is deaf."
| Subtitles | SDH | Closed captions | |
|---|---|---|---|
| Made for | Viewers who hear the audio but not the language | Viewers who are deaf or hard of hearing | Viewers who are deaf or hard of hearing |
| Includes | Dialogue only | Dialogue, speakers, sounds, music | Dialogue, speakers, sounds, music |
| Delivered as | Subtitle track | Subtitle track | Caption data, such as CEA-608 on broadcast TV |
So the content of SDH and closed captions matches, and only the delivery differs. Rev adds two practical differences: closed captions show as white text on a black background, while SDH can use "various colors and styles." It also suits disc media that "don't support closed captions," which is another reason the format exists. 3Play Media adds that SDH can be translated into other languages and styled by professional captioners, while closed captions use Line 21 transmission and offer limited translation.
If you can publish only one English track for a mixed audience, SDH is the safer choice. Hearing viewers can read past a few bracketed cues, but deaf viewers lose real information when you leave them out. Publish plain subtitles as well when you also serve translations, so each audience gets the track written for it.
No. SRT and VTT are file formats, while SDH describes what you write inside them, so an SRT file can hold SDH and a VTT file can too. The W3C track element lists five kind values (subtitles, captions, descriptions, chapters and metadata), and none of them is "sdh," as the Chapter vs Transcript API article also shows.
The file format does matter for uploads, though, so check it before you start. The AIOZ Stream Go client describes its caption call as "Uploads a VTT file," and a WebVTT file must begin with a WEBVTT line, as MDN notes. Convert an SRT file to VTT before you upload it, since the client names only VTT.
The ranking guides agree on the basics, and Netflix's English timed text style guide gives the most concrete numbers. Treat them as a respected reference point for its own catalogue, not an AIOZ requirement.
Here is how the scene from the diagram looks in a VTT file, with made-up timings, as an illustration rather than output from AIOZ Stream.
WEBVTT
00:00:01.000 --> 00:00:03.000
[door creaks]
00:00:03.200 --> 00:00:05.500
[Marcus] Don't open it.
00:00:05.600 --> 00:00:08.000
[tense music]WebVTT also has a voice tag, written <v Marcus>, which MDN's example uses to style one speaker's text with CSS. You can try it for speaker names, but check how your player displays it first, because plain bracketed names look the same everywhere.
AIOZ Stream has no SDH setting, and the Go client's MediaCaption model lists six fields: description, is_default, is_generated, language, status and url. The is_generated field arrived in SDK v3.0.3 on 2026-10-05, so earlier versions of this article counted five, and the client does not say what it means. None of the six fields marks a track as subtitles, captions or SDH.
That leaves two things in your hands. The first is to use the description field to label the track, for example "English (SDH)," so viewers can tell it apart. The second is to check how many tracks one language can hold before you plan your uploads. The client's delete and set-default calls take a media ID plus a language code, which suggests one caption per language. You may then need to choose between English subtitles and English SDH for the same video. The docs do not say either way, so test it with a throwaway video before you plan around both. The client also names a set-default call that flips is_default, which is the setting to use when you want one track to play first.
For the wider picture, the multi-language captions guide covers the endpoint, and the WCAG article explains which accessibility rules require captions.
Is SDH the same as closed captions?
The content is the same, covering dialogue, speakers, sound effects and music. The difference is delivery: SDH arrives as a subtitle track, while closed captions arrive as caption data such as CEA-608.
Should I use SDH or regular subtitles?
Use regular subtitles when viewers can hear the audio but not the language. Use SDH when viewers may not hear the audio at all, because they need the speaker names and sound cues.
Does AIOZ Stream support SDH subtitles?
Yes, in the sense that any VTT file can carry SDH content, but there is no dedicated SDH setting or field, so label the track with the description field.
Can I upload an SRT file to AIOZ Stream?
The Go client describes the caption upload as a VTT file, so convert SRT to VTT first, and note that a valid WebVTT file starts with a WEBVTT line.
How long can an SDH subtitle line be?
Netflix's style guide allows two lines of up to 42 characters each, at up to 20 characters per second for adult programs.

Choose OBS encoder settings for AIOZ Stream: the documented 1080p30 values, the missing 720p figure, NVENC vs x264, keyframes, 60 fps and a test procedure.

Set up OBS Studio for AIOZ Stream: build a scene, connect with a Custom RTMP service and stream key, enter the documented output settings, and confirm the stream is live.

Seven steps to go live on AIOZ Stream with OBS or PRISM: stream key, session form, RTMP credentials, bandwidth math, and the first two minutes after you start.

How live streaming on AIOZ Stream works: stream keys, sessions and saved media, OBS and PRISM setup over RTMP, restreaming, statistics, archiving, and what the docs leave out.

What separates a real web3 streaming platform from marketing language, and how AIOZ Stream's DePIN network, on-chain payments and W2E rewards measure up.

WCAG's five real video accessibility rules, why auto-captions usually fail them, what AIOZ Stream actually supports, and how the 2026 ADA deadline changes affect compliance.