HLS 视频点播初探 - 腾讯云开发者社区-腾讯云

HTTP Live Streaming(HLS)是苹果公司实现的基于HTTP的流媒体传输协议,可实现流媒体的直播和点播。原理上是将视频流分片成一系列HTTP下载文件。特点是将流媒体切分为若干 TS 片段(比如每10秒一段),然后通过一个扩展的 m3u8 列表文件将这些 TS 片段集中起来供客户端播放器接收。索引文件就是m3u8文件。

视频播放的过程

现在的视频网站采用的是流媒体传输协议,就是将一段视频切成无数个小段,这几个小段就是ts格式的视频文件,一段一段的网站上播放。

这样做的好处是观看更加流畅,因为他会根据网络状况自动切换视频的清晰度,在网络状况不稳定的情况下,对保障流畅播放非常有帮助。

我们可以了解下,一个视频播放的全过程。

1.服务器采集编码传输视频到切片器
2.切片器对视频创建索引文件,并且切割n个ts文件
3.这2个文件传输到http服务器上
4.网站/客户端根据索引文件查找http服务器上的ts文件,连续播放这n个ts文件,就可以了。

给大家画了下流程图

所以我们可以知道,索引文件非常重要,索引文件里面存储着ts文件的网络url链接,网站需要拿到索引文件,去按照url链接下载在http服务器中的ts文件,类似于爬虫。

拿到了ts文件之后,本身这些ts文件就是原视频中的一小段视频,所有ts文件下载顺序播放,就完成了整个视频的播放。

而索引文件就是m3u8文件。

现在大部分视频网站传输都是采用这种方法,所以,也就是说,如果你在观看网页视频的时候,能够弄到加载该视频的m3u8文件,那么再配合一些工具,就能下载该视频了。

该工具的作用就类似于视频网站,能够根据索引文件去下载ts文件。

参考:​​​​​​【全网最全】m3u8到底是什么格式?一篇文章搞定m3u8下载 - 知乎

视频点播支持视频转码的输出格式主要有DASH、HLS和MP4,这三种的播放体验如表1所示。

表1 视频播放体验比较

视频格式

播放体验

流量占用情况

DASH

  • 对视频进行切片,按切片播放,缓存小起播快;
  • 拖动时间轴到任意时间播放时,可以快速定位到对应的切片进行播放,响应快。

小。

HLS

  • 对视频进行切片,按切片播放,缓存小起播快;
  • 拖动时间轴到任意时间播放时,可以快速定位到对应的切片进行播放,响应快。

整体占用小,播放一个切片只下载一个切片内容;对于低码率的视频场景,因封装代价高导致流量占用相对较高。

MP4

  • 头文件较大,边下边缓存,起播相对HLS和DASH慢一些;
  • 拖动时间轴播放时,需要一定的时间缓存;
  • 市场上大多数的浏览器客户端均能够播放,播放成功率高。

拖动时间轴播放时,仍然需要下载整个头文件,耗费流量大;因流量占用较大,建议用在短视频处理的场景。

