How facebook stream MPEG-DASH Videos in iOS browsers? - ios

I am studying some of the concepts of MPEG-DASH and it's features. I have researched about adaptive streaming technology . Now i am trying to stream MPEG-DASH videos in browser for live telecasting and on demand videos .
I have gone thorough some of the open source libraries . I can able to work DASH on latest browsers which are supporting Media Source Extension (MSE) .But i couldn't able to work on iOS devices and it's not supporting MSE .
So i want to know how can i work DASH videos in iOS browser and how Facebook and other services streaming their videos in iOS browsers?
Is Facebook/other services supporting DASH videos in iOs ?
How Facebook/other services streaming videos in iOS?
Is Facebook using HLS in iOS for streaming ? if it is, How they convert DASH to HLS (if they stream DASH videos) ?
They trying to check Operating system (OS) first and it will select HLS/DASH with respect to that OS . Is it like they are doing ?
Detailed explanation would be more helpful .

Safari (the browser) on iOS does not support media source extensions. Anyone doing adaptive streaming on that platform is using the native HLS implementation in Safari.
<video src="http://example.com/manifest.m3u8"></video>
Both DASH and HLS are just text-based manifests pointing to video files, so you wouldn't convert a DASH file to an HLS file, you would generate them independently. Now that iPhones are support fragmented MP4s you can use the same video files for both DASH and HLS, whereas before you needed different files for each.

Related

Play MKV video using videojs on ios

I have integrated videojs in my website and there are mostly Mkv files to play in videojs. Now the concern is that iPhone is not playing Mkv videos and showing messages like "format not supported". If anyone has an idea regarding this issue or any alternative, please let me know.
HTML5 video has to be a format supported by the browser natively, or via media source extensions. MKV is not supported by iOS nor widely supported on desktop browsers - even if some play, others will not.
If you need a single video format, MP4/h.264/aac is the most widely supported format, but consider HLS for adaptive streaming.

How to convert HEVC videos from Photos to h264 on iOS?

I've been looking into the Apple documentation but I couldn't find anything that would allow me to convert a video recorded on an iPhone 7 (HEVC) to h264.
I need to do this because the app has a web server running and it's streaming the video to web browsers that don't support HEVC.
Is there any way to do this?

How to play webm file in iOS video player

I want to give support of webm file in iOS , but iOS doesn't support this format to play a video. i Even tried to play it through HTML5 video tag but safari doesn't support webm format in HTML5 video tag that means i also cant make it work through UIWebView. But i have seen an app that is supporting this format in their media player , that means there should be some way.
Thanks in advance for help!
Have you tried integrating MediaVLCKit by VLC?
As per VLC for an iOS device: The app claims to be able to play a veritable cornucopia of different video formats, including .mkv, .vob, .wmv, and WebM .
PFA link for VLC for iOS 2.5.1 which includes MediaVLCKit library as well.
Hope this works :)

How to create RTSP player in iPhone

Is it possible to view video stream (H.264 live feed) over RTP/RTSP in native iPhone ? If not,is it possible to write an application and then I have rtsp url how to get streaming video in iPhone.
"rtsp://192.168.2.148:1935/live/test.stream"
I got code Streaming Video in Android using above url, but now I tried iPhone I don't know
which frameworks are used and how to get Video Streaming please give me any Idea
I have the same issue,and I found an excellent ffmpeg player for iOS, IJKPlayer.
You can change the build script in config/module.sh to support RTSP.
If you want to play rtsp real time stream.I have already fock another version IJKPlayer to support that.
Yeah Sure. You can do RTSP stream in iPhone but with the help of some libraries. You can use the DFURTSPPlayer for that purpose
https://github.com/durfu/DFURTSPPlayer

Flash/AIR Stage Video on iOS - Is It Possible? How is the performance?

Does any of you can point me to some resource about video performance of AIR (3.2) on iOS devices.
I am interested into:
is StageVideo available
is video streaming allowed/enabled
is the performance ok with high definition videos?
is .flv playback allowed? (how about on android: flash is there already)
Only H264 has hardware decoding on iOS.
This means comparable video performance with native player only for H264
and slugish (at best) decoding for Sorenson and VP6 (even with low resolutions).
"AIR 3 for iOS uses the StageVideo object for H.264 video with hardware decoding, with limited supported for NetStream functionality. AIR 3 for iOS also supports On2 and Sorenson codecs through the StageVideo object. This support does not use hardware decoding, and it does not limit NetStream functionality."
flash.media.StageVideo
FLV and MP4 are encapsulation formats.
FLV can contain VP6+MP3 or H264+AAC (or any of them taken alone).
MP4 can contain H264+AAC.
The docs don't say anything about FLV not beeing supported on iOS.
However, on iOS, if FLV/H264 won't play, you won't be able to remux it to MP4 on the fly because of the following restriction (otherwise you would lose hardware decoding):
"Note: This method is not supported for H.264 video in AIR 3.0 for iOS."
flash.net.NetStream::appendBytes()
Nothing is said about Sorenson or VP6 not beeing suported for on the fly remuxing (thus they should be).
You shouldn't need appendBytes anyways, unless you plan on doing some very advanced stuff, like switching bitrates on the fly without any interruption during play.
Live streaming requires something similar of what appendBytes does. Since H264 hardware decoding is required and does not have a software mode, you won't get H264 for live streams.
"It turns out that real-time streaming of an H264 video does not render on iOS devices in Adobe Air. Other video codecs will work (H263), but not for H264. You'll consume the feed, but will only hear audio. I confirmed this after talking with members of the Adobe Air development team."
From Adobe Forums
How well H264 decoding performs on different Apple ARM CPUs really depends a lot on video encode settings (B-frames or keyframes, bitrates, etc.) and wether you have dynamic content, static content, fast switching scenes, resolution, color palletes, etc.
Conclusion:
Use FLV or MP4 (whichever suits you best), with H264+AAC inside.
Experiment with encode settings, or lots of videos of which you are targeting (if any).
Determine which is the lowest (oldest) iOS device you want to target, and test on that.
I don't know how the performance stacks up, but the Actionscript docs for NetStream have some information about using NetStream/Video to play video on AIR on iOS devices:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#play%28%29
StageVideo is supported for H.264 video on iOS with AIR 3:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/StageVideo.html
The takeaway is that StageVideo and limited streaming capabilities are supported on iOS devices as long as your video uses the streaming formats that iOS requires.

Resources