网页视频下载(TS流下载合成)
前言
最近《流浪地球》比较火,想找资源下载看看,无奈只找到了网址 http://m.tlyy.tv/ ,但是我的chrome插件也嗅探不到网页上的视频。。于是乎,右击页面,inspect 走起…
步骤
首先发现
m3u8文件映入眼帘 /偷笑,m3u8文件是什么文件呢,copy address and wget 下来看看:
文件 playlist.m3u8 内容如下,可见网页里的视频是根据这个 playlist 组织的 ts 流一段一段组成视频播放的。
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:14
#EXTINF:5.966667,
out000.ts
#EXTINF:4.300000,
out001.ts
#EXTINF:5.166667,
out002.ts
#EXTINF:5.700000,
out003.ts
#EXTINF:4.433333,
out004.ts
#EXTINF:5.166667,
out005.ts
#EXTINF:4.833333,
out006.ts
#EXTINF:5.500000,
out007.ts
#EXTINF:4.900000,
out008.ts
.......
#EXTINF:5.733333,
out1444.ts
#EXTINF:0.266667,
out1445.ts
#EXT-X-ENDLIST
而且ts流命名规范有规律,易下载,一开始打算来个shell脚本用 wget 解决
#!/bin/bash
str="out"for i in `seq 0 1000`
doa=$((1000+$i))str1=$str${a:1:3}\.ts # 生成 string "out000.ts"~"out999.ts"echo $str1wget https\:\/\/doubanzyv4\.tyswmp\.com\:888\/2019\/02\/07\/06SfTJsUSa6nKqG9\/$str1 -P ./ts_list/
done
但是下着下着发现老是一直 connecting,就卡住了(可能是网络问题),后来就发现chrome 下载这种文件特别快,但是要注意控制延迟,因为 chrome 下载序列数目有限,超出就会下载错误,shell 脚本如下:
#!/bin/bash
str="out"for i in `seq 0 999`
doa=$((1000+$i))str1=$str${a:1:3}\.ts # 生成 string "out000.ts"~"out999.ts"echo $str1google-chrome https\:\/\/doubanzyv4\.tyswmp\.com\:888\/2019\/02\/07\/hLShLmXEtVqiYix9\/$str1sleep 1s # 延迟1s,视网速而定
done
下载完所有 ts 流文件之后,开始合成,祭出大杀器:ffmpeg,利用 mpeg concat 分离器,先在 ts 文件目录下创建一个文本文件 filelist.txt,即 ts 流文件的顺序列表:
file ‘out000.ts’
file ‘out001.ts’
file ‘out002.ts’
…
file ‘out1349.ts’
当然要借助程序( C )实现啦:
#include <stdio.h>int main(void)
{FILE *fp = NULL;fp = fopen("./ts_list/filelist.txt", "w+");for (int i = 0; i < 1350; i++){fprintf(fp, "file \'out");fprintf(fp, "%03d", i);fputs(".ts\'\n", fp);}fclose(fp);
}
然后打开在文件目录打开 terminal ,利用 ffmpeg 合成:
ffmpeg -f concat -i filelist.txt -c copy output.mkv
大概一分钟就好了(如果出错,可尝试其他的输出格式:flv,mp4, wmv,avi),目录下便有了 output.mkv, enjoy it!
附:ffmpeg实用命令
ffmpeg -i input.mp4 output.mp3 # 从视频中抽取音频
ffmpeg -i input.mp4 -ss 00:01:20 -c copy -t 10 output.mp4 #从00:01:20开始截取10s钟视频输出
ffmpeg -i input.mp4 -c:v copy -an input-no-audio.mp4 #去除视频中音频
ffmpeg -i input-no-audio.mp4 -i input.mp3 -c copy output.mp4 #合并音视频
参考资料
- https://www.jianshu.com/p/a9bccc12229b
- https://zhidao.baidu.com/question/1888515562979217228.html
网页视频下载(TS流下载合成)相关推荐
- 截获视频网站 ts流 视频 网络嗅探 IPTV OTT 数据流 音视频数据 码流 ts 流
忽然想把最近的技术总结一下.做ts流 IP数据流也有5年之久了.接触了大大小小的项目.例如网络嗅探 通过sniffer 获取IP包.ts 码流分析等.今天把二者结合起来可以应用到手机终端.或者工程仪表 ...
- vue3下载文件流 下载excel
//点击下载按钮qaGetDebitVoucher:async (id:any)=>{let res=await $axios.get($api.qaGetDebitVoucher+id,{ r ...
- 20210122 记一次防止m3u8网页视频被破解和下载的思路
主流解决方案 基础 前端读取 m3u8 文件,获得有哪些 ts 文件,并把 ts 文件组合拼装给 video 标签进行播放. 因此一个 m3u8 文件带有多个 ts 文件的链接. m3u8文件{ts的 ...
- html网页视频边缓存边下载的实现方式
页面使用的标签: <video id="video1" width="900" style="margin-top:15px;" co ...
- JavaCV音视频开发宝典:rtp点到点音视频传输TS流(一对一音视频直播)
<JavaCV音视频开发宝典>专栏目录导航 <JavaCV音视频开发宝典>专栏介绍和目录 前言 在开始之前,我们需要了解一点rtp协议相关的知识. 当然了,相信很多小伙伴应 ...
- 下载网页视频的软件 下载网页视频的方法
视频已然成为一种非常有力的展示方式,我们想要下载视频内容,需要用到下载网页视频的软件,如今这类软件有很多.下载网页视频的方法,也因为使用的软件不同,方法各异.下面我们就来看详细介绍吧! 一.下载网页视 ...
- Python 爬取ts流视频
准备工具 1.安装python,本机环境linux+python3.6 2.直接开撸,基本的包需要pip install 3.话不多说直接干 https://www.******.com/video/ ...
- IDM无法下载.ts文件解决方案
IDM无法下载.ts文件解决方案 无法下载TS文件问题实例 解决方案 1.利用IDM获取下载链接 2.利用.ts下载软件下载文件 [N_m3u8DL-CLI_TS]软件下载 软件使用方法 下载.ts文 ...
- 关于m3u8格式的视频文件ts转mp4下载和key加密问题
一,利用网站浏览器F12键,利用谷歌浏览器插件找到视频的.m3u8文件,并打开. 二,打开m3u8文件后,里面有很多.ts的链接,和key的链接. 三,保存为html文件,下载ts文件,代码如下:可加 ...
最新文章
- java中调用python
- Linux数据库性能优化--文件系统相关优化
- 毕设开发总结-3D游戏框架及网络对战游戏的开发(1)
- 自己动手写事件总线(EventBus)
- Invalid connection string format, a valid format is: host:port:sid
- npm run dev/build/serve
- Flex学习笔记(2)——使用ActionScript脚本
- 信息学奥数一本通(1170:计算2的N次方)
- jsp加载常量的探讨
- 官宣,Shane Miller 当选 Rust 基金会首任主席
- 证件照处理软件(IDPhoto Processor)免费版 v3.2.10
- Android解决getExternalStorageDirectory在29后废弃问题,亲测能用
- LeetCode1359. 有效的快递序列数目
- 中国松针油市场趋势报告、技术动态创新及市场预测
- uniapp开发微信小程序生成二维码海报
- 销售开发新客户的方法 如何开拓新客户
- MFC加载GIF动画
- 【C语言】通过C语言实现简单的三子棋
- FreeBSD12.1软件包管理工具ports常见用法
- wx小程序订阅消息概念和应用场景理解(一次性消息一定要人手动触发)
热门文章
- 热敏电阻、RTD和热电偶之间的区别
- 2019 最新 JAVA eclipse 中文汉化包 安装教程
- android 屏幕取词 像有道,有道词典更新 Android版推出扩充词库 桌面版支持Firefox5取词...
- linux 磁盘配额工具,磁盘配额管理 quotatool
- 物联网5G工业级无线cpe路由器设备
- linux内核编程memcpy,memcpy--内核崩溃后memcpy
- [UML] 类图介绍 —— 程序员(灵魂画手)必备画图技能之一
- 保姆级教程--类图怎么画
- 高光谱吉林一号硬盘记录
- ArcGIS实验操作一:绘制自定义线、垂直、平行线(附实验数据下载)