hls网络用语是什么意思(网络语言hls什么意思)
大家好!今天让小编来大家介绍下关于hls网络用语是什么意思的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。
创意岭作为行业内优秀的企业,服务客户遍布全球各地,相关业务请拨打电话:175-8598-2043,或添加微信:1454722008
文章目录列表:
一、现在网上的视频很多都是m3u8格式的,它们用这种格式有什么好处?
「m3u」和「m3u8」文件都是苹果公司使用的 HTTP Live Streaming(HLS) 协议格式的基础。M3U它是一种播放多媒体列表的文件格式,而m3u8 是 Unicode 版本的 M3U,使用 UTF-8 编码。
m3u8格式特点是带有一个目录信息或文件。m3u8说白了只是一个播放列表,里面存的是一堆视频片段的 URL。
m3u8如何播放?
现在很多的媒体播放器都支持m3u8播放,而不局限于苹果设备。以potplayer来说,右键打开-打开文件-打开链接,将m3u8链接粘贴进去播放即可。当然,前提你要保证此链接的可用性。
m3u8如何下载?
m3u8 本身是一个文本文件,里面存的是一堆视频片段的 URL,一个个下载下来再合并就行。不过这也是一个繁琐而麻烦的工作。当然你可以考虑批量下载工具,再后期合并。利用python实现的也不少,毕竟一体化下载和合并的工具有时候并非很适用,不如代码根据实际需求修改。
m3u8用途?
m3u8 文件其实是 HTTP Live Streaming(缩写为 HLS) 协议的部分内容,而 HLS 是一个由苹果公司提出的基于 HTTP 的流媒体网络传输协议。
而HLS实际上是一种防盗链技术手段。给 m3u8 和 ts 文件的url动态生成一个 token,url是随着很多参数动态变化的,比如时间,用户id、ip地址,内容id ,导致你无法使用这个固定的url盗链,这种方式可以防止其他网站直接使用你的url来观看或者一般用户的下载。
下面我们一起谈谈m3u8是指什么,有什么好处。
M3U8视频格式也是一种M3U,是某些移动设备例如安卓,苹果手机浏览器缓存视频的“专用视频格式”。只是它的编码格式是UTF-8格式。M3U用Latin-1字符集编码。M3U8格式特点是带有一个目录信息或文件,而许多安卓手机或者iPhone手机浏览器缓存的电影格式都为M3U8,需要进行转码才可以播放。
M3U8文件是指UTF-8编码格式的M3U文件。M3U文件是记录了一个索引纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放。而M3U8有啥好处呢?主要是可以做多码率的适配,根据网络带宽,客户端会自动选择一个适合自己码率的文件进行播放,保证视频流的流畅。
m3u8 文件其实是 HTTP Live Streaming(缩写为 HLS) 协议的部分内容,而 HLS 是一个由苹果公司提出的基于 HTTP 的流媒体网络传输协议。
HLS 的工作原理是把整个流分成一个个小的基于 HTTP 的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的 extended M3U (m3u8) playlist文件,用于寻找可用的媒体流。HLS 只请求基本的 HTTP 报文,与实时传输协议(RTP)不同,HLS 可以穿过任何允许 HTTP 数据通过的防火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。
二、LL-HLS 简介
LL-HLS 即:Low-Latency HLS。相比较于HLS,延迟更低,官方说明,最低延迟在3s左右。
延迟是指某一特定视频帧被设备(摄像机、播放机、编码器等)捕获的时间与该帧在终端用户显示器上播放的时间之间的时间差
1.各个环节的缓存区
2.服务端的GOP缓存
3.带宽和传输距离
4.网络抖动和拥塞控制
HLS的一个分片大概5-10s,一般加载3个分片播放。所以延迟大概15-30s.
使用EXT-X-PART标签来表示更小的分片,一个分片的最小持续时间为200毫秒。
下面HLS文件中可以看到第271分片被分割成11部分,每部分333ms。
通过HTTP/2推送模式节省两次RTT:
不发送完整的播放列表,而是发送播放列表的增量(默认的播放列表被保存,然后只在出现时发送增量,而不是发送完整的播放列表);
服务器的责任是保留请求(阻塞),直到包含新片段的播放列表版本可用。阻断播放列表的重新加载消除了轮询;
通过在客户端请求中,增加参数来表明需要哪个位置的数据:
_HLS_msn=<M> : 序列号
_HLS_part=<N>: part号
_HLS_skip=YES|v2 可以跳过
例如:
对请求: https://example.com/2M/waitForMSN.php?_HLS_msn=273&_HLS_part=3 &_HLS_skip=YES 的响应如下:
通过EXT-X-PRELOAD-HINT标签,来声明即将产生的片段。
客户端可以提前发起请求,当该片段生成时立即回复给客户端。
LL-HLS围绕影响延时的几个因素,进行优化。
更小的分片划分,相当于减少的服务端的缓存, PRELOAD标签减少网络建联耗时的影响,服务器阻塞,减少建联耗时和轮询消耗。
参考地址:
https://developer.apple.com/documentation/http_live_streaming/enabling_low-latency_http_live_streaming_hls
https://zhuanlan.zhihu.com/p/358492414
三、HLS视频加密及本地播放
将视频从MP4文件切片成多个ts文件,并使用AES-128对每一片视频进行加密,最后生成m3u8文件
视频加密参考: https://www.cnblogs.com/codeAB/p/9184266.html
举个例子
对于Android手机是不能直接播放的,必须要搭建服务器,使用Ubuntu搭建服务器请参考 网络直播/点播服务器搭建
这里主要讲解如何在Android手机上搭建m3u8视频服务器, NanoHTTPD 可以轻松搭建WebServer。
本地播放参考 https://gitee.com/2021/LPlayer
开启服务
关闭服务
服务器请求链接说明
最后提供一个 单java文件的NanoHTTPD ,简单,高效,赞一个
四、在网络直播中什么叫推流?
推流,指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播时就会发生卡顿等现象,观看体验很是糟糕。
要想用于推流还必须把音视频数据使用传输协议进行封装,变成流数据。常用的流传输协议有RTSP、RTMP、HLS等,使用RTMP传输的延时通常在1_3秒,对于手机直播这种实时性要求非常高的场景,RTMP也成为手机直播中最常用的流传输协议。最后通过一定的Qos算法将音视频流数据推送到网络断,通过CDN进行分发。
扩展资料:
直播中使用广泛的“推流协议”一般是RTMP(RealTimeMessagingProtocol——实时消息传输协议)。该协议是一个基于TCP的协议族,是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括AdobeMediaServer/UltrantMediaServer/red5等。
在高精尖沙龙直播中,最初使用传统设备进行“推流”。
具体过程就是:通过网线将EFP系统中的切换台、网络编码器、笔记本按顺序连接,连接完成后确保笔记本电脑的IP地址和网络编码器的地址在同一网段,然后在电脑页面上对编码器的各种“推流参数”进行调整,为保证正常“推流”,还需设置网络推流地址,输入推流地址、直播地址、视频模式、分辨率、码率、播放域名、播放地址等内容。设置完毕后确认IP地址,再进行网络测速,并确保网络与网络编码器连接正常。此种“推流”所需设备过多,出现问题后十分麻烦,需要对设备进行逐一排查,极耗费时间。
后来,将直播系统改为Livestudio系统,“推流”内置在Livestudio的软件之中,整个“推流”过程不再需要额外的网络编码器和笔记本等设备,也无需再设置IP,只要网络正常,联网即可完成操作,还可根据网络的实际情况设置“推流”的质量以满足要求。此种操作十分便捷,有效避免了上述问题的出现。
参考资料:百度百科:网络直播
以上就是小编对于hls网络用语是什么意思问题和相关问题的解答了,如有疑问,可拨打网站上的电话,或添加微信。
推荐阅读: