流媒体文件以及网络应用直播技术

流媒体文件以及网络应用直播技术

1.了解网络流媒体技术
流媒体技术通俗易懂上来讲,就是将一个视频分成好几个小段 放进一个河流里面 然后你在桥上面看河 然后一个片段一个片段的看 形成一个流畅的视频 这个就叫流媒体技术
流媒体(streaming media)是指将一连串的媒体数据压缩后,经过网上分段发送数据,在网上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件。流式传输可传送现场影音或预存于服务器上的影片,当观看者在收看这些影音文件时,影音数据在送达观看者的计算机后立即由特定播放软件播放。
2. M3U8文件是什么?
M3U8文件就是一条河 承载流媒体文件的分段来保证他们播放
简单来说,m3u8是HLS(HTTP Live Streaming)协议的部分内容,客户端依据m3u8文件便能获取对应的媒体资源,进行播放。所以m3u8文件实质上就是一个播放列表,当获取到m3u8地址时,可以直接用播放器进行在线播放。

2.HLS技术是什么?有什么用?
HLS又是由苹果公司提出的基于HTTP的流媒体网络传输协议。其实现的基本原理是将一个大的媒体文件进行分片,而分片文件资源的路径记录于m3u8文件,客户端依据m3u8文件便能获取对应的媒体资源,进行播放。
目前在web前端中 广泛的使用hls.js进行前端流媒体播放 这种技术广泛应用于直播画面 流媒体视频(例如腾讯优酷爱奇艺等)
3.在实际应用中,流媒体技术的具体体现
在实际应用中web端页面以及客户端APP的请求回馈中 往往先向客户端或web页面返回一个.m3U8为后缀名的文件 这个文件通常极小 只有几十kb到几百kb 这里面包含了或加密或不加密的流媒体文件地址 客户端和web页面通过处理好这些数据(进行解密以及发送请求)获取到通常以.ts为会后缀的视频文件 (这类视频文件大多数在Windows Media里面可以播放) 并且如需进行少量分片可以通过服务端的ffmpeg(已开源)进行转换 然后服务端通过hls.js把这些文件整合在一起 再通过网页端或者客户端APP的播放器进行资源整合并且无缝衔接的播放在页面上。而我们大多数在视频网站上面看到的视频都是通过这类技术以及类似的算法实现的。以下通过两个分类来区分流媒体技术比较普遍的两种应用方式
1.在大型视频网站中通过流媒体技术来优化播放体验
在视频平台火爆之后 大多数开发者遇到了一种问题:部分客户反应视频播放时只能即时加载,当一个视频加载到一半断网的时候 整个视频文件播放不了 于是 算法工程师通过流媒体文件 把视频文件切成通常为10MB大小以下的切块 以保证视频能够分段加载 并且又可以同时播放 在不看视频的时候,可以利用闲置带宽来缓存视频 提高在没有很好的网速以及网络条件情况下观看视频体验 极大的优化了客户端的使用体验
2.在直播应用场景中流媒体发挥的优势
在直播应用场景中 通常没有办法将一整个只包过程记录下来,再通过一整块视频的方法加载到客户端或web (这就不叫直播了,叫回放) 这个时候流媒体技术就发挥了巨大的优势 。 在M3U8文件中 指定几个有规律的视频地址 并且通过客户端按照固定的规律或编号依次访问流媒体(视频在服务端) 来达到比较低的延迟 同时也可以让客户端获得更好的直播体验。

希望这篇流媒体技术的理论与应用有帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值