Succescriterium 1.2.4 – Ondertiteling bij live video

Bij het publiceren van een live video moet de ondertiteling ook live te volgen zijn. Hierdoor kunnen mensen die ondertiteling nodig hebben de inhoud ook direct tot zich nemen.

Oplossing

De uitdaging bij live ondertiteling is organisatorisch en technisch. Er moet namelijk een ondertitelaar aanwezig zijn die via de juiste software de live video direct kan voorzien van ondertiteling.

Android

We raden aan om gebruik te maken van een codebibliotheek zoals ExoPlayer. ExoPlayer is ontwikkeld door Google en biedt een open-source alternatief voor de MediaPlayer van Android voor het afspelen van audio en video. In de documentatie zijn veel codevoorbeelden te vinden. Je kunt DefaultTrackSelector gebruiken voor het tonen van ondertiteling.

val trackSelector = DefaultTrackSelector(baseContext)
trackSelector.setParameters(
    trackSelector.buildUponParameters().setPreferredTextLanguage("nl")
)

val exoPlayer = SimpleExoPlayer.Builder(baseContext)
                    .setTrackSelector(trackSelector)
                    .build()

val dataSourceFactory: DataSource.Factory = DefaultHttpDataSourceFactory(
    Util.getUserAgent(baseContext, "Appt"), null,
    DefaultHttpDataSource.DEFAULT_CONNECT_TIMEOUT_MILLIS,
    1800000,
    true
)

val mediaUri = Uri.parse("https://live.video")
val mediaSource = HlsMediaSource.Factory(dataSourceFactory).createMediaSource(mediaUri)

exoPlayer.prepare(mediaSource)

iOS

Op iOS heeft AVPlayer ondersteuning voor live video met ondertiteling. Gebruikers kunnen via de systeemvoorkeuren ondertiteling automatisch laten aanzetten. De makkelijkste manier om een live video te streamen is via AVPlayerViewController.

guard let url = URL(string: "https://live.video") else { return }
let player = AVPlayer(url: url)

let playerViewController = AVPlayerViewController()
playerViewController.player = player

present(playerViewController, animated: true) {
    player.play()
}

Andere succescriteria