diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c6d5078..d649ccec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ ## Changelog +### Next Version +* Support sidecar text tracks on iOS [#1109](https://github.com/react-native-community/react-native-video/pull/1109) + ### Version 3.0 * Inherit Android buildtools and SDK version from the root project [#1081](https://github.com/react-native-community/react-native-video/pull/1081) * Automatically play on ExoPlayer when the paused prop is not set [#1083](https://github.com/react-native-community/react-native-video/pull/1083) diff --git a/README.md b/README.md index 76301dff..19b4371d 100644 --- a/README.md +++ b/README.md @@ -402,9 +402,11 @@ Property | Description --- | --- title | Descriptive name for the track language | 2 letter [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) representing the language -type | Mime type of the track
* TextTrackType.SRT - .srt SubRip Subtitle
* TextTrackType.TTML - .ttml TTML
* TextTrackType.VTT - .vtt WebVTT +type | Mime type of the track
* TextTrackType.SRT - SubRip (.srt)
* TextTrackType.TTML - TTML (.ttml)
* TextTrackType.VTT - WebVTT (.vtt)
iOS only supports VTT, Android ExoPlayer supports all 3 uri | URL for the text track. Currently, only tracks hosted on a webserver are supported +On iOS, sidecar text tracks are only supported for individual files, not HLS playlists. For HLS, you should include the text tracks as part of the playlist. + Example: ``` import { TextTrackType }, Video from 'react-native-video'; @@ -413,21 +415,20 @@ textTracks={[ { title: "English CC", language: "en", - type: "text/vtt", TextTrackType.VTT, + type: TextTrackType.VTT, // "text/vtt" uri: "https://bitdash-a.akamaihd.net/content/sintel/subtitles/subtitles_en.vtt" }, { title: "Spanish Subtitles", language: "es", - type: "application/x-subrip", TextTrackType.SRT, + type: TextTrackType.SRT, // "application/x-subrip" uri: "https://durian.blender.org/wp-content/content/subtitles/sintel_es.srt" } ]} ``` -This isn't support on iOS because AVPlayer doesn't support it. Text tracks must be loaded as part of an HLS playlist. -Platforms: Android ExoPlayer +Platforms: Android ExoPlayer, iOS #### useTextureView Output to a TextureView instead of the default SurfaceView. In general, you will want to use SurfaceView because it is more efficient and provides better performance. However, SurfaceViews has two limitations: