这两者最大的区别是他们所使用的程序以及内容有所不同,具体的发挥出来的效果也有所不一样,所以各有优劣。m3u8的格式一般在播放器当中很难播放,但是MP4格式在播放器当中一般流畅度很高。
其实m3u8 它不是一种真正的视频文件,它你可以理解为是你桌面的快捷方式,m3u8就是个含有视频文件路径的指向文件,类似于快捷方式,用文本方式打开文件把里面的视频按顺序下载过来再合并就可以了,如果是直播的,m3u8里面的路径是一直更新的。
根据资料显示:
1、HTML5 直接支持m3u8协议。
2、m3u8其实是一个协议而不是一种视频格式,m3u8里面包括的多是视频块索引。可以通过网络状态自动切换码率。MP4就没有这方面优势了。
3、m3u8允许客户在进行播放时,从许多不同的备用源中下载视频块。
4、m3u8是HLS协议的部分内容。是一种能够通过http报文就能够请求和访问了。
MP4如果要实现在线播放那么就需要RTP协议来实现。两种手段有比较大的区别。
5、更高性能上能够将部分m3u8的播放块切块之后直接加载到服务器内存中,让客户端可以更快的得到数据。
6、m3u8 由于是采用切块技术,那么下载的播放文件 就可以少很多,只有当前播放的部分。这一点用在在线直播上有很大优势。
最后, 容易卡顿,可能是你访问该服务器的m3u8 延迟较高,网络问题,也可能是服务器没配好而已。
而mp4的劣势:
mp4 对HTML5和flash播放器亲和度都挺好。但是文件头太大,结构复杂,长视频的大文件头影响加载速度的视频体验,所以短视频更常见。
m3u8 采用苹果的HLS协议,目前 ios与android设备均已支持。由于其工作原因是将整个视频流分成一个个小的基于Http的文件进行下载播放,因此支持视频直播。
基本上我们可以确认一个,只要用H5开发的网站都可以用m3u8,至于APP嘛那么想都不用想了,非m3u8不可。
最终的原因是在ServerSocket接收到客户端请求的Socket后没有给客户端Socket设置read超时时间,并且也没有主动去关闭socket,所以就导致了客户端以为没有服务器没有输出完数据,一直在等待中。。。欢迎分享,转载请注明来源:夏雨云
评论列表(0条)