ExoPlayer播放器扩展(一)DASH流与HLS流简介

关联博客:

ExoPlayer播放器剖析(一)进入ExoPlayer的世界
ExoPlayer播放器剖析(二)编写exoplayer的demo
ExoPlayer播放器剖析(三)流程分析—从build到prepare看ExoPlayer的创建流程
ExoPlayer播放器剖析(四)从renderer.render函数分析至MediaCodec
ExoPlayer播放器剖析(五)ExoPlayer对AudioTrack的操作
ExoPlayer播放器剖析(六)ExoPlayer同步机制分析
ExoPlayer播放器剖析(七)ExoPlayer对音频时间戳的处理
ExoPlayer播放器扩展(一)DASH流与HLS流简介

一、前言:
exoplayer主要针对网络自适应流进行播放,从官方文档我们了解到,exoplayer支持的网络自适应流包括DASH、HLS和SmoothStreaming,下面对网络自适应流做一个简单介绍。

二、DASH流简介:
DASH流是基于HTTP的动态自适应流。MPEG-DASH通过把内容分割成小的基于HTTP的文件段序列,来进行流媒体播放。各个文件段可以设置成不同的比特率进行编码,以满足不同的客户端的网络需求。比如,DASH客户端可以根据当前的网络状况,自动选择对应的最匹配的比特率文件段下载,进行回放,而不会引起停顿或重新缓冲。

使用DASH流的应用有:YouTobe、Netflix、Hulu…

DASH流的一些重要概念介绍:

MPD:媒体文件的描述文件,类似于HLS的m3u8文件;

Representation:可选择的输出描述,如,480p video,720p video, 44100采样率 audio,22050采样率audio;

Segment:分片,每个Representation会划分为多个Segment。Segment分为4类,其中,最重要的是:Initialization Segment(每个Representation都包含1个Init Seg),Media Segment(每个Representation的媒体内容包含若干Media Seg)

Fmp4:分片化的mp4,是DASH采用的媒体文件格式,文件扩展名通常为(.m4s或直接用.mp4);

DASH流几个重要概念介绍
上图摘自的博客地址(点击此处),这张图比较清晰地告知我们普通MP4与fMP4组织结构对比,fMP4与DASH 分片概念对照。

因为没有搭建专门的DASH推流框架,所以DASH的推流的搭建不在我的关注范围之内,以下是我在网上找的可用于测试DASH流的地址,建议使用VPN方式访问,可用VLC播放器测试地址是否有效:

汇总(里面有很多测试流地址)
一个标清流地址(该地址VLC可以播放,但是用exoplayer的demo播不了)
钢铁之泪(似乎只能播放片头一小部分)

三、HLS流简介:
HTTP Live Streaming,即HLS,是苹果公司提出的基于HTTP的流媒体网络传输协议,类似于MPEG-DASH,HLS最重要的是M3U8文件,M3U8文件其实就是以UTF-8编码的M3U文件,该文件本身不能播放,只是用于存放待播放视频流的基本信息:
HLS流介绍
客户端播放HLS视频流的逻辑其实非常简单,先下载一级Index file,它里面记录了二级索引文件(Alternate-A、Alternate-B、Alternate-C)的地址,然后客户端再去下载二级索引文件,二级索引文件中又记录了TS文件的下载地址,这样客户端就可以按顺序下载TS视频文件并连续播放。

也就是说,HLS有两级索引:
(a) 第一级索引存放的是不同码率的HLS源的M3U8地址,也就是二级索引文件的地址;
(b) 第二级索引则记录了同一码率下TS切片序列的下载地址;

客户端获取一级M3U8文件后,根据自己的带宽,去下载相应码率的二级索引文件,然后再按二级索引文件的切片顺序下载并播放TS文件序列;

可用于测试HLS流的地址:

HLS测试地址一
HLS测试地址二

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值