Back

Blog details

What Does SDH Mean in Subtitles? SDH vs Closed Captions

AIOZ Network
6 min readSeptember 23, 2026
aioz-streamguide

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 stands for subtitles for the deaf and hard of hearing, and it adds speaker names, sound effects and music cues to the dialogue.
  • Closed captions carry the same content as SDH in broadcast caption data, and plain subtitles carry dialogue only, for viewers who can hear the audio.
  • SDH is a way of writing, not a file format, so you can write it into an SRT or a VTT file, and the W3C track element has no "sdh" kind.
  • AIOZ Stream's Go client documents a VTT upload, and its caption object has no field for style, so the text inside your file decides what a track is.

What does SDH mean in subtitles?

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.

Diagram: the same scene written as plain subtitles with dialogue only, as SDH with a speaker name, door creak and tense music cues, and as closed captions with the same lines as SDH
One scene written three ways. An illustrative example written for this article, not taken from AIOZ docs.

How do SDH, closed captions and normal subtitles differ?

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."

SubtitlesSDHClosed captions
Made forViewers who hear the audio but not the languageViewers who are deaf or hard of hearingViewers who are deaf or hard of hearing
IncludesDialogue onlyDialogue, speakers, sounds, musicDialogue, speakers, sounds, music
Delivered asSubtitle trackSubtitle trackCaption 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.

SRT vs SDH: is SDH a file format?

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.

How to write SDH subtitles

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.

  • Name the speaker only when you cannot see who is talking. Netflix says to "only use speaker IDs or sound effects when they cannot be visually identified."
  • Put speaker names and sound effects in square brackets and keep them lowercase, except for proper nouns.
  • Describe the significant sounds. Amara's guide gives "door squeaks" and "phone rings" as examples, and Netflix's rule above already rules out labeling anything the viewer can see.
  • Wrap song lyrics in a music note (♪) at the start and end of each subtitle, which is Netflix's rule.
  • Keep each subtitle to two lines of 42 characters or fewer, and to a reading speed of up to 20 characters per second for adult programs.
  • Keep the position at the bottom center of the screen, as HappyScribe's guide advises, and use a clean, sans-serif typeface with good contrast.

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.

How AIOZ Stream handles SDH tracks

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.

Frequently Asked Questions

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.

References

We only send updates when meaningful changes ship, and you can unsubscribe anytime

Related Content

blog thumbnail

Best OBS Encoder Settings for 1080p and 720p (AIOZ Stream)

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.

aioz-streamguide
6 min readOctober 16, 2026
blog thumbnail

OBS Studio Setup Guide for AIOZ Stream: RTMP, Scenes and Output Settings

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.

aioz-streamguide
6 min readOctober 13, 2026
blog thumbnail

How to Start a Livestream on AIOZ Stream: OBS and Mobile Setup

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.

aioz-streamguide
6 min readOctober 09, 2026
blog thumbnail

Live Streaming on AIOZ Stream: The Complete Guide

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.

aioz-streamguide
7 min readOctober 06, 2026
blog thumbnail

What Is a Web3 Streaming Platform?

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.

aioz-streamguide
6 min readOctober 02, 2026
blog thumbnail

Accessibility in Video Streaming: What WCAG Actually Requires

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.

aioz-streamguide
6 min readSeptember 29, 2026