I am beginning to research solutions for video streaming in an ionic app. We would like to use HLS or DASH to stream to the app. It needs to be supported by Web Browsers, Android, and iOS. Is HLS still causing issues on iOS? I tried to stream a DASH video using the native @ionic-native/streaming-media, but it doesnt seem to like DASH? Any and all suggestions are much appreciated!
I had a lot of issues doing this. Couldn’t get the native streaming player working with my videos on iOS. The videos my app uses are generated using Azure Media Services.
For iOS I had to use /manifest(format=m3u8-aapl) at the end of the URL instead. After using this feed, I realised that iOS seemed to handle the streaming all by itself, since I could see the fragments being requested in the network tab. Just using <video src="https://videourl.com/manifest(format=m3u8-aapl)"></video> did the trick on iOS.
I did attempt to use Azure Media Player for both scenarios, but it didn’t go to plan.
Not sure if this will help you at all, but this is what worked in my scenario.
@tumain I got Clappr and Videojs to work in Ionic 3, but I will have to figure out a workaround because when you fullscreen the videos, my Tab Bar and side menu both cover the video for some stupid reason (and if you try to use ion-split-pane, in chrome the full-screen video is just a white screen. Hope this helps
Ah ok. I got mine working just with a standard video element for iOS and dash js for android. I didn’t have any fullscreen issues. My app just has a side menu though.
Hey I just launched my app to android and iOS and used playerJS with .m3u8 video format. I used aws elastic transcoder to convert .mp4 to .m3u8. So far it’s worked good.
My method was just adaptive streaming. It wasn’t live streaming.
So my methods may not help you, but I’ll mention them anyway.
It’s been a while, but from memory I used 2 different methods for iOS and Android.
For iOS I just used a standard video tag and for Android I used dash.js player.
I had to use the right kind of stream to allow the stream to work on the device’s OS.
So for iOS my stream had to be an Apple supported one (HLS) which can be seen on this link. My scenario maybe different to yours since I used Azure streaming services to stream video.
There is a streaming plugin that can be found here, that I haven’t used myself, but may be able to do what you want:
Hey tumain, I’m trying to implement something very similar to what you have BUT with AES encryption… which is giving me a headache. You said that you were using HLS which means HTTP Live Streaming, but I didn’t want to do a live streaming, idk if it has anything to do with it but when I set up HLS on ios (with format=m3u8-aapl) the azure media player looks like a live streaming one rather than an on demand video (no time line, just play pause)… Do you know anything about this? Thanks in advance!!