面试:m3u8到底是什么格式相关推荐

  1. 面试官到底想看什么样的简历?三分钟教你拿下面试机会

    面试一直是程序员跳槽时期非常热门的话题,虽然现在已经过了跳槽的旺季,下一轮跳槽季需要到年底才会出现,但是当跳槽季的时候你再看这篇文章可能已经晚了,过冬的粮食永远不是冬天准备的,而是秋收的时候. 一.简 ...

  2. hls之m3u8、ts流格式详解

    HLS,Http Live Streaming 是由Apple公司定义的用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件. 1.M3U8文件 ...

  3. 面试时,面试官到底在考察什么?

    作者:白海飞 出处:极客时间<面试现场>专栏 先看一段面试对话,"大面"是一位久经沙场的面试官,小明就是今天的应聘者.一通面试下来,前面的技术问题小明都对答如流,双方相 ...

  4. 【简历制作合集】面试时到底是用彩打简历还是黑白简历更出彩呢?|智测优聘出品

    简历到底是黑白的更显专业呢?还是彩色的更吸引人呢? 其实对于大部分HR来说,彩色简历和黑白简历的区别并不是很大,他们会更注重简历的排版.内容.不过仁者见仁,智者见智,不同的行业,不同的公司,不同的面试 ...

  5. 【前端面试】到底我的简历该怎么写?才有机会被邀请面试?【看此文章即可!!!】

    到底我的简历该怎么写?才有机会被邀请面试? Hello,今天我们来分享下简历的编写.对于简历,作为一名刚上大四的学生,肯定很头疼这个问题,感觉自己三年都来,好像除了认真上课外,也没有参加比赛,该怎么办 ...

  6. 安卓开发者中心!那些BAT大厂的Android面试官到底在想些什么?持续更新中

    最近很多人说,Android越来越不好找工作了,学习NDK开发会不会好点,今天就聊聊这个问题.是否应该选择学NDK? 1.哪些场景下要用到NDK开发? 跨平台的库,如FFmpeg, skip,weex ...

  7. java 解析m3u8的实例_M3U8格式讲解及实际应用分析

    M3U8有啥好处 ? 网上搜索了一下,大家众说纷纭,个人理解主要是可以做多码率的适配,根据网络带宽,客户端会选择一个适合自己码率的文件进行播放,保证视频流的流畅. 在IOS device和mac上可以 ...

  8. Java面试之到底值传递和引用传递???

    值传递和引用传递 举例 /*** 值传递和引用传递*/ class Person {private Integer id;private String personName;public Person ...

  9. 一文详解 m3u8视频格式与视频秒开优化

    公司要求对 视频秒开率 进行优化(一秒内成功加载的播放数/播放总数). 因此本意是想对比一下m3u8与mp4视频格式,并了解m3u8格式优缺点,以确定一个优化大概方向. 但对m3u8做简单了解后,觉得 ...

最新文章

  1. window.showModalDialog用法介绍
  2. Python执行 shell 命令并实时打印输出
  3. MySQL安装错误:/usr/local/mysql/libexec/mysqld: unknown option '--skip-federated'
  4. 进程组 会话 作业
  5. Java中的状态设计模式–示例教程
  6. 【转】C++学习一 结构与结构体
  7. 《UNIX网络编程 卷2:进程间通信(第2版)》——1.4 名字空间
  8. 一维前缀和,二维前缀和,一维差分,二维差分(翻译)
  9. 下载苹果APP历史版本
  10. KDE桌面下konsole打开terminal/tab 并执行命令或脚本
  11. Django项目(五):注册模块—登录注册
  12. 证书服务器 过期,iis7服务器证书过期如何换新的以及证书服务器
  13. 第12届蓝桥杯国赛真题剖析-2021年5月29日Scratch编程初中级组
  14. 数藏行业公众号裂变,单日拉新8w+,实现低成本获客?
  15. (5)多体量子态与统计力学基础
  16. 服务网格在百度核心业务大规模落地实践
  17. 【Linux配置五】 Ubuntu18.04+kalibr标定工具箱安装编译
  18. 显卡 1050Ti pytorch 安装
  19. LeetCode 51-60题
  20. socket 10053 错误之路

热门文章

  1. 有没有关于黄昏日落的温柔文案
  2. np array 存储 json格式文件的写入与读取
  3. 抖音2023剪映/达芬奇/AE/VEGAS等可用的LUTs预设
  4. 根据经纬度坐标计算距离sql语句
  5. 现代电力系统分析王锡凡pdf_华中科技大学艾小猛:不确定环境下的电力及综合能源系统多时间尺度优化调度...
  6. GGhost一键恢复09.03.08
  7. 下载steam创意工坊
  8. 腾讯QQ2009常用功能和设置手册
  9. HyperSnap老牌截图工具 简体中文绿色汉化
  10. 如何取淘宝登录的完整cookies