m3u8和HLS下载和分析工具

简介:   HLS即HTTP Live Streaming的缩写,是由苹果公司(apple)提出的一种流媒体播出协议。iOS终端(iPhone、iPad、iPod等)以及Android终端都支持该协议。

  HLS即HTTP Live Streaming的缩写,是由苹果公司(apple)提出的一种流媒体播出协议。iOS终端(iPhone、iPad、iPod等)以及Android终端都支持该协议。Android和iOS终端对HLS协议的支持是系统内置的,不需要开发额外的组件,通过HTML5网页和系统播放器可以直接播放HLS视频流。

  m3u8是HLS协议的播出索引文件,是HLS协议的播放列表(Playlist),文件内容是utf-8编码的文本数据。HLS协议的播出内容是分片分发的,视频文件(或视频流)会被切成长度大致相等的视频小片段进行分发,m3u8文件描述这些视频片段的排列顺序和下载位置。如果HLS播出内容是加密的,m3u8还描述加密的协议和秘钥获取方式的信息。

 相对其他播出协议,HLS的优势有:

   1、将大文件切分成小的文件片段,使用HTTP协议传输,能够充分利用现有的缓存和CDN加速技术进行快速分发,适合在互联网上进行高效传输

   2、Android和iOS都内置播放器,支持HTML5标签,能够方便的集成到HTML5应用和APP应用中,开发和集成难度低

   3、编码、复用、传输、加密技术都是开放的国际标准,设备和应用集成方便,更容易被接受和使用

  播放器播放HLS流的过程是:1)获取m3u8文件的url位置,2)下载m3u8文件,分析播放列表,3)根据播放列表的定义下载视频片段,4)对视频片段进行解复用、解码和播放。

  m3u8和hls分析工具对HLS协议的分析也遵循这个过程,通过下载和解析m3u8文件来分析判断HLS流的播出情况。

  本文附加包含m3u8下载分析工具,大家可以体验一下。

相关文章
|
2月前
|
Linux Android开发 iOS开发
Windows平台RTSP|RTMP播放器如何实现实时录像功能
Windows平台RTSP、RTMP播放器实时录像接口设计,实际上,除了Windows平台,我们Linux、Android、iOS平台也是一样的设计,单纯的录像模块,如果做的全面,也不是一两个接口可以搞定的
|
3月前
|
编解码 算法 Linux
Linux平台下RTSP|RTMP播放器如何跟python交互投递RGB数据供视觉算法分析
在对接Linux平台的RTSP播放模块时,需将播放数据同时提供给Python进行视觉算法分析。技术实现上,可在播放时通过回调函数获取视频帧数据,并以RGB32格式输出。利用`SetVideoFrameCallBackV2`接口设定缩放后的视频帧回调,以满足算法所需的分辨率。回调函数中,每收到一帧数据即保存为bitmap文件。Python端只需读取指定文件夹中的bitmap文件,即可进行视频数据的分析处理。此方案简单有效,但应注意控制输出的bitmap文件数量以避免内存占用过高。
|
5月前
|
数据安全/隐私保护 索引 Python
详尽分享视频相关的hls协议、VLC播放器、m3u文件的播放
详尽分享视频相关的hls协议、VLC播放器、m3u文件的播放
103 0
|
6月前
|
C# 数据安全/隐私保护 开发者
Windows平台RTMP推送|轻量级RTSP服务录像模块如何支持中文路径?
Windows平台RTMP推送|轻量级RTSP服务录像模块如何支持中文路径?
|
数据处理 Android开发 开发者
Android平台实现mp4文件实时推送RTMP|轻量级RTSP服务|GB28181平台
好多开发者有这样的诉求,想把本地录制的MP4文件,以实时流数据的形式,推送到RTMP服务器,注入轻量级RTSP服务,或者对接到GB28181平台,这块前几年我们就有对接。
116 0
|
编解码 开发工具 C#
Windows平台RTMP/RTSP直播推送模块设计和使用说明
好多开发者一直反馈,Windows平台,做个推屏或者推摄像头,推RTMP或者RTSP出去,不知道哪些功能是必须的,哪些设计是可有可无的,还有就是,不知道如何选技术方案,以下是基于我们设计的Windows平台RTSP、RTMP直播推送模块,设计和使用说明,供大家参考。
467 0
|
大数据 Apache 流计算
《实时即未来》下载
甄选 Apache Flink 及大数据领域顶级盛会 Flink Forward Asia 大会嘉宾精彩分享,覆盖国内外一线大厂实时平台构建的经验分享与实时数仓的应用实践,为你揭秘实时计算平台从无到有到有、持续优化的详细细节!
56 0
《实时即未来》下载
|
Linux
FFMPEG音视频开发: Linux下采集音频(alsa-lib库)、视频(V4L2框架)数据编码并实时推流到RTMP流媒体服务器,达到直播功能(推流)
FFMPEG音视频开发: Linux下采集音频(alsa-lib库)、视频(V4L2框架)数据编码并实时推流到RTMP流媒体服务器,达到直播功能(推流)
1083 0
FFMPEG音视频开发: Linux下采集音频(alsa-lib库)、视频(V4L2框架)数据编码并实时推流到RTMP流媒体服务器,达到直播功能(推流)
|
数据采集 编解码 Ubuntu
FFMPEG音视频开发: Linux下采集音频(alsa-lib库)与视频(V4L2框架)实时同步编码保存为MP4文件(视频录制)
FFMPEG音视频开发: Linux下采集音频(alsa-lib库)与视频(V4L2框架)实时同步编码保存为MP4文件(视频录制)
939 0
FFMPEG音视频开发: Linux下采集音频(alsa-lib库)与视频(V4L2框架)实时同步编码保存为MP4文件(视频录制)
|
Linux 文件存储
FFMPEG视频开发:Linux使用FFMPEG采集摄像头数据保存为MP4文件存储(采集摄像头数据方式使用ffmpeg本身的接口)
FFMPEG视频开发:Linux使用FFMPEG采集摄像头数据保存为MP4文件存储(采集摄像头数据方式使用ffmpeg本身的接口)
885 0
FFMPEG视频开发:Linux使用FFMPEG采集摄像头数据保存为MP4文件存储(采集摄像头数据方式使用ffmpeg本身的接口)