后续如果有需要,可以看这篇文章:
m3u8格式的视频链接怎么在自己电脑上播放

简要说明

由于最近(2018-12-8)想看一个电影视频(《狗十三》),于是去网上找资源。
这个电影本来2013年就已经开始有资源了,但是迟迟没有上映,有许多的原因导致影片没有上映,但是在2018-12-07日,终于开始上映了。(不扯了,,,再说会被认为是影评了)。

于是呢,我就在网上找资源,之前是有资源的,但是由于现在正在上映,所以网上各种迅雷链接被屏蔽了,于是我就找 能在线播放的网站,终于找到了,不过我想把影片下载下来,这时就联想到各种问题。这篇文章也就是我尝试解决问题的一些记录。

注:
1. 可能只是这一个网站使用下面所说的方法来加载视频资源,其他网站的CKPlayer播放器可能并不会一样,所以需要具体情况具体分析。
2. 由于这种视频网站处于网络灰色地带,很容易更换域名,所以下面例子中的视频网站链接很可能会失效挂掉。但是分析的思路可以参考一下
3. 这里不提倡/提倡盗版影视作品;这里不推荐/推广任何视频资源网站;这里的分析过程仅用作学习交流使用。如发现有任何版权问题,请联系 canliture@outlook.com,谢谢。

在线视频下载思路

通过强大的搜索引擎以及各大视频资源网站的SEO,花了近一个小时,终于找到了比较清晰且质量比较好的资源。
电影链接:**电影网

于是有几种方法来下载这个视频,刚开始用最容易想到的IDM插件下载
这种方法非常简单的了,如下图所示。我们安装完IDM软件之后,它会自动安装Chrome IDM插件,此插件自动检测可播放的音视频,点击即可下载。非常简单。

使用IDM下载下来后,发现它的文件后缀为.ts

而通过查找资料,知道一般网站的视频都是分段进行播放的,一边下载一边播放。

来自卡饭论坛
如果是整段视频文件加载,那么一旦用户打开网页请求视频,视频就会一直缓冲直至全部完成,这样会一直占用服务器资源和用户本地带宽资源,而用户可能只看了其中的一小部分就不看关闭了,这样就造成了资源的浪费;
而视频是分段加载,每次在用户请求时只缓冲一小段,用户看完这一小段后再缓冲下一个小段视频,这样只在用户观看时缓冲视频,可以降低服务器的压力,也节省了用户的带宽资源。
一般下载视频,如果用网站自己的客户端下载通常就是一个文件,如果用第三方客户端下载,如维堂、硕鼠等,就是自动下载所有分段然后再合并成一个视频。

那么我们这里找的电影资源也一定是分段下载播放的。下面我们给出网络数据分析过程。

网络数据分析与m3u8

一般最基本的查看一个视频信息的方法就是审查此播放器元素,然后找到src或者与视频原地址相关的链接,这里我们发现了一个src地址:
src="blob:http://www.xiachehd.com/ac0cae36-6bb8-4da4-972c-9d6e353bd17a"

把它放到浏览器输入打开,发现没反应,放到下载器软件里面也没反应,所以猜测这个地址可能需要网站播放器来识别,我们并不能简单地通过此链接来解析出视频的信息。

所以尝试着查看网络数据相关的信息。之前我们谈到视频是由许多的视频片断所组成的。实际上,视频片段的格式分很多种,这里我们通过尝试,发现其格式为 m3u8Network中filter过滤一下关键字m3u8。

这里着重分析

  • index.m3u8
  • F7CA47696BF15CB114E8EF3933DEAEDC.m3u8

分别点击这两个请求名字。可以发现视频网站所请求的内容为另一个域名:

下面我常识性的将上面第一个图的index.m3u8链接在浏览器中输入打开:
https://v3.438vip.com/20180206/1J0oX5Ro/index.m3u8
发现浏览器直接下载下来了,但是我用视频播放器打开会报错。

于是我查看index.m3u8的response信息到底是什么:

