视频解析有感,在解析 iqiyi与qq视频的时候,记录一些发现

最近对iqiyi与qq视频解析发现,两个网站的解析流程,尤其是反解析措施 各有特点,简单记录一下

  1. 先说iqiyi, 浏览器模拟移动端可以拿到视频的mp4链接,这个不多说。
    iqiyiPC端浏览器获取 ts过程:
    a.iqiyi一次性返回 所有的 http://data.video.iqiyi..ts文件(json格式)
    b.浏览器他每次请求都会去访问一下 https://bdcdncnc.inter.71edge.

    https://bdcdncnc.inter.71edge.
    这个域名不固定,不同的网络可能不一样
    c.根据访问 https://bdcdncnc.inter.71edge. 返回的location, 再构造一次真实的ts请求, 浏览器播放
    根据访问 https://bdcdncnc.inter.71edge. 返回的location, 每次返回的location还不一样,导致信源不一样。
    这样做的好处是,iqiyi没有像其他网站一样提供完整的m3u8文件, 这样就不会容易出现盗链的情况。
  2. 再说QQ视频, 解析过程这里就不多说了, 网上资源不少, 在拿到解析出的url后,用vlc播放,
    出现播放一段时间就会卡顿的情况,分析发现, QQ视频有多个限速上报接口, 可以通过chrome浏览器的 request block 来过滤这些限速上报接口,筛选出 必须的 那几个, 然后模拟上报就可以了,不过我没模拟成功。

以上这两点 可以做到防止盗链的情况。

才疏学浅,说的不对的地方 ,还请指正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/382708.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言atoi函数的用法

#include < stdlib.h > int atoi(const char *nptr);用法&#xff1a;将字符串里的数字字符转化为整形数。返回整形值。 注意&#xff1a;转化时跳过前面的空格字符&#xff0c;直到遇上数字或正负符号才开始做转换&#xff0c;而再遇到非数字或字符串结束时(’/0’)才…

[Linux]继续探究mysleep函数(竞态条件)

之前我们探究过mysleep的简单用法&#xff0c;我们实现的代码是这样的&#xff1a; #include<stdio.h> #include<signal.h>void myhandler(int sig) {}unsigned int mysleep(unsigned int timeout) {struct sigaction act,oact;act.sa_handler myhandler;sigempt…

C语言的atoi和C++的to_string

to_stringint to string将其他型转换成字符串型atoiascii to integer是把字符串转换成整型数的一个函数 to_string #include <iostream> // std::cout #include <string> // std::string, std::to_stringint main () {std::string perfect std::to_string…

ubuntu 升级python3.5到python3.7,并升级pip3

1, 下载python3.7.tgz 文件&#xff0c;解压&#xff0c; 2. 编译安装 3. 删除 /usr/bin 目录下的 pip3, python3 4. 建立新的软连接&#xff1a; #添加python3的软链接ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3#添加 pip3 的软链接ln -s /usr/local/python3/b…

[Linux]死锁

死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局&#xff0c;当进程处于这种僵持状态时&#xff0c;若无外力作用&#xff0c;它们都将无法再向前推进。之前信号量的时候我们知道&#xff0c;如果多个进程等待&#xff0c;主要体现在占有锁的问题上。死锁也可以被定义…

Python安装第三方模块总结 转载的

转自 https://www.jellythink.com/archives/541

[C++]vector创建二维数组

c.resize(n);将c重置为大小为n个元素向量&#xff0c;如果n比原来的元素多&#xff0c;则多出的元素常被初始化为0//节选《面向对象的程序设计》杜茂青 int N5, M6; vector<vector<int> > Matrix(N); for(int i 0; i< Matrix.size(); i){ Matrix[i].resize(M…

[Linux]线程安全和可重入函数

