跳转到主要内容

如何使用HTTP协议向移动设备传输视频? HTTP Live Streaming (HLS)

阅读需 1 分钟Tian PanTian Pan

为什么需要这样一个协议?

使用HTTP直播流的移动视频播放服务有以下问题:

  1. ==手机的内存和外存有限==。
  2. 受制于不稳定的网络连接以及不同的带宽,需要==在传输过程中动态调整传输视频的质量==。

解决方法

  1. 服务器层面:在典型的设置中,编码硬件接受音视频输入,将其编码为H.264格式的视频和ACC格式的音频,然后将他们以MPEG-2格式流输出。
    1. 其后通过一个软件分流器将原始输出流分割为一系列短媒体文件(长度可能为10s的.ts文件)。
    2. 分流器同时也会维护一个包含所有媒体文件列表的索引文件(.m3u8格式)。
    3. 将以上步骤生成的媒体文件和索引文件发布在网络服务器上。
  2. 客户端层面:客户端读取索引,然后向服务器顺序请求所需要的媒体文件,并且流畅地将各个短媒体文件的内容播放出来。

架构

HLS Architecture

参考资料

保持联系,关注我获取更多内容

阅读需 3 分钟

流处理和批处理框架

流处理和批处理框架概述:为什么需要它们,以及它们如何在大规模数据处理中提供容错能力和统一的任务抽象。

architecture
system design
阅读需 3 分钟

一亿美元的遥测错误:OpenAI 的故障教会我们系统设计的知识

OpenAI 最近的故障揭示了现代系统设计的重要见解,突显了保障措施如何无意中成为风险。了解这一亿美元的遥测错误的教训,以及它们如何适用于你自己的技术基础设施。

OpenAI
system design
阅读需 4 分钟

快速介绍 Optimism 架构

什么是 Optimism?它的架构是什么样的?它的构建组件是什么,它们之间如何相互作用?

system design
阅读需 7 分钟

如何设计区块链服务端的架构?

分布式的区块链记账和智能合约系统。要求节点之间不大信任,但是却激励他们互相合作:交易不可逆,不依赖可信的第三方,保护隐私,透露最少信息,一笔钱不能花两次。假设性能不是问题,暂不考虑如何优化性能。

system design
阅读需 9 分钟

设计以人为本的国际化(i18n) 工程方案

硅谷公司的产品大多面向全球市场,而国际化正是跨国公司征战全球市场的战略要地。我们这次设计的 i18n 工程方案主要是解决网站和移动 App 开发过程中的三大问题:1. 语言、2. 时间与时区、3. 数字与货币。如同一切软件系统的开发一样,国际化这件事情没有银弹,好的作品都是靠基本功一点一滴磨出来的。

system design