`

http live streaming(m3u8 streaming)(m3u8)

    博客分类:
  • IOS
 
阅读更多

m3u8 笔记:

在IOS device和mac上可以用http的方式进行分发,其中playlist标准为由m3u扩展而来的m3u8文件,媒体文件为MPEG2-TS或者AAC文件(audio only)。

m3u8文件有两种应用场景:

multi bitrate adaptive streaming

#EXTM3U

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1280000

http://example.com/low.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2560000

http://example.com/mid.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=7680000

http://example.com/hi.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=65000,CODECS="mp4a.40.5"

http://example.com/audio-only.m3u8

sbr bitrate adaptive streaming

#EXTM3U

#EXT-X-TARGETDURATION:5220

#EXTINF:5220,

http://media.example.com/entire.ts

#EXT-X-ENDLIST

 

 

rfc doc:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
m3u8 文件是m3u文件的扩展。在该rfc中定义了扩展的关键字:
其中:
#EXT-X-TARGETDURATION
定义每个TS的最大的duration。
#EXT-X-MEDIA-SEQUENCE
定义当前m3u8文件中第一个文件的序列号,每个ts文件在m3u8文件中都有固定唯一的序列号,该序列号用于在MBR时切换码率进行对齐。

#EXT-X-KEY

定义加密方式和key文件的url,用于取得16bytes的key文件解码ts文件。

属性:
METHOD
URL
#EXT-X-PROGRAM-DATE-TIME

第一个文件的绝对时间

#EXT-X-ALLOW-CACHE

是否允许cache。
#EXT-X-ENDLIST
表明m3u8文件的结束。live m3u8没有该tag。
#EXT-X-STREAM-INF
属性:
BANDWIDTH
PROGRAM-ID
CODECS
#EXT-X-DISCONTINUITY
当遇到该tag的时候说明以下属性发生了变化:
file format 
number and type of tracks
encoding parameters
encoding sequence

timestamp sequence

#EXT-X-VERSION

分享到:
评论

相关推荐

    国外电视台2024.m3u8

    它最初由苹果公司开发,为HTTP Live Streaming(HLS)协议提供支持。M3U8文件采用UTF-8编码,包含了一系列URI链接,指向媒体文件或其他嵌套的M3U8文件。其结构简单清晰,常用于实现自适应码率、分片传输的视频播放。...

    M3U8 Downloader 基于 FFmpeg 的M3U8下载器

    ”M3U”和”M3U8″文件都是苹果公司使用的HTTP Live Streaming格式的基础,这种格式可以在iPhone和Macbook等设备播放。简而言之,M3U8就是一个播放列表。所以问题来了,如果你想下载一个播放列表里的所有视频,然后...

    直播数据文件 全国景区源.m3u8

    它最初由苹果公司开发,为HTTP Live Streaming(HLS)协议提供支持。M3U8文件采用UTF-8编码,包含了一系列URI链接,指向媒体文件或其他嵌套的M3U8文件。其结构简单清晰,常用于实现自适应码率、分片传输的视频播放。...

    go-m3u8:在Golang中解析并生成Apple HTTP Live Streaming(HLS)的m3u8播放列表(从gem https:github.comsethdeckardm3u8移植)

    go-m3u8可以轻松生成和解析Apple发行的HTTP Live Streaming(HLS)Internet草案中定义的m3u8播放列表。 该库完全实现了HLS Internet Draft版本20。 提供从任何File,io.Reader或字符串将m3u8播放列表解析为对象...

    M3U8 HLS 协议

    视频网站常用的M3U8(HTTP Live Streaming)技术协议

    除成人内容以外的已知频道.m3u

    它最初由苹果公司开发,为HTTP Live Streaming(HLS)协议提供支持。M3U8文件采用UTF-8编码,包含了一系列URI链接,指向媒体文件或其他嵌套的M3U8文件。其结构简单清晰,常用于实现自适应码率、分片传输的视频播放。...

    m3u8、rtmp、flv直播视频源直播

    它最初由苹果公司开发,为HTTP Live Streaming(HLS)协议提供支持。M3U8文件采用UTF-8编码,包含了一系列URI链接,指向媒体文件或其他嵌套的M3U8文件。其结构简单清晰,常用于实现自适应码率、分片传输的视频播放。...

    M3U8批量DD.zip

    "M3U" 和 "M3U8" 文件都是苹果公司使用的 HTTP Live Streaming(HLS) 协议格式的基础,这种协议格式可以在 iPhone 和 Macbook 等设备播放。 即HLS 是新一代流媒体传输协议,其基本实现原理为将一个大的媒体文件...

    m3u8:解析并为Ruby中的Apple HTTP Live Streaming(HLS)生成m3u8播放列表

    m3u8 m3u8可以轻松生成和解析Apple发行的 Internet草案中定义的m3u8播放列表。 该库完全实现了HLS Internet Draft版本20。 提供从任何File,StringIO或字符串将m3u8播放列表解析为对象模型的功能。 提供将播放...

    m3u8-segmenter:Apple HTTP Live Streaming分段器

    m3u8-segmenter是一个Apple HTTP Live Segmenter。 它从ffmpeg之类的工具中获取MPEG-TS流,并将其分解为多个ts段,适用于从iPhone之类的设备进行HTTP Live流传输。 它还创建此流类型所需的M3U8流描述符。 它最初由...

    M3U8批量下载器.zip

    "M3U" 和 "M3U8" 文件都是苹果公司使用的 HTTP Live Streaming(HLS) 协议格式的基础,这种协议格式可以在 iPhone 和 Macbook 等设备播放。 作者:Whyn 链接:https://www.jianshu.com/p/e97f6555a070 来源:简书 ...

    java8集合源码分析-M3U8Demo:一个android-app-demo集成ffmpeg实现了m3u8视频文件的批量转换

    M3U8批量转换开发总结 开发时间表 2020年1月13日 开始java层开发,设计demoUI,制作文件搜索功能 2020年1月24日 开始cpp层开发,尝试使用ndk编译ffmpeg.so,尝试使用jni调用ffmpeg转码功能 2020年2月10日 开始制作...

    HLS之http_live_streaming_开发必备

    HLS之http_live_streaming_开发必备,很详细的讲解了每种m3u8文件中的标签的语法及用法,对学习hls有不少帮助

    m3u8:Apple HLS的解析器和M3U8播放列表的生成器。 Go语言库

    M3U8 这是用于解析和生成用于Internet视频翻译的HTTP Live Streaming(Apple HLS)中使用的M3U8播放列表的最完整的开源库。 M3U8是简单的文本格式,并且解析库也必须很简单。 它不提供通过HTTP播放HLS或处理播放列表...

    m3u8-parser:Java的简单HLS播放列表解析器

    m3u8解析器 一个用于Java的简单HLS播放列表解析器。 该项目的目标是根据实现解析器和一致的Java对象模型。 该解析器与iHeartRadio的非常相似。 主要区别在于: m3u8-parser不会尝试验证播放列表。 您负责创建...

    包括完整内容所有已知频道.m3u

    它最初由苹果公司开发,为HTTP Live Streaming(HLS)协议提供支持。M3U8文件采用UTF-8编码,包含了一系列URI链接,指向媒体文件或其他嵌套的M3U8文件。其结构简单清晰,常用于实现自适应码率、分片传输的视频播放。...

    m3u8-dl:一个CLI m3u8-downloader程序,用于解析.m3u8播放列表文件并下载mpeg2-ts视频文件,将其连接起来并使用FFMPEG将其转换为mp4

    m3u8-dl 一个CLI程序,用于下载m3u8播放列表中的视频,将其写入单个视频文件,然后使用ffmpeg将其转换为mp4。 在此处阅读有关m3u8的信息 依存关系 在激活virtualenv之后,使用pip install -r requirements.txt...

    pyhls:一个 HTTP Live Streaming (HLS) python 库

    一个 HTTP Live Streaming (HLS) python 库 Apple 提供了许多与 HLS 配合使用的工具,但这些工具只能在 OS X 上使用。该库旨在包括这些工具的功能以及更多功能,并在多个平台上提供这些功能。 支持 为了确保在这个...

    http-live-streaming-examples:一个包含HTTP Live Streaming样本集合的存储库

    清单– M3U8 Apple HTTP Live Streaming(HLS)使用M3U8播放列表作为清单,通常,流的一种变体是特定比特率和/或分辨率下的流质量。 变体播放列表的结构如下:一个根M3U8引用了描述各个变体(质量)的其他M3U8。样品...

    M3u8 Parser-开源

    用于Http Live Streaming的java m3u8播放列表解析器。 有关详细信息,请参见ietf草案http://tools.ietf.org/html/draft-pantos-http-live-streaming-02。 请参阅:http://m3u8parser.chilicat.net以获取JavaDoc和...

Global site tag (gtag.js) - Google Analytics