精华内容
下载资源
问答
  • HLS

    2014-04-02 15:00:02
  • rtmp/rtsp/hls公网真正可用的测试地址

    万次阅读 多人点赞 2019-06-03 09:48:11
    其中,rtmp和rtsp的url,用我们播放器验证通过,hls的地址,用vlc验证通过。 1. RTMP协议直播源 香港卫视:rtmp://live.hkstv.hk.lxdns.com/live/hks (目前不可用,hks1、hks2可用) 这个r...

    相信大家在调试播放器的时候,都有这样的困惑,很难找到合适的公有测试源,以下是大牛直播SDK(GitHub地址)整理的真正可用的直播地址源。

    其中,rtmp和rtsp的url,用我们播放器验证通过。

    1. rtmp://58.200.131.2:1935/livetv/hunantv

    2. RTSP协议直播源

    rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov (分辨率240*160),注意,这个URL用RTSP TCP模式测试

    3. 其他方式生成测试URL

    公网URL的特点是不稳定,而且过段时间可能就失效了,如果真的有项目诉求,需要测试URL的话,最好的办法是自己搭建可用的RTMP或RTSP URL。

    1. RTMP测试URL:通过RTMP推流工具,推到比如nginx或者SRS服务器即可,常用的推流工具有SmartPublisher或者OBS;

    2. RTSP测试URL:RTSP测试URL,建议买个海康或大华摄像头,价格不高,测试起来也方便,或者用我们轻量级RTSP服务这种来模拟。

    展开全文
  • HLS 直播协议m3u8详解

    万次阅读 多人点赞 2018-08-24 09:44:16
    一、HLS是什么 HTTP Live Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。​是苹果公司QuickTime X和iPhone软件系统的一部分。 它的工作原理是把整个流分成一个个小的基于HTTP的文件...

    一、HLS是什么

    HTTP Live Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。​是苹果公司QuickTime X和iPhone软件系统的一部分。 它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。

    在开始一个流媒体会话时,客户端会下载一个包含元数据的extended M3U (m3u8)playlist文件,用于寻找可用的媒体流。HLS只请求基本的HTTP报文,与实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的防火墙或者代理服务器。​它也很容易使用内容分发网络来传输媒体流。

    • RTMP指Adobe的RTMP(Realtime Message Protocol),广泛应用于低延时直播,也是编码器和服务器对接的实际标准协议,在PC(Flash)上有最佳观看体验和最佳稳定性。

    • HLS指Apple的HLS(Http Live Streaming),本身就是Live(直播)的,不过Vod(点播)也能支持。HLS是Apple平台的标准流媒体协议,和RTMP在PC上一样支持得天衣无缝。
      这里写图片描述

    ###二、HLS主要的应用场景

    • 跨平台:PC主要的直播方案是RTMP,也有一些库能播放HLS,譬如jwplayer,基于osmf的hls插件也一大堆。所以实际上如果选一种协议能跨 PC/Android/IOS,那就是HLS。

    • IOS上苛刻的稳定性要求:IOS上最稳定的当然是HLS,稳定性不差于RTMP在PC-flash上的表现。

    • 友好的CDN分发方式:目前CDN对于RTMP也是基本协议,但是HLS分发的基础是HTTP,所以CDN的接入和分发会比RTMP更加完善。能在各种CDN之间切换,RTMP也能,只是可能需要对接测试。

    • 简单:HLS作为流媒体协议非常简单,apple支持得也很完善。Android对HLS的支持也会越来越完善。至于DASH/HDS,好像没有什么特别的理由,就像linux已经大行其道而且开放,其他的系统很难再广泛应用。

    总之,SRS支持HLS主要是作为输出的分发协议,直播以RTMP+HLS分发,满总各种应用场景。点播以HLS为主。

    三、HLS协议详解

    HLS是提供一个m3u8地址,Apple的Safari浏览器直接就能打开m3u8地址,譬如:

    http://demo.srs.com/live/livestream.m3u8
    

    Android不能直接打开,需要使用html5的video标签,然后在浏览器中打开这个页面即可,譬如:

    <!-- livestream.html -->
    <video width="640" height="360"
            autoplay controls autobuffer 
            src="http://demo.srs.com/live/livestream.m3u8"
            type="application/vnd.apple.mpegurl">
    </video>
    

    HLS协议规定

    • 视频的封装格式是TS。

    • 视频的编码格式为H264,音频编码格式为MP3、AAC或者AC-3。

    • 除了TS视频文件本身,还定义了用来控制播放的m3u8文件(文本文件)。

    HLS协议说明

    HLS的m3u8,是一个ts的列表,也就是告诉浏览器可以播放这些ts文件,譬如:

    #EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-ALLOW-CACHE:YES
    #EXT-X-TARGETDURATION:13
    #EXT-X-MEDIA-SEQUENCE:430
    #EXT-X-PLAYLIST-TYPE:VOD
    #EXTINF:11.800
    news-430.ts
    #EXTINF:10.120
    news-431.ts
    #EXT-X-DISCONTINUITY
    #EXTINF:11.952
    news-430.ts
    #EXTINF:12.640
    news-431.ts
    #EXTINF:11.160
    news-432.ts
    #EXT-X-DISCONTINUITY
    #EXTINF:11.751
    news-430.ts
    #EXTINF:2.040
    news-431.ts
    #EXT-X-ENDLIST
    
    • EXTM3U
      每个M3U文件第一行必须是这个tag,提供标示作用

    • EXT-X-VERSION
      用以标示协议版本。这里是3, 那么这里用的就是HLS协议第三个版本,此标签只能有0或1个,不写代表使用版本1

    • EXT-X-TARGETDURATION
      所有切片的最大时长,有些Apple设备这个参数不正确会无法播放。

    • EXT-X-MEDIA-SEQUENCE
      切片的开始序号。每一个切片都有唯一的序号,相邻之间序号+1。这个编号会继续增长,保证流的连续性。

    • EXTINF
      ts 切片的实际时长。duration : 媒体持续时间

    #EXTINF <duration>,<title>
    
    • EXT-X-PLAYLIST-TYPE
      类型,vod 表示点播。

    • EXT-X-ENDLIST
      文件结束符号。表示不再向播放列表文件添加媒体文件。

    Apple HTTP Live Streaming 官方说明

    展开全文
  • HLS英文_HLS_源码

    2021-09-10 15:47:36
    HLS英文原版,十分强大好用,非常棒的推荐!
  • HLS 详解

    万次阅读 多人点赞 2018-12-06 19:10:10
    1 HLS概述   HTTP Live Streaming,也就是我们常说的HLSHLS是苹果公司提出的基于HTTP的流媒体网络传输协议。类似于MPEG-DASH,但是HLS更加简洁,它的基本原理也是服务端把文件或媒体流按照不同的码率切分成一个...

    1 HLS概述

     

    HTTP Live Streaming,也就是我们常说的HLS。HLS是苹果公司提出的基于HTTP的流媒体网络传输协议。类似于MPEG-DASH,但是HLS更加简洁,它的基本原理也是服务端把文件或媒体流按照不同的码率切分成一个个小片段进行传输,客户端在播放码流时,可以根据自身的带宽及性能限制,在同一视频内容的不同码率的备用源中,选择合适码率的码流进行下载播放。在传输会话开始时,客户端首先需要下载描述不同码流元数据的M3U8索引文件(类似于DASH中的MPD文件)。

     

    与基于UDP的RTP协议不同,HLS请求仅使用HTTP传输,因此可以穿过任何允许HTTP数据通过的防火墙或代理服务器。这也便于使用传统的HTTP服务器作为源,并广泛使用基于HTTP的内容分发网络来传输媒体流。

     

    虽然HLS有上述优势,但也同时存在延迟过大的劣势。采用HLS直播的视频流延时一般在10秒以上,使用推荐配置时延迟大概在30s,而RTMP直播的延迟最低可达到3、4秒,因此,在对实时性要求较高的场合,如互动直播,就要慎用HLS了。

     

     

     

     

    2 HLS格式

     

     

    HLS的格式可简单归结如下:

    网络协议

    HTTP

    封装格式

    MEPG-2 TS

    编码格式

    视频编码格式为H.264,音频编码格式为MP3、AAC、AC-3或EC-3

    索引文件

    M3U8

     

     

    需要说明的是,目前已有厂家实现了H.265的HLS编码。在封装层面,除了MPEG-2 TS封装外,在WWDC2016上,苹果宣布了HLS对分段MP4(fMP4)文件字节寻址的支持,为HLS向MPEG-DASH的兼容提供了可能。

     

     

     

     

     

     

    3 HLS 流程

     

    根据媒体流的生成及流向,HLS的结构可划分为如下几个部分:

     

     

     

     

     

    序号

    说明

    1

    Audio/Video inputs视频源可以是任意格式,可以是离线文件或实时码流。

    2

    Server接收到视频源后,Media encoder将源视频转码成HLS支持的编码格式和封装格式,根据需求可输出多个码率分别送至Stream segmenter,在segmenter中被切分成指定大小或时间长度的TS切片,并生成索引文件M3U8。

    3

    Distribution是一个HTTP文件服务器,负责将流媒体文件推送出去或响应客户端的请求。客户端只要访问一级M3U8文件路径就能自动播放HLS视频流了。

     

     

     

     

     

    4 M3U8文件简介

     

    4.1 M3U文件标签及属性说明

     

    M3U文件中可以包含多个tag,每个tag的功能和属性如下:

     

    标签

    说明

    #EXTM3U

    每个M3U文件第一行必须是这个tag,起到标示作用。其格式如下:

     

    #EXTM3U

    #EXTINF

    指定每个媒体段(ts)的持续时间,这个仅对其后面的URI有效,每两个媒体段URI间被这个tag分隔开,其格式如下:

     

    #EXTINF:<duration>,

    <title>

    (a) duration表示持续的时间(秒)必须是整数,如果版本在3以上可以是浮点数。

    (b) title是下载资源的url。

     

    示例:

    #EXTINF:9.009,

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

    #EXT-X-BYTERANGE

    表示媒体段是一个媒体URI资源中的一段,只对其后的media URI有效,格式如下:

     

    #EXT-X-BYTERANGE:<n>[@o]

    (a) 其中n表示这个区间的大小。

    (b) o表在URI中的offset。

    这个标签出现在版本4中。

    #EXT-X-TARGETDURATION

    指定最大的媒体段时间长(秒)。所以#EXTINF中指定的时间长度必须小于或是等于这个最大值。这个tag在整个PlayList文件中只能出现一 次(在嵌套的情况下,一般有真正ts url的m3u8才会出现该tag)。格式如下:

     

    #EXT-X-TARGETDURATION:<s>

    (a) s表示最大的秒数。

     

    示例:

    #EXT-X-TARGETDURATION:10

    #EXT-X-MEDIA-SEQUENCE

    每一个media URI 在 PlayList中只有唯一的序号,相邻之间序号+1。格式如下:

     

    #EXT-X-MEDIA-SEQUENCE:<number>

    (a) 一个media URI并不是必须要包含的,如果没有,默认为0。

     

    示例:

    #EXT-X-MEDIA-SEQUENCE:2680

    #EXT-X-KEY

    表示怎么对media segments进行解码。其作用范围是下次该tag出现前的所有media URI,格式如下:

     

    #EXT-X-KEY:<attribute-list>

    (a) NONE 或者 AES-128。

     

    如果是NONE,则URI以及IV属性必须不存在,如果是AES-128(Advanced Encryption Standard),则URI必须存在,IV可以不存在。

     

    对于AES-128的情况,keytag和URI属性共同表示了一个key文件,通过URI可以获得这个key,如果没有IV(Initialization Vector),则使用序列号作为IV进行编解码,将序列号的高位赋到16个字节的buffer中,左边补0;如果有IV,则将改值当成16个字节的16进制数。

     

    示例:

    #EXT-X-KEY:METHOD=AES-128,URI="https://priv.example.com/key.php?r=52"

    #EXT-X-PROGRAM-DATE-TIME

    将一个绝对时间或是日期和一个媒体段中的第一个sample相关联,只对下一个meida URI有效,格式如下:

     

    #EXT-X-PROGRAM-DATE-TIME:<YYYY-MM-DDThh:mm:ssZ>

     

    示例:

    #EXT-X-PROGRAM-DATE-TIME:2010-02-19T14:54:23.031+08:00

    #EXT-X-ALLOW-CACHE

    是否允许做cache,这个可以在PlayList文件中任意地方出现,并且最多出现一次,作用效果是所有的媒体段。格式如下:

     

    #EXT-X-ALLOW-CACHE:<YES|NO>

    #EXT-X-PLAYLIST-TYPE

    提供关于PlayList的可变性的信息, 这个对整个PlayList文件有效,是可选的,格式如下:

     

    #EXT-X-PLAYLIST-TYPE:<EVENT|VOD>

    (a) 如果是VOD,则服务器不能改变PlayList 文件。

    (b) 如果是EVENT,则服务器不能改变或是删除PlayList文件中的任何部分,但是可以向该文件中增加新的一行内容。

    #EXT-X-ENDLIST

    表示PlayList的末尾了,它可以在PlayList中任意位置出现,但是只能出现一个,格式如下:

     

    #EXT-X-ENDLIST

    EXT-X-MEDIA

    被用来在PlayList中表示相同内容的不用语种/译文的版本,比如可以通过使用3个这种tag表示3中不用语音的音频,或者用2个这个tag表示不同角度的video在PlayLists中。这个标签是独立存在的,其格式如下:

     

    #EXT-X-MEDIA:<attribute-list>:该属性列表中包含:URI、TYPE、GROUP-ID、LANGUAGE、NAME、DEFAULT、AUTOSELECT。

     

    (a) URI:如果没有,则表示这个tag描述的可选择版本在主PlayList的EXT-X-STREAM-INF中存在;

    (b) TYPE:AUDIO and VIDEO;

    (c) GROUP-ID:具有相同ID的MEDIA tag,组成一组样式;

    (d) LANGUAGE:确定使用的主要语言。

    (e) NAME:人类可读的语言的翻译。

    (f) DEFAULT: YES或是NO,默认是No,如果是YES,则客户端会以这种选项来播放,除非用户自己进行选择。

    (g) AUTOSELECT:YES或是NO,默认是No,如果是YES,则客户端会根据当前播放环境来进行选择(用户没有根据自己偏好进行选择的前提下)。

    #EXT-X-STREAM-INF

    指定一个包含多媒体信息的 media URI 作为PlayList,一般做M3U8的嵌套使用,它只对紧跟后面的URI有效,格式如下:

     

    #EXT-X-STREAM-INF:<attribute-list>

    <URI>

     

    有以下属性:

    (a) BANDWIDTH:带宽,必须有。

    (b) PROGRAM-ID:该值是一个十进制整数,惟一地标识一个在PlayList文件范围内的特定的描述。一个PlayList 文件中可能包含多个有相同ID的此tag。(这个属性在后面的协议版本废除了)

    (c) CODECS:指定流的编码类型,不是必须的。

    (d) RESOLUTION:分辨率。

    (e) AUDIO:这个值必须和AUDIO类别的“EXT-X-MEDIA”标签中“GROUP-ID”属性值相匹配。

    (f) VIDEO:这个值必须和VIDEO类别的“EXT-X-MEDIA”标签中“GROUP-ID”属性值相匹配。

     

    示例:

    #EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=500000, RESOLUTION=720x480

    mid_video_index.M3U8

     

     

     

     

     

     

    4.2 M3U8结构

     

    M3U8文件其实就是以UTF-8编码的M3U文件,该文件本身不能播放,只是用于存放待播放视频流的基本信息。

     

    如果你的视频具备流切换功能,处于不同的带宽、不同的网速播放不同清晰度的视频流,这样只能的流切换可以保证用户感觉到非常流畅的观影体验,同时不同的设备也可以作为选择的条件,比如视网膜屏可以在网速良好的情况下播放清晰度更高的视频流。

     

    这种功能的实现在于,索引文件的特殊结构。

     

     

     

    如上图所示,客户端播放HLS视频流的逻辑其实非常简单,先下载一级Index file,它里面记录了二级索引文件(Alternate-A、Alternate-B、Alternate-C)的地址,然后客户端再去下载二级索引文件,二级索引文件中又记录了TS文件的下载地址,这样客户端就可以按顺序下载TS视频文件并连续播放。

     

     

     

    (1) HLS有两级索引:

    (a) 第一级索引存放的是不同码率的HLS源的M3U8地址,也就是二级索引文件的地址。

    (b) 第二级索引则记录了同一码率下TS切片序列的下载地址。

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

     

     

     

     

     

     

     

    4.3 HLS 会话模式

     

    模式

    说明

    VOD

    点播VOD的特点就是当前时间点可以获取到所有index文件和ts文件,二级index文件中记录了所有ts文件的地址。这种模式允许客户端访问全部内容。

    LIVE

    Live 模式就是实时生成M3u8和ts文件。它的索引文件一直处于动态变化的,播放的时候需要不断下载二级index文件,以获得最新生成的ts文件播放视频。如果一个二级index文件的末尾没有#EXT-X-ENDLIST标志,说明它是一个Live视频流。

     

    这种类型通过向索引文件添加媒体地址可以很容易的转化为VOD类型。在转化时不要移除原来旧的源,而是通过添加一个 #ET-X-ENDLIST标记来终止实时事件。转化时如果你的索引文件中包含 EXT-X-PLAYLIST-TYPE标签,你需要将值从EVENT改为 VOD。

     

     

    客户端在播放VOD模式的视频时其实只需要下载一次一级index文件和二级index文件就可以得到所有ts文件的下载地址,除非客户端进行比特率切换,否则无需再下载任何index文件,只需顺序下载ts文件并播放就可以了。但是Live模式下略有不同,因为播放的同时,新ts文件也在被生成中,所以客户端实际上是下载一次二级index文件,然后下载ts文件,再下载二级index文件(这个时候这个二级index文件已经被重写,记录了新生成的ts文件的下载地址),再下载新ts文件,如此反复进行播放。

     

     

     

     

     

    4.4 索引文件分析

     

    4.4.1 一级索引文件格式

     

    第一级索引存放的是不同码率的HLS源的M3U8地址,也就是二级索引文件的地址。

    #EXTM3U
    #EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=500000, RESOLUTION=720x480
    mid_video_index.M3U8
    #EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=800000, RESOLUTION=1280x720
    wifi_video_index.M3U8
    #EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=3000000, CODECS="avc1.4d001e,mp4a.40.5", RESOLUTION=1920x1080
    h264main_heaac_index.M3U8
    #EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=64000, CODECS="mp4a.40.5"
    aacaudio_index.M3U8

     

     

     

    #EXTM3U

    格式标签,标明该文件是一个Extended M3U播放列表文件,必须存在于一二级列表的第一行。

    #EXT-X-STREAM-INF

    特定流标签,指示了该流的格式信息:

    (a) PROGRAM-ID节目ID,一般不用考虑;

    (b) BANDWIDTH:指定流的带宽;

    (c) RESOLUTION:视频分辨率;如果存在音频分级,则需指定音频的编码格式CODECS,如上例中的最后两项;

    (d) STREAM-INF的下一行是二级index文件的路径,可以用相对路径也可以用绝对路径。例子中用的是相对路径。这个文件中记录了不同比特率视频流的二级index文件路径,客户端可以自己判断自己的现行网络带宽,来决定播放哪一个视频流。也可以在网络带宽变化的时候平滑切换到和带宽匹配的视频流。

     

     

     

     

    4.4.2 二级索引文件格式

     

    第二级索引则记录了同一码率下TS切片序列的下载地址。

     

     

    (1) VOD形式

    点播VOD的特点就是当前时间点可以获取到所有index文件和ts文件,二级index文件中记录了所有ts文件的地址。这种模式允许客户端访问全部内容。

     

    下面的例子中就是一个点播模式下的m3u8的结构。

    #EXTM3U
    #EXT-X-TARGETDURATION:10
    #EXT-X-VERSION:3
    #EXT-X-PLAYLIST-TYPE:VOD
    #EXTINF:9.009,
    http://media.example.com/first.ts
    #EXTINF:9.009,
    http://media.example.com/second.ts
    #EXTINF:3.003,
    http://media.example.com/third.ts
    #EXT-X-ENDLIST

     

     

     

    #EXTM3U

    格式标签,标明该文件是一个Extended M3U播放列表文件,必须存在于一二级列表的第一行。

    #EXT-X-PLAYLIST-TYPE

    #EXT-X-PLAYLIST-TYPE:VOD的意思是当前的视频流并不是一个直播流,而是点播流,换句话说就是该视频的全部的ts文件已经被生成好了。

    #EXT-X-TARGETDURATION

    表示切片的最大时长,单位是秒。#EXT-X-TARGETDURATION:10表示列表中表示的每个切片时长不超过10秒。

    #EXT-X-VERSION

    表示协议兼容性版本。

    #EXTINF

    切片的实际时长,若要求取整,则其数值不能大于EXT-X-TARGETDURATION的值。

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

    对应的切片文件(路径),可以是绝对路径,也可以是相对路径。

    #EXT-X-ENDLIST

    表示整个码流的结束,不再向后附加新的切片列表。有这个标志同时也说明当前的流是一个非直播流。

     

     

     

     

    (2) Live形式

    Live 模式就是实时生成M3u8和ts文件。它的索引文件一直处于动态变化的,播放的时候需要不断下载二级index文件,以获得最新生成的ts文件播放视频。如果一个二级index文件的末尾没有#EXT-X-ENDLIST标志,说明它是一个Live视频流。

     

    #EXT-X-VERSION:3
    #EXT-X-TARGETDURATION:8
    #EXT-X-MEDIA-SEQUENCE:2680
     
    #EXTINF:7.975,
    https://priv.example.com/fileSequence2680.ts
    #EXTINF:7.941,
    https://priv.example.com/fileSequence2681.ts
    #EXTINF:7.975,
    https://priv.example.com/fileSequence2682.ts

     

     

    #EXT-X-MEDIA-SEQUENCE

    媒体序列号,表示出现在当前M3U8文件中的第一个Segment的序列号。

     

     

    Live形式的M3U8一般用于直播,列表中的文件数有限制,推荐配置中是3个,服务端会实时更新该列表,删除最开始的Segment,并向后面添加新生成的Segment。因此,这种模式下,当网络带宽不足时,客户端来不及下载新的M3U8和对应的切片文件,会导致切片丢失,播放卡顿。

     

     

     

     

    (3) 加密形式:

    #EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-MEDIA-SEQUENCE:7794
    #EXT-X-TARGETDURATION:15
     
    #EXT-X-KEY:METHOD=AES-128,URI="https://priv.example.com/key.php?r=52"
     
    #EXTINF:2.833,
    http://media.example.com/fileSequence52-A.ts
    #EXTINF:15.0,
    http://media.example.com/fileSequence52-B.ts
    #EXTINF:13.333,
    http://media.example.com/fileSequence52-C.ts
     
    #EXT-X-KEY:METHOD=AES-128,URI="https://priv.example.com/key.php?r=53"
     
    #EXTINF:15.0,
    http://media.example.com/fileSequence53-A.ts

     

     

     

    HLS可以被加密。客户端通过读取M3U8文件中的#EXT-X_KEY标签可以获取解密的密钥。EXT-X-KEY指示的密钥信息作用于当前EXT-X-KEY标签至下一个EXT-X-KEY标签(若没有下一个,则到最后一个Segment)之间的所有Segments。METHOD指示加密算法,可用的取值有NONE、AES-128和SAMPLE-AES,NONE表示不加密。URI指示获取密钥的路径,该项不可省略,除非METHOD为NONE。

     

     

     

     

     

     

    5 流测试网址

    https://www.vitamio.org/docs/Basic/2013/0508/14.html

     

     

     

     

     

     

    展开全文
  • HLS协议标准

    2020-03-14 02:21:05
    HLS协议标准 HLS协议标准 HLS协议标准 HLS协议标准 HLS协议标准 HLS协议标准 HLS协议标准 HLS协议标准
  • hls-vodtolive 用于将 HLS VOD 转换为 HLS Live 的节点库(vod-to-live.js 库的延续和品牌重塑,现已弃用) 安装 npm install --save @eyevinn/hls-vodtolive 用法 该库加载和解析 HLS VOD 清单并生成 HLS Live ...
  • 成功运行 vlc 设置3s的缓存才能播放 Hello World! onlive /live/qryt.m3u8 app qryt load qryt.m3u8 file hls_server_worker flv file qryt.flv fullpath g:\Media\qryt.flv ...[hls_handler]new segment: qryt/0.
  • mnist-nnet-hls-zynq7020-fpga
  • 最新版本的ckplayer-x 直接支持了html5播放m3u8格式的视频,但是PC平台上使用h5播放器播放m3u8时,ckplayer-x内部需要加载一个hls.min.js。因为下载的ckplayer.zip安装包没有包含该文件,故从其他地方找到相关文件。
  • 基于stm32f4的OV7725图像识别跟踪HLS
  • HLS流生成器 本示例介绍了用于生成HLS流的简单变体。 简单播放m3u8服务器上生成的播放列表。 此示例不包括倒带,切换到下一首曲目等的功能。 使用音频标签,视频标签,hls.js库和Bitmovin的播放器提供了示例。 ...
  • ug1399-vitis-hls_HLS_源码

    2021-09-30 05:23:31
    关于xilinx的vivado中的hls的学习资料
  • 一个简单单单的拉流播放器,适用于hls等在线的实时播放
  • hls-解密器 将解密另一个 hls 播放列表的片段文件的 hls 代理 npm install -g hls-decryptor 用法 只需将链接传递给 http 实时流媒体服务器 hls-decryptor http://some-hls-server.com/index.m3u8 如果播放列表...
  • # 创建基于h5的hls播放器hls.js本文介绍如何创建基于h5的hls播放器。默认情况下,浏览器并不支持播放hls格式的视频,但是集成开源的hlshls.js后,可以使用h5自带的video标签播放hls(即m3u8)视频。# 示例var video ...
  • 免费HLS Live Free-HLS的免费实时流媒体。 用其他语言阅读:英语| 该项目仅用于学习和交流目的,对于在使用过程中给您或他人造成的任何损失,我们不承担任何责任。 要求 Node.js 纱 阿里云OSS /腾讯云COS 安装 ...
  • HLS英文原版,十分强大好用,非常棒的推荐!
  • HLS CNN样本 在Vivado HLS中实现CNN的一些示例代码。 用法 运行软件 先决条件 CMake gcc 建造 mkdir -p build && cd build && cmake .. && make 跑步 # under directory build/ # run LeNet ./lenet 运行Vivado ...
  • 验证HLS讲解

    2019-05-14 20:18:26
    苹果官方教材,详细讲解验证HLS讲解,苹果官方教材,详细讲解验证HLS讲解
  • 一个简单单单的拉流播放器,适用于hls等在线的实时播放
  • HLS下载 C#HLS(m3u8)库以解析HLS流和自适应HLS流列表 职能: 直接从文件或文本中解析HLS流和自适应HLS流列表; (Todo)将HLS流下载到可播放的文件; (Todo [可能不会添加]。)创建HLS流和自适应HLS流列表...
  • 此扩展程序允许在桌面浏览器内部观看HLS视频(专为手机设计) Hls.js库用于支持播放。 无需在单独的选项卡或窗口中打开视频网址。内联HLS播放器将检测视频是否尝试加载HLS并处理它。 支持语言:English
  • 我们使用高级综合语言(HLS)创建机器学习算法的固件实现。 我们将传统的开源机器学习软件包模型转换为HLS,可以根据您的用例进行配置! 联络人: 文档和教程 有关更多信息,请访问以下网页: : 可以在找到有关...
  • 赛灵思Vitis HLS LLVM 2020.2 该目录包含Xilinx HLS LLVM源代码以及与Xilinx Vitis HLS 2020.2版本一起使用的示例。 目录 描述 可以在Vitis HLS中构建和使用的llvm和clang源 可以在Vitis HLS中构建和使用的自定义...
  • video2hls 一个简单的工具,可将视频转换为一组文件以使用HLS播放。 HLS是一种自适应比特率流协议:视频被切成小块,并以各种不同的比特率提供。 根据当前的网络状况,播放器会自动选择适当的比特率以下载下一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,858
精华内容 11,543
关键字:

HLS