zoukankan      html  css  js  c++  java
  • What Is HLS (HTTP Live Streaming)?

    HTTP Live Streaming  (HLS) Executive Summary

    HTTP Live Streaming (or HLS) is an adaptive streaming communications protocol created by Apple to communicate with iOS and Apple TV devices and Macs running OSX in Snow Leopard or later. HLS can distribute both live and on-demand files and is the sole technology available for adaptively streaming to Apple devices, which is an increasingly important target segment to streaming publishers.

    HLS is widely supported in streaming servers from vendors like AdobeMicrosoftRealNetworks, and Wowza, as well as real time transmuxing functions in distribution platforms like those from Akamai. The popularity of iOS devices and this distribution-related technology support has also led to increased support on the player side, most notably from Google in Android 3.0.

    In the Apple App Store, if you produce an app that delivers video longer then ten minutes or greater than 5MB of data, you must use  HTTP Live Streaming, and provide at least one stream at 64Kbps or lower bandwidth. Any streaming publisher targeting iOS devices via a website or app should know the basics of HLS and how it’s implemented.

    How HLS Works

    At a high level, HLS works like all adaptive streaming technologies; you create multiple files for distribution to the player, which can adaptively change streams to optimize the playback experience. As an HTTP-based technology, no streaming server is required, so all the switching logic resides on the player.

    To distribute to HLS clients, you encode the source into multiple files at different data rates and divide them into short chunks, usually between 5-10 seconds long. These are loaded onto an HTTP server along with a text-based manifest file with a .M3U8 extension that directs the player to additional manifest files for each of the encoded streams.

    Ozer HLS Figure 1
    Figure 1. HLS uses multiple encoded files with index files directing the player to different streams and chunks of audio/video data within those streams. 

    The player monitors changing bandwidth conditions. If these dictate a stream change, the player checks the original manifest file for the location of additional streams, and then the stream-specific manifest file for the URL of the next chunk of video data. Stream switching is generally seamless to the viewer.

    https://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=78221

  • 相关阅读:
    论文参考文献
    Spatial Transformer Networks
    python实现两个升序链表合并
    ImportError: cannot import name 'PILLOW_VERSION'
    交叉熵与KL散度
    windows环境下面安装neo4j出错记录
    在vue项目中引入JQuery
    Vue在windows的环境配置
    js动态修改Easyui元素不生效,EasyUI动态渲染解析解决方案
    java.lang.NoClassDefFoundError:org/apache/commons/lang/exception/NestableRuntimeException报错的原因
  • 原文地址:https://www.cnblogs.com/feng9exe/p/11558313.html
Copyright © 2011-2022 走看看