发现返回的信息仅仅为一段文本!于是我用记事本打开下载好的index.m3u8文件,确实为如下的文本:

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1000000,RESOLUTION=1024x820
/ppvod/F7CA47696BF15CB114E8EF3933DEAEDC.m3u8

图中横线表示的一段符号如下:
/ppvod/F7CA47696BF15CB114E8EF3933DEAEDC.m3u8
发现F7CA47696BF15CB114E8EF3933DEAEDC.m3u8不就是index.m3u8下面的请求嘛。
于是查看F7CA47696BF15CB114E8EF3933DEAEDC.m3u8的response信息:

这里的response信息足足有2000多行:

现在我们基本可以猜测这里的类似于下面的链接:
/20180206/1J0oX5Ro/1000kb/hls/5aHEE57211154.jpg就是一个个单个视频文件了。

下面尝试一下。由于我们知道其视频的真实地址并不是我们的视频网站,而是由一个专门存放视频的服务器地址。

我们所访问的视频网站的域名:http://www.xiachehd.com/
视频网站播放的视频存放的域名(视频的地址):https://v3.438vip.com(根据上面介绍的图中的Header的Request URL可以看出来)

那么我们就尝试那两千多行的第一个地址倒数的某个地址吧:

/20180206/1J0oX5Ro/1000kb/hls/5aHEE5721000.jpg
/20180206/1J0oX5Ro/1000kb/hls/5aHEE57211155.jpg
也就是如下的两个地址
https://v3.438vip.com/20180206/1J0oX5Ro/1000kb/hls/5aHEE5721000.jpg
https://v3.438vip.com/20180206/1J0oX5Ro/1000kb/hls/5aHEE57211155.jpg

毫无疑问,在浏览器中打开上面的链接,可以直接下载到两个文件。
我们用视频播放器分别打开两个文件,可以看到简短的视频。很熟悉的场景(后面的图我处理了一下):


所以现在我们能够理解index.m3u8中index的意思了。index为索引。也就是整个视频文件的索引文件,通过index文件,我们能够索引到另一个文件,这个文件存放了视频的全部索引信息。如下图

所以我们就能找到整部电影的真实视频地址了。

知道m3u8地址之后,如果想在本地播放此视频,可以参考文章:m3u8格式的视频链接怎么在自己电脑上播放

更多

更加详细的有关m3u8的理论知识:
https://www.cnblogs.com/pukaifei/p/8312936.html

