HLS implementation differs from Wistia support suggestion #12
Comments
Quick correction: Forcing the |
Hi @maltebaumann , Once HLS is enabled for an account and medias are processed, the
The README for this repo outlines our recommend approach for integrating video in your iOS app. Have you tried use the HTH! /cc @jayholman |
Hi Dan and thanks for the quick reply, We haven't used the other parts of Thanks |
If for some reason the HLS asset created (or the one chosen by But generally speaking, the algorithm that dynamically chooses the stream is implemented by apple in the AV frameworks, and it's a black box. We've implemented HLS on our backend to Apple's spec and submitted an app (unreleased to app store) to get their review team to vet our implementation; it was approved. That being said, there could be always be bugs especially in these early days. |
Thanks for the explanation, we'll see where the problem comes from. We just noticed that the pod won't work for iOS 8.0 so sadly we can't use WistiaKit as easy as we thought. We'll try to extract the WistiaPlayer or at least the features we use. Thanks for your help! |
Hey @maltebaumann - a quick heads up: Current versions of The code to grab the manifest of manifests (which @jayholman correctly told you was available from Broken versions of I was mistaken and misspoke and apologize for generating some confusion here! Planning to push a fixed version 0.4.0 this week. |
Hey Dan, thanks for the heads up and the quick fix. Could you explain the following comment in more detail?
Are there any limitations? And how can we avoid playing back HLS media, if they don't have the corresponding derivatives available? |
Comment is there because not all accounts have HLS enabled, yet. But yours already does. So you're all set! |
Hi,
we're trying to integrate native playback of Wistia assets into our iOS app. We use parts of the WistiaKit (
WistiaAsset
,WistiaMedia
andWistiaService
) to parse the API responses and select the best asset. As Apple requires the use of HLS for our app, we asked the support to enable it for our account. Jay responded that appending.m3u8?segment_duration=3
to the URL + hash is the way to go and enabled HLS support for our account and all already uploaded media files.The implementation within WistiaKit has special handling of m3u8 assets as well and tries to use those assets instead of basic mp4 files. Using this technique and passing the found
asset.url
, wrapped into anAVURLAsset
which is wrapped into anAVPlayerItem
, to anAVPlayer
starts the playback just fine. The API returns assets with m3u8 containers and the corresponding URL has a .bin ending.However forcing a url in the style suggested by the Wistia Support doesn't seem to work. Furthermore playback on 2G doesn't seem to reduce the video quality. If I run Apples mediastreamvalidator tool on a
https://fast.wistia.net/embed/medias/<thehashedid>.m3u8?segment_duration=3
url the tool loops and doesn't return a correct report. A corresponding StackOverflow answer mentions appending m3u8 as well.Could you explain the right way for integrating Wistias HLS capabilities into an iOS app and why your implementation differs from the Wistia support explanation? Apple seems to be quite strict about allowing media streaming on cellular networks and we don't want to risk a rejection because of it.
Thanks
Malte Baumann
The text was updated successfully, but these errors were encountered: