下载网页中嵌入的视频 - OnlyTime_唯有时光

Dreaming-in-Gottingen 2021-11-15 原文


下载网页中嵌入的视频

浏览网页,有时会碰到一些我们喜欢的视频,例如一些公司的创意广告,又或者是一些精彩的爱情动作片^_^,因此产生了保存到本地来反复观摩的庸俗想法!亲爱的网友,不知道你是否有同样的想法???

  • 网页播放的视频,有些可以下载,有些则无法直接下载,做前端网页设计的应该了解这些能不能下载的背后原理。有懂的可以给普及一下,如何控制允许/禁止客户端下载。。。
  • 作为一个多媒体从业者,我从后端技术角度上来分析一下。服务器应该是不断给我们的浏览器客户端推送编码数据,而不是解码后的yuv数据,因为带宽太大!送来的编码数据会先放到一个缓冲区,去等待解码,解码后得到的yuv数据则可以送render模块进行一帧帧显示,这是总体过程。

因此有了这篇博文,记录下闪现而来的灵感。

先针对一些情况有一些技术性思考,后面再介绍下载网页视频文件的小技巧。

一些思考:

1. 在线视频完整播放一遍后,再seek到开头就能不卡顿流畅播放。内在原理?

  当然,备份解码后的yuv图太占空间,这个首先排除掉。那么,就备份从服务端传来的编码数据,这是一个好的选择,播放就不用再从网络拉流了。

但这里还是面临着一些艰难选择的问题,是备份到内存还是硬盘呢?如果备份到内存则内存很快耗尽,如果备份到硬盘,则对于某些有版权片源面临着泄露的风险(观看付费的电影)。

个人认为,相对来说,备份到硬盘更合理,可以拆分成小片段(用户即使拿到了但是不容易整合成一个单独的视频文件),或者给编码数据再加密,那么即便你拷贝走了也没用。这点不知道推测的准确不?

2. 如何窃走片源?

  专业视频网站都使用各种奇巧淫技来禁止用户下载视频,例如大名鼎鼎的youtube和国内的一些视频网站。但是即使这样,仍有一些工具可以下载这些视频,最简单粗暴的方法就是录屏!

录屏这种方法可以是可以,但质量差,例如你请求播放的是1080p的片源,而你用手机软件去录屏时,录出来的分辨率都是跟你的手机屏幕分辨率一样,并且还会录到其他的不想要的东西,例如进入播放界面的操作过程以及广告!

  有没有其他好的方法呢?如果你在手机厂商或芯片厂商工作,例如小米、oppo、qcom或mtk,肯定知道一些方法:第三方app的最终图像和声音数据总归要送到显示模块和声音播放模块,那么就可以进行拦截了!例如声音的AudioTrack和图像的surfaceflinger,那么对送过来的数据进行编码再保存就可以了。如果第三方app进行视频播放时,使用的是soc的硬件解码器而非自带的软件解码器,那么有更好的方法了,就是直接保存待解码的编码数据。这些方法也仅限于你有sdk,可以直接编译源码去替换掉手机中的库文件,或者有什么命令可以dump出码流数据。

3. PC网页中送来的视频到底如何保存?

  浏览器的工作反正总归这个逻辑:接收编码数据流+解码。如果你对浏览器实现有研究的话,你可以利用源码再重新编译出一个浏览器。那么浏览器肯定知道远端服务器送来的哪些数据是视频流,那么把它保存下来就OK了。但是这种方法太曲折,估计没几个人研究和编译过浏览器源码!

 

下载技巧:

针对一些网站提供的在线视频,而其又禁止我们下载,那么我们该如何获取这些片源呢?而不是通过录屏这种粗糙的方式。下面我给大家介绍一种我摸索出来的方法。

1. 进入网页视频界面

2. F12进入开发者模式,点击最上面菜单窗口的Network

3. 如果不出现xx.mp4,那么ctrl+r,再重新开始播放,直到出现xx.mp4

4. 右键点击xx.mp4进行,选择其链接地址。

5. 拷贝到另外一个tab中打开

6. 点击视频窗口右下角的更多图标中的下载,即可。如果嫌chrome的下载速度慢,可以把链接拷到迅雷中下载。

 

发表于
2020-05-20 23:53 
OnlyTime_唯有时光 
阅读(514
评论(0
编辑 
收藏 
举报

 

版权声明:本文为Dreaming-in-Gottingen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Dreaming-in-Gottingen/p/12927348.html

下载网页中嵌入的视频 - OnlyTime_唯有时光的更多相关文章

  1. Appium+python自动化(三十一)- 元芳,你怎么看? – 日志收集-logging(超详解)

    简介 生活中的日志是记录你生活的点点滴滴,让它把你内心的世界表露出来,更好的诠释自己的内心世界,而电脑里的日志 […]...

  2. listbox控件的一些操作 – Wenguan

    listbox控件的一些操作 1. 属性列表:     SelectionMode    组件中条目的选择类型 […]...

  3. 查缺补漏(2) – 置信区间

    问题1: 怎么理解置信区间(Confidence Interval【CI】)? 参考维基百科:https:// […]...

  4. hadoop安装(超级详细) – 黄文超

    View Post hadoop安装(超级详细) hadoop安装(超级详细) 1、hadoop安装前的准备 […]...

  5. SharePoint Server 2010 安装图解 – ewyb

    SharePoint Server 2010 安装图解 SharePoint Server 2010作为MOS […]...

  6. background-position还可以这样用 – submerge

    background-position还可以这样用 文章同步至微信公众号:http://mp.weixin.q […]...

  7. Android Camera动态人脸识别+人脸检测基于OpenCV(无需OpenCVManager) – 无网不进

    Android Camera动态人脸识别+人脸检测基于OpenCV(无需OpenCVManager)     […]...

  8. [C3W2] Structuring Machine Learning Projects – ML Strategy 2

    第二周:机器学习策略(2)(ML Strategy(2)) 误差分析(Carrying out error a […]...

随机推荐

  1. mac外接显示器 字体发虚解决方案

    springboot,springcloud,k8s,docker 描述 今天买的LG性价比之王21:9的2k […]...

  2. 前端框架之争丨除了Vue、Angular和React还有谁与之争锋

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 原文参考:http […]...

  3. 妄论编程语言之争

    人生有三重境界: 第一重:看山是山,看水是水。 第二重:看山不是山,看水不是水。 第三重:看山还是山,看水还是 […]...

  4. intellij IDEA 常用快捷键

    一些技巧(Mac OS):在任何时候,按下alt键,界面上的菜单字符中有些会有下划线,这时用alt+下划线即是 […]...

  5. MAC之在当前文件夹打开终端

    方法1: 设置快捷键   方法2:(推荐) 搜索下载TermHere,安装后打开软件,设置需要打开的Termi […]...

  6. std::thread线程库详解(5)

    目录 目录 前言 信号量 counting_semaphore latch与barrier latch bar […]...

  7. Office

      之前用HEU_KMS激活了180天的office 2013(专业版),今天打开突然报错0x4004F00C […]...

  8. Windows下Oracle安装图解—-oracle-win-64-11g 详细安装步骤

    一、 Oracle 下载   官方下地址 http://www.oracle.com/technetwork/ […]...

展开目录

目录导航