-
There have been so many threads here over the years about the ins and outs of support for video, it would be great to have a summary of the current state of play, particularly support for HLS and DASH streaming. I had a thought. I assumed that because the macOS app plays MP4 but not HLS, the failure must be lack of native HLS playback in macOS (Sonoma), which would be strange. But I played the iOS app on an M2 machine and the HLS stream played fine. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 3 replies
-
Hi We don't have HLS (or DASH) support natively in AIR .. so when you say it works on iOS, I'm assuming you're not just passing in an m3u8 URL to a NetStream object? There is a difference in the MP4/H.264 support in iOS vs the other platforms, it's a little more like StageVideo capabilities where it gets handed off to the platform. The classes used there are likely to support HLS but I don't think we would invoke them if using a URL that gives us a manifest rather than an MP4 file... In terms of the plan .. our new multimedia framework would have the concept of a "source" component where currently we'd support files/URLs/blobs, but it would equally be possible to create an "HLS" or "DASH" source component that then passes the chunks of video in to the next stage. But this is still at a fairly immature stage at the moment. On Android we enabled a mechanism for people to use the ExoPlayer component and display the outputs within an AIR display, so we could look at a similar option on iOS perhaps using the native AVPlayer and passing things through... thanks |
Beta Was this translation helpful? Give feedback.
-
Ah ha! Andrew, you're a champion. Now it make sense. Porting to MacOS (Air for Desktop, I mean) would be great, and I'm sure useful for lots of people, being that everything Apple uses AVKit. |
Beta Was this translation helpful? Give feedback.
-
Sounds like a plan... |
Beta Was this translation helpful? Give feedback.
Oh yes - so for iOS, it checks the file extension and pushes the URL to the system component if it matches one of these:
.mov.m4v.mp4.f4v.3gp.3g2.m4a.m3u8
So that would be why this works :-)
On macOS, we don't do that, it's a different video mechanism. Not actually sure why that is! We can see whether it would be simple to do the same sort of thing here...