It seems both protocol does the same thing but is there a advantage of one over the other?
相关问题
- In Java: why some Stream methods take int instead
- How to stream Video using VLC in http to other com
- Write stream into mongoDB in Java
- How can we cache HLS video url once streamed
- Streaming video (C# using FFmpeg AutoGen) sends mu
相关文章
- Streaming music synchronously from a mp3 file via
- How do i embed this m3u8 into my webpage?
- How to deserialize multiple objects from a json st
- Live streaming with silverlight 4
- FFmpeg streaming using H.264 (with audio) - Red5 m
- Web player to use with SHOUTcast
- Convert rtsp-stream into http stream
- Error while implementing AVAssetDownloadURLSession
From an application designer point of view, trying to choose one technology for video streaming services like youtube or netflix, I would say they all have theirs fall backs and you should use all of them.
Every regular video streaming service today will have two problems: client support (and you should want everything, from Smartphones, to tvs, consoles, apple tv and google chromecast) and server infrastructure.
HLS is native supported on everything Apple, runs very smooth and offers great personalization through the use of a lot of open source js video players. Android has problems, but even on 2.3 devices I have made flash player run HLS on a hybrid application. Performance sucks. But you can transcode on the fly with ffmpeg! Live streaming is also possible and very straight forward.
MPEG-DASH is really well supported on newer devices, in 5 years this talking could be over. With ngnix and rtmp extension you can build a video streaming server in half an hour.
I first chose HLS beacuse it's easy. Right now I'm creating everything HLS, WebM (lower definitions) and MPEG-DASH at the same time for different clients to allow all of them to run natively.
That way I can rely on building only Hybrid applications and use all of my AngularJS code on every client. Otherwise it would be impractical for smaller projects to embrace video streaming services. Then you have services like Wowza.
Here's a quick comparison for Aquary. Too long for an inline reply...
Web Standards: Of the two adaptive streaming protocols MPEG-DASH has the best chance of becoming the unifying standard.
Support: HLS, being older and with Apple pushing hard behind it, has more defacto support especially in older browsers/os/devices. You can support HLS on windows machine by using the jwplayer.
Performance: Not sure but the makers of bitdash, an mpeg-dash player, make this claim: "streaming performance is 53% higher compared to Microsoft Smooth Streaming and 101% higher than Apple HLS".
Conclusion: HLS now, MPEG-DASH tomorrow (and now if you can manage it). The following article is a good assessment of the fractured state of streaming technologies today: http://blogs.imediaconnection.com/blog/2012/04/27/mpeg-dash-its-time-for-apple-to-put-up-or-shut-up/
MPEG-DASH is a vendor independent, international standard ratified by ISO/IEC MPEG. Previous adaptive streaming technologies - such as Apple HLS – have been released by vendors with limited support of company-independent streaming servers as well as playback clients. As such a vendor-dependent situation is not desired, standardization bodies started a harmonization process, resulting in the ratification of MPEG-DASH.
In the recent years, MPEG-DASH has been integrated into new standardization efforts, e.g., the HTML5 Media Source Extensions (MSE) enabling the DASH playback via the HTML5 video and audio tag (in contrast to Apple HLS which depends on FLASH on platforms outside of the Apple ecosystem), as well as the HTML5 Encrypted Media Extensions (EME) enabling DRM-protected playback in web browsers. Furthermore, DRM-protection with MPEG-DASH is harmonized across different systems with the MPEG-CENC (Common Encryption), and MPEG-DASH playback on different SmartTV platforms is enabled via the integration in HbbTV 1.5 and 2.0.
While MPEG-DASH is codec and container agnostic Apple HLS is, e.g., bound to the MP2TS container. There are also many more differences which are described in detail at https://bitmovin.com/mpeg-dash-vs-apple-hls-vs-microsoft-smooth-streaming-vs-adobe-hds/.
You should ask yourself what is important to you (encoding, encryption methods, standardization, etc.)
Jason Schneid wrote an excellent comparison: http://www.internetvideoarchive.com/IVA/news/2012/09/13/progressive-download-vs.-adaptive-bitrate-how-to-choose-the-format-right-for-you