-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed captions in HLS manifest for iOS devices in ME.js #4951
Comments
This looks like a useful blog post with some more details about putting the subtitles/captions into the m3u8: https://www.mux.com/blog/subtitles-captions-webvtt-hls-and-those-magic-flags |
Since we're wrapping and unwrapping m3u8s we should be able to insert this information. Our manifests are manifests of manifests sourced from Wowza, so it might be possible that the player will only respect the child manifest from Wowza. This should be investigated to see what the behavior is. |
Adding the subtitle/closed caption information to the HLS manifest is pretty easily accomplished. Adding We will probably need to add a way to designate a caption file's language so that we don't just have "English" hard coded. Also, is Avalon capable of having multiple caption files associated with a work or can only one be uploaded at a time? If there can be multiple, we will need to be sure to code in an For the The wowza documentation has details for enabling WebVTT caption for iOS. There is a specific config property that needs to be set. However, it sounds like Wowza expects the caption file to be in the same directory as the media file which I do not know if that is the case with our setup currently. I think this is a separate approach from adding the information to the HLS file manually, where we would be letting Wowza handle the formatting. However, I am unsure how the HLS file manipulations discussed will interact with the streaming server. If we manually add the information to the HLS files, it may end up necessitating some special handling. If we use the builtin Wowza settings, then we limit the customizability and have to maintain copies of all caption files on the Wowza infrastructure (Avalon does not currently have guaranteed write access to Wowza filesystem and may require a data migration if we were able to move all the caption files to Wowza). Those are the main approaches as far as I can tell. |
Proof of concept PR for adding caption to HLS manifest. Need to test with BrowserStack to verify it does generate the captions properly for iOS. Can then assess the approach and open a new issue for actual implementation. |
I have tested the code on Avalon-dev with BrowserStack and was able to get the proof of concept to provide captions on iOS devices. Had to make a minor tweak to how the caption m3u8 file was generated, but it seems to work well now. |
Note that using Wowza to add captioning for iOS seems like a more challenging process b/c it requires us to sync caption files over to Wowza server separately; so writing a brand new cross-server integration. |
Description
For closed captions to work with MediaElement.js in iOS devices, the captions needs to be transcoded in the video according to ME.js documentation.
To make this work with streaming media in Avalon, we could add the captions information in our HLS manifests.
Done Criteria
According to Chris, we proxy the wowza manifests through Avalon.
Streaming example with captions from Apple: https://developer.apple.com/streaming/examples/basic-stream-osx-ios5.html with the following manifest:
The text was updated successfully, but these errors were encountered: