M3U8视频流下载神器CocoCut
心血来潮想下个电影看下,找到一网站各种方法用上没下下来,发现有个文件 m3u8
......
https://xxx:1234/xxx/xxxx/xx/01.ts
#EXTINF:3,
https://xxx:1234/xxx/xxxx/xx/02.ts
#EXTINF:1.2,
......
格式如上这样的... 把一个视频分成了 天文数字的视频,想下载网页上的这个视频真是头痛,逛了逛发现一插件,记录下,怕忘了
先了解了下这个东东:
M3U8 是 Unicode 版本的 M3U,用 UTF-8 编码。"M3U" 和 "M3U8" 文件都是苹果公司使用的 HTTP Live Streaming(HLS) 协议格式的基础,这种协议格式可以在 iPhone 和 Macbook 等设备播放。HLS 的工作原理是把整个流分成一个个小的基于 HTTP 的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的 extended M3U (m3u8) playlist文件,用于寻找可用的媒体流。HLS 只请求基本的 HTTP 报文,与实时传输协议(RTP)不同,HLS 可以穿过任何允许 HTTP 数据通过的防火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。简而言之,HLS 是新一代流媒体传输协议,其基本实现原理为将一个大的媒体文件进行分片,将该分片文件资源路径记录于 m3u8 文件(即 playlist)内,其中附带一些额外描述(比如该资源的多带宽信息···)用于提供给客户端。客户端依据该 m3u8 文件即可获取对应的媒体资源,进行播放。因此,客户端获取 HLS 流文件,主要就是对 m3u8 文件进行解析操作。那么,下面就简单介绍下 m3u8 文件。
M3U8 文件简介
m3u8 文件实质是一个播放列表(playlist),其可能是一个媒体播放列表(Media Playlist),或者是一个主列表(Master Playlist)。但无论是哪种播放列表,其内部文字使用的都是 utf-8 编码。当 m3u8 文件作为媒体播放列表(Meida Playlist)时,其内部信息记录的是一系列媒体片段资源,顺序播放该片段资源,即可完整展示多媒体资源。其格式如下所示:
#EXTM3U
#EXT-X-TARGETDURATION:10#EXTINF:9.009,
http://media.example.com/first.ts
#EXTINF:9.009,
http://media.example.com/second.ts
#EXTINF:3.003,
http://media.example.com/third.ts
对于点播来说,客户端只需按顺序下载上述片段资源,依次进行播放即可。而对于直播来说,客户端需要 定时重新请求 该 m3u8 文件,看下是否有新的片段数据需要进行下载并播放。当 m3u8 作为主播放列表(Master Playlist)时,其内部提供的是同一份媒体资源的多份流列表资源(Variant Stream)。其格式如下所示:
#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=150000,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"
http://example.com/low/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=240000,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"
http://example.com/lo_mid/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=440000,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"
http://example.com/hi_mid/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=640000,RESOLUTION=640x360,CODECS="avc1.42e00a,mp4a.40.2"
http://example.com/high/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=64000,CODECS="mp4a.40.5"
http://example.com/audio/index.m3u8
该备用流资源指定了多种不同码率,不同格式的媒体播放列表,并且,该备用流资源也可同时提供不同版本的资源内容,比如不同语言的音频文件,不同角度拍摄的视屏文件等等。客户可以根据不同的网络状态选取合适码流的资源,并且最好根据用户喜好选择合适的资源内容。
直接找插件.. 发现一个叫 CocoCut 的 网页视频下载插件,下载地址:https://chrome.google.com/webstore/detail/video-downloader-cococut/gddbgllpilhpnjpkdbopahnpealaklle 网站:https://cococut.net
使用方法我就直接复制粘贴了:
Chrome游览器中视频强制下载工具Cococut使用
1
2
3
4
5
6
分步阅读
在很多网站上面都可以直接收看免VIP的视频,其实很多网站上面都不可以直接下载的,这时候我们就可以采用Cococut插件来强制下载。
工具/原料
Cococut插件
Chrome游览器
电脑
方法/步骤
首先,打开【Chrome】游览器,找到并打开【Chrome上网助手】。
在搜索栏中搜索【cococut】,搜索栏在左上角,如图所示:
搜索到之后,点击添加即可,系统会自动下载。
小编这里已经添加了,所以就没有添加的按钮了。
打开Chrome游览器,再找到自己想要下载的视频,这里小编以下载武动乾坤为例:
在播放的同时,我们打开Cococut插件,点击【强制下载按钮】。
这时候会跳转到其他网页,这时候点击下载即可。
这里可以看到下载列表,下载之后还要进行保存,中途退出游览器也不会下载成功。
END
注意事项
可以下载很多网页中的视频,但是不能去水印。
M3U8视频流下载神器CocoCut相关推荐
- m3u8 ts 视频流下载插件(神器)
油猴插件添加脚本即可 // ==UserScript== // @name m3u8视频下载 // @namespace http://tampermonkey.net/ // @version 0. ...
- Python实时下载B站直播间视频(M3U8视频流)
大家好,我是小小明. 今天我将带大家一步步来研究如何下载B站直播视频. 获取直播间下载地址 首先获取指定分区直播间id列表: import requests from lxml import etre ...
- M3U8视频流本地下载
M3U8视频流文件下载方法: 方案1:使用FFmpeg,该方案能够下载录播以及直播 MAC电脑使用 FFmpeg 第一步:安装Homebrew 执行: /usr/bin/ruby -e "$ ...
- python 下载视频文件_python 实现视频流下载保存MP4的方法
如下所示: # -*- coding:utf-8 -*- import sys import os from glob import glob import requests reload(sys) ...
- Python 爬虫 m3u8的下载及AES解密
python爬虫 m3u8的下载及AES加密的解密 前言 2023.1.23更新 线程池版 完整代码 异步协程版 前言 这里与hxdm分享一篇关于m3u8视频流的爬取下载合并成mp4视频的方法,并且支 ...
- 前端播放大视频卡顿的解决(m3u8视频流)
前言 最近在一个大屏看板项目中有一个需求是:要求视频和看板要进行来回切换. 最开始的做法是将MP4视频放在项目里,在本地运行时是没什么问题的,但是在往仓库里提交代码时出现了问题.当单个文件超过100M ...
- Internet Download Manager2023最好用的HTTP下载神器
Internet Download Manager 介绍2023最佳下载利器.Internet Download Manager (简称IDM) 是一款Windows 平台功能强大的多线程下载工具,国 ...
- nginx流媒体服务器(基于CentOS7)实现rtmp直播流,m3u8视频流
最近在做流媒体相关项目,特以此作为笔记存留,通过nginx搭建流媒体服务器,实现rtmp直播流,m3u8视频流. 1.下载依赖包 # gcc 安装 yum install gcc-c++# pcre ...
- Python 实现 m3u8 视频下载
Python 实现 m3u8 视频下载 m3u8 是一种基于文本的媒体播放列表文件格式,通常用于指定流媒体播放器播放在线媒体流.它是一个简单的文本文件,其中包含多个由 URI 引用的媒体资源文件的 U ...
- 在线视频下载-猫抓+M3U8批量下载合并
1.猫抓 猫抓是一款目前比较好用的网页视频嗅探插件. 对于一些播放大型视频的网站,视频通常是分段的,猫抓只能嗅探出一个m3u8文件 将猫抓嗅探出的m3u8地址复制,粘贴到"M3U8批量下载器 ...
最新文章
- 行家来信 | 功能安全会成为自动驾驶的紧箍咒吗?
- 企业大数据运用实战案例分享
- SM13: 分析SAP事务提交时的FM调用
- poj2513 Fence Repair(小根堆)
- nodejs模块导入导出
- 从业回忆,一次大胆的冒险,程序员转岗项目经理
- 易混淆知识点(3):b和strong的真正区别在哪?
- 无迹卡尔曼滤波器(UKF)
- Mysql 基础学习
- python前后台tcp/udp通讯示例
- 小程序开发合同_微信小程序怎么做?微信小程序制作流程? | 微信开放社区
- SpringBoot四大核心组件,你了解多少
- java messagelistener_MessageListenerAdapter
- python bytes转str_Python3中bytes类型转换为str类型
- 计算机增加一个硬盘怎么设置方法,电脑加硬盘【操作教程】
- [web开发]建立本地php MySQL Apache测试服务器
- win7开启超级管理员账户(Administrator)
- i512450h和i512500h对比区别大吗
- Java技能:Java数据库概念模型设计
- 程序员的自我修养--链接、装载与库笔记:动态链接
热门文章
- uReport2报表工具的基础使用及注意事项
- Smobiler字节小程序开发指南
- 科学计算机功能键介绍ndf,DNF:非常实用的五个小技巧,你不会还不知道吧!-dnf快捷键设置...
- 微软开源网络攻防模拟工具CyberBattleSim介绍及源码分析
- 阿里云短信验证第三方接口(快速使用)
- u12无线网卡linux驱动装不上,ubutu16.04 安装Tenda u12无线网卡驱动
- 一文读懂声纹采集、声纹识别、声纹数据库系统等声纹识别技术在公安业务领域的应用场景
- matlab 语法_MATLAB中的语法
- JPG/PNG转真SVG,非base64
- 计算机系统与itunes不兼容,解决XP系统安装iTunes的要求更改更高版本的不兼容情况...