欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 前端技术 > html >内容正文

html

百度媒体云播放器cyberplayer支持m3u8格式的html5播放器 -凯发k8官方网

发布时间:2023/12/14 html 31 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 百度媒体云播放器cyberplayer支持m3u8格式的html5播放器 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
我也在某xx 网站看到的。
教大家如何盗用百度网盘的视频来播放。
登录百度网盘后 点开视频在线播放,用抓包工具抓 百度网盘的m3u8下载地址
然后将m3u8文件下载到本地。上传到自己的空间。

得到m3u8的网址,例:

然后

在网页里调用 百度网盘的js


再然后插入下面这段js就可以播放了。另外附上百度云播放器 web sdk- https://cloud.baidu.com/doc/mct/web-sdk.html#.e6.92.ad.e6.94.be.e5.99.a8.20web.20sdk.20.e7.ae.80.e4.bb.8b





哈哈!看下 演示效果……


【附录知识】m3u8格式讲解及实际应用分析

m3u8有啥好处 ? 

网上搜索了一下,大家众说纷纭,个人理解主要是可以做多码率的适配,根据网络带宽,客户端会选择一个适合自己码率的文件进行播放,保证视频流的流畅。

在ios device和mac上可以用http的方式进行分发,其中playlist标准为由m3u扩展而来的m3u8文件,媒体文件为mpeg2-ts或者aac文件(audio only)。

m3u8文件有两种应用场景:

多码率适配流,

#extm3u

#ext-x-stream-inf:program-id=1,bandwidth=1280000

http://example.com/low.m3u8

#ext-x-stream-inf:program-id=1,bandwidth=2560000

http://example.com/mid.m3u8

#ext-x-stream-inf:program-id=1,bandwidth=7680000

http://example.com/hi.m3u8

#ext-x-stream-inf:program-id=1,bandwidth=65000,codecs="mp4a.40.5"

http://example.com/audio-only.m3u8

单码率适配流

#extm3u

#ext-x-targetduration:5220

#extinf:5220,

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

#ext-x-endlist


国际标准组织对此的定义 rfc doc:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
m3u8 文件是m3u文件的扩展。在该rfc中定义了扩展的关键字:
其中:
#ext-x-targetduration 定义每个ts的最大的duration。 #ext-x-media-sequence 定义当前m3u8文件中第一个文件的序列号,每个ts文件在m3u8文件中都有固定唯一的序列号,该序列号用于在mbr时切换码率进行对齐。

#ext-x-key

定义加密方式和key文件的url,用于取得16bytes的key文件解码ts文件。

属性: method url #ext-x-program-date-time

第一个文件的绝对时间

#ext-x-allow-cache

是否允许cache。 #ext-x-endlist 表明m3u8文件的结束。live m3u8没有该tag。 #ext-x-stream-inf 属性: bandwidth              指定码率
program-id            唯一id
codecs                    指定流的编码类型 #ext-x-discontinuity 当遇到该tag的时候说明以下属性发生了变化: file format  number and type of tracks encoding parameters encoding sequence

timestamp sequence

#ext-x-version             该属性用不用都可以,可以没有





m3u8分顶级m3u8和二级m3u8, 顶级m3u8主要是做多码率适配的, 二级m3u8才是真正的切片文件,

客户端默认会首先选择码率最高的请求,如果发现码率达不到,会请求郊低码率的流


一个实际使用中的顶级m3u8文件如下 :

#extm3u
#ext-x-stream-inf:program-id=201273221265,bandwidth=358400
11.m3u8
#ext-x-stream-inf:program-id=201273221265,bandwidth=972800
22.m3u8


上面顶级m3u8文件中又定义了 11.m3u8 和 22.m3u8 两个二级文件,客户端会选择其中一个获取其内容。

二级m3u8文件内容如下:


#extm3u
#ext-x-version:1
#ext-x-targetduration:10
#ext-x-media-sequence:0
#extinf:3,
1-4.ts
#extinf:8,
1-6.ts
#extinf:8,
1-8.ts
#extinf:8,
1-10.ts
#extinf:8,
1-12.ts
#extinf:8,
1-14.ts
#extinf:8,
1-16.ts
#extinf:9,
1-18.ts
#extinf:6,
1-20.ts
#extinf:8,
1-22.ts
#extinf:9,
1-24.ts
#extinf:3,
1-26.ts
#ext-x-endlist


客户端拿到上面的二级m3u8文件后,会继续请求里面的文件,这时就可进行播放了。

上面讲解的是点播的情况,直播的情况,m3u8文件里面会有属性告诉是直播,客户端会定时来请求新的m3u8文件。


  • 其实m3u8是个列表文件,所有的原始视频文件都被下载到一个隐藏文件夹了。

  • 你点击m3u8文件就会自动把这些视频文件链接在一起播放,可以用notepad 打开m3u8文件查看内容,里面是一个个本地文件的链接,这些链接指向一个个小视频文件,也就是说你找不到原来下载这个文件的网址了。

  • 如果想直接播放完整的原始视频文件就要找到那个文件夹,里面的视频文件是一段一段的,要把这些小视频文件按m3u8文件里面的顺序用qq影音合并成一个完整的视频文件,然后就可以播放了。

  • 当然,如果删除了那个隐藏文件夹,那这个m3u8文件也就没用了,点击播放会提示解析失败。

  • 那个隐藏文件夹可以直接在m3u8里面看到位于哪里,是个.开头的隐藏文件夹。


总结

以上是凯发k8官方网为你收集整理的百度媒体云播放器cyberplayer支持m3u8格式的html5播放器的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图