线程安全&#xff1a;一个函数被称为线程安全的&#xff0c;当且仅当被多个并发进程反复调用时&#xff0c;它会一直产生正确的结果。如果一个函数不是线程安全的&#xff0c;我们就说它是线程不安全的。 重入&#xff1a;函数被不同的控制流程调用,有可能在第一次调用还没返回…

[Linux]信号量

信号量是一个计数器&#xff0c;用于为多个进程提供对共享数据对象的访问。 在信号量上只有三种操作可以进行&#xff0c;初始化、递增和增加&#xff0c;这三种操作都是原子操作。递减操作可以用于阻塞一个进程&#xff0c;增加操作用于解除阻塞一个进程。 为了获得共享资源…

Linux VIM 程序中有游离的‘\357’ ‘\274’错误

gcc date.cpp -o date -lstdc date.cpp:18:20: 错误&#xff1a;程序中有游离的‘\357’date.Showdata()&#xfffd;&#xfffd;&#xfffd;^ date.cpp:18:21: 错误&#xff1a;程序中有游离的‘\274’date.Showdata()&#xfffd;&#xfffd;&#xfffd;^ date.cpp:18:22…

[Linux]关于SIGCHLD

之前我们就学过&#xff0c;关于wait和waitpid来处理僵尸进程&#xff0c;父进程等待子进程结束后自己才退出&#xff0c;这样的方法有俩种方式&#xff0c;一种是父进程死死的等子进程退出&#xff0c;也就是使用阻塞的方式等待子进程退出&#xff0c;另一种方式是通过非阻塞的…

C语言思维导图

本人能力有限&#xff0c;知识点难免概括不全&#xff0c;如有错误欢迎指正

转载一篇关于curl的文章

转载一篇关于curl的文章 http://www.360doc.com/content/16/0107/15/18578054_526158476.shtml

[Linux]vi/vim下添加多行注释和取消注释

添加注释&#xff08;Centos&#xff09;&#xff1a; 在命令行模式下按ctrlV进入 visual block模式&#xff08;可视化模式&#xff09; 选中你需要注释的行&#xff0c;再按大写的I&#xff0c;输入//&#xff0c;最后按俩下esc即可。 如果想让前进tab个位&#xff0c;则可在…

pthread和互斥量条件变量函数意义速查表

数据类型 pthread_t 线程 互斥量和条件变量

[Linux]共享内存

共享内存是UNIX提供的进程间通信手段中速度最快的一种&#xff0c;也是最快的IPC形式。为什么是最快的呢&#xff0c;因为数据不需要在客户进程和服务器进程之间复制&#xff0c;所以是最快的一种IPC。这是虚存中由多个进程共享的一个公共内存块。 两个不同进程A、B共享内存的…

僵尸进程的产生,危害和解决方案

概念 僵死状态&#xff08;Zombies&#xff09;是一个比较特殊的状态。 当进程退出并且父进程没有读取到子进程退出的返回代码时就会产生僵尸进程。僵尸进程会以终止状态保持在进程表中&#xff0c;并且会一直在等待父进程读取退出状态代码。所以&#xff0c;只要子进程退出&…

CString string 转换

https://www.cnblogs.com/HappyEDay/p/7016162.html

[Linux]gdb调试多进程多线程例程

gdb相信学linux的同学已经比较熟悉了吧&#xff0c;它是linux下代码调试工具。我们在写c语言&#xff0c;c的代码时经常会用到&#xff0c;它有一些常用的调试命令: run&#xff08;r&#xff09;&#xff1a;运行程序&#xff0c;如果有断点在下一个断点处停止 start&#xf…

gdb调试常用命令速查(段错误调试)

编译程序时需要加上-g&#xff0c;之后才能用gdb进行调试&#xff1a;gcc -g main.c -o main gdb中命令&#xff1a; 回车键&#xff1a;重复上一命令 &#xff08;gdb&#xff09;help&#xff1a;查看命令帮助&#xff0c;具体命令查询在gdb中输入help 命令,简写h &…