网页播放器(CKplayer)的视频怎么下载——m3u8简单探索相关推荐

  1. 酷播V4.0免费网页播放器如何更改自己的右键信息

    酷播V4.0免费型网页播放器,是一款免费.简单.易用的网页播放器,还有一点,这款网页播放器可以支持PC.安卓.iOS观看,不要装插件直接可观看,所以很受大家喜欢,但是,有很多朋友不知如何更换它的右键自 ...

  2. php网页视频播放插件下载_php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)...

    在web开发中经常会碰到一些简单的视频播放功能,但现在的视频格式不同,并且可以动态增加,所以我们就必须把视频保存到数据哦,好了下面我们来看我写的段简单的 php视频网页播放器代码吧. include ...

  3. 开源ckplayer 网页播放器, 跨平台 html5 mobile ,flv f4v mp4 rtmp协议

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 开源ck ...

  4. 开源ckplayer 网页播放器, 跨平台(html5, mobile),flv, f4v, mp4, rtmp协议. webm, ogg, m3u8 !

    开源ckplayer 网页播放器, 跨平台(html5, mobile),flv, f4v, mp4, rtmp协议. webm, ogg, m3u8 ! 博客分类: Javascript /Jque ...

  5. php网站整合ck播放器,网页视频播放器-ckplayer 整合到wordpress

    在这里我将教大家怎样将这款播放器整合到wordpress中来,并教大家怎么将优酷视频用到这款播放器上面! 第一步: 我们要下载一个播放器文件 第二步: 将下载文件解压出来,打开里面player文件夹下 ...

  6. 图库/相册/播放器看不到迅雷下载的视频的解决办法

    以小米10手机为例: 图库/相册/播放器看不到迅雷下载的视频的原因: 迅雷下载视频所在路径: /storage/emulated/0/Android/data/com.xunlei.downloadp ...

  7. H.265网页播放器EasyPlayer实现WebRTC视频实时录像功能

    我们在此前的文章中给大家分享过关于EasyPlayer已经实现了实时录像的功能,感兴趣的用户可以戳这篇文章:H5网页播放器EasyPlayer.js如何实现直播视频实时录像? 经过我们不断地摸索和研发 ...

  8. php在线点播,php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)...

    在web开发中经常会碰到一些简单的视频播放功能,但现在的视频格式不同,并且可以动态增加,所以我们就必须把视频保存到数据哦,好了下面我们来看我写的段简单的php视频网页播放器代码吧. include ' ...

  9. 如何将embed嵌入式Flash网页播放器替换为CKplayer

    工作中,经常遇到CMS里内嵌的使用embed标签的Flash网页播放器,这些播放器交互性差.不好用,但是因为embed标签往往已通过富文本编辑器写入了数据库的内容字段,很难去改写.如何在不改变数据库的 ...

  10. 视频在html不能播放器,网页无插件直播H265编码视频播放器EasyPlayer网页播放器不能播放怎么处理?...

    原标题:网页无插件直播H265编码视频播放器EasyPlayer网页播放器不能播放怎么处理? EasyPlayer播放器系列项目提供了非常简单易用的SDK及API接口,用户通过API调用就可以非常快速 ...

最新文章

  1. java+c#+json+时间_C#与Json时间的转换
  2. 【Android 逆向】ELF 文件格式 ( 程序头偏移量 | 节区头偏移量 | 处理器特定标志 | ELF 文件头大小 )
  3. jmeter 多机负载压测与服务器性能监测
  4. xpath以某个字符开始_XPATH技术补充-实例
  5. 世界坐标系,摄像机坐标系、图像坐标系关系汇总
  6. 如何测试Java类的线程安全性
  7. Mybatis配置文件resultMap映射啥时候可写可不写?
  8. oracle dba收入水平,oracle教程_oracle dba 收入
  9. windows server 2008 r2 jar包后台启动_Sharing-Proxy部署amp;启动(4.0.0-RC3)
  10. 一篇文章快速搞懂C++生成随机数
  11. [外包]!采用asp.net core 快速构建小型创业公司后台管理系统(四.quartz 简单配置使用)...
  12. 面向对象六大原则----imageLoader为例层层优化
  13. 测试nb信号的软件_NB-IOT测试仪NB测试仪无线网络信号质量检测网络信号故障定位...
  14. 为什么会有带www的域名和不带www的域名
  15. 元宇宙终极目标是打造六界
  16. js获取本周日期和上周日期
  17. 华为P50Pro怎么解锁huawei P50屏幕锁开机锁激活设备锁了应该如何强制解除鸿蒙系统刷机解锁方法流程步骤
  18. 关于C与C++的区别
  19. linux 极路由救砖,极路由救砖方法?
  20. 思考总结:领域知识图谱平台构建与业务应用

热门文章

  1. 华为NP课程笔记1-OSPF1
  2. pdf在线浏览器pdf viewer
  3. 清华大学发布《人工智能芯片技术白皮书(2018)》
  4. Oracle所有分析函数
  5. 解读审计领域国内外资质认证CISA、ISO27001 Auditor
  6. 小学计算机基础知识思维导图,思维导图在小学信息技术教学中的初步应用
  7. dell 7040m 黑苹果_618晒单如何打造一台万元级10代酷睿黑苹果
  8. 蓝桥杯题目练习 水题 [蓝桥杯2019初赛]矩形切割
  9. Google Chrome 浏览器离线安装包下载方法
  10. java私塾跟我学系列_java 私塾作业