碰到m3u8的视频文件下载,记录一下

m3u8文件头

这是此处碰到的m3u8文件头

#EXTM3U
#EXT-X-TARGETDURATION:12
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="https://p.bokecc.com/servlet/hlskey?info=F6EB72345C630C919C33DC5901307461&t=1605431808&key=ED9AE821A4D0439E03533D32FB6A3551",IV=0xF6EB72345C630C919C33DC5901307461
#EXT-X-VERSION:4
#EXTINF:10.000,

下载,解密,合并

以下是下载ts文件,以及对数据进行解密,合并成视频文件

import re
import time
import os
import requests
from Crypto.Cipher import AESdef m3u8_download(m3u8_url):header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36',}res = requests.get(m3u8_url, headers=header)res_list = res.text.split('\n')# 请求解密文件key_url=re.findall('URI="(.*?)"',res.text)[0]key_res=requests.get(key_url,headers=header)m3u8_ts_urls = []for line in res_list:if 'ts' in line:m3u8_ts_urls.append(line)print('共有 ',len(m3u8_ts_urls),' 个文件')base_url = '/'.join(m3u8_url.split('?')[0].split('/')[:-1]) + '/'# 生成解密对象cryptor = AES.new(key_res.content, AES.MODE_CBC)# 下载 .ts 文件for index,url in enumerate(m3u8_ts_urls):content_url=base_url + urlresponse = requests.get(content_url, headers=header)file_name=re.findall('(video=.*?)&',url)[0].replace('=','')# 保存解码数据 .ts格式with open(f'D:/video/{file_name.replace("video","")}.ts', 'wb') as fw:fw.write(cryptor.decrypt(response.content))time.sleep(0.1)print('====下载完成====')def merge_ts_file_with_os(data_dir,out_file_name,des_dir=None):# 在window系统下 合并ts为MP4格式print('开始合并...') files=os.listdir(data_dir)scatter_files=[]for i in files:if 'ts' in i:scatter_files.append(i)# 对文件进行排序scatter_files.sort(key=lambda x:int(re.findall('(\d+).ts',x)[0]))# 此处如果文件路径过长,将会失败,因此保存文件的名称尽量短,否则只能分步合成文件b = '+'.join(scatter_files)new_name = out_file_name+ '.mp4'if des_dir:new_name=os.path.join(des_dir,new_name)cmd_ = 'copy /b ' + b + ' '+new_namecmd1='d:'cmd2='cd '+data_dirdel_cmd='del /Q *.ts'# window中只能多条命令持续执行,否则,将不成功cmd_all=' & '.join([cmd1,cmd2,cmd_,del_cmd])os.system(cmd_all)print('合并完成',out_file_name)

m3u8文件下载及合并相关推荐

  1. M3U8视频下载合并工具

    M3U8视频下载合并工具 M3U8视频下载合并工具是一款将网络上切片的M3U8文件下载合并成视频的工具,软件操作简单实用方便. 使用方法 将M3U8地址填入文件地址内,填入文件名 点击添加任务,在点击 ...

  2. vb6实现m3u8文件下载

    软件简介 m3u8网络视频文件下载器是一款专业.小巧.无毒.无插件的绿色辅助软件. m3u8网络视频文件下载器VB6源码,vb下载m3u8文件,m3u8,m3u8文件下载源码,VB下载m3u8文件,v ...

  3. 在线视频下载-猫抓+M3U8批量下载合并

    1.猫抓 猫抓是一款目前比较好用的网页视频嗅探插件. 对于一些播放大型视频的网站,视频通常是分段的,猫抓只能嗅探出一个m3u8文件 将猫抓嗅探出的m3u8地址复制,粘贴到"M3U8批量下载器 ...

  4. Python通过m3u8文件下载合并ts视频

    前段时间,接到一个需求,要求下载某一个网站的视频,然后自己从网上查阅了相关的资料,在这里做一个总结. 1. m3u8文件 m3u8是苹果公司推出一种视频播放标准,是一种文件检索格式,将视频切割成一小段 ...

  5. m3u8文件下载合并的一种方法

    现在很多视频网站都把整个视频文件拆分成一个个视频流文件(ts),这些视频流文件的下载地址会放在一个文件中,通常叫做*.m3u8. 我们要想下载整个视频文件可以先把这些视频片段下载下来,然后进行拼接,合 ...

  6. python下载ts视频文件_Python3爬虫通过m3u8文件下载ts视频 Python爬虫

    什么是m3u8文件?M3U8文件是指UTF-8编码格式的M3U文件. M3U文件是记录了一个索引纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放. ...

  7. m3u8下载ts 合并成一个视频

    我们在用网页看视频时,很多时候视频是下载不下来的,当然这里面有很多技术来防止我们下载视频,接下来我将破解使用m3u8格式来下载视频.一般情况下,我们使用浏览器中Network来查看服务器和本机的数据传 ...

  8. 合并时显示是无效的m3u8文件_m3u8合并,如何合并m3u8文件

    如何合并m3u8文件 这个你可以下专门的制作软件,然后进行合并,在论坛里面找一下,这和浏览器没有关系的,主要是文件的格式问题,其实手机qq浏览器我也在用,挺不错,无论在运行.还是界面的设计方面都非常的 ...

  9. 合并时显示是无效的m3u8文件_合并M3U8文件方法

    在线合并M3U8文件方法:(文件小的时候适用) 1.获取m3u8文件 https://xxxx.com/hls/2019/02/07/6GAWrlaM/playlist.m3u8 2.打开看到里面的文 ...

  10. 下载网页中的视频(m3u8文件下载,仅供交流学习)

    如果视频网站采用的是流媒体传输协议,先将一段视频切成无数个小段(ts格式视频文件),一段一段在网站上播放.视频播放的全过程如下: 1. 服务器将采集的编码视频传输到切片器 2. 切片器对视频创建索引文 ...

最新文章

  1. linux solusos 软件包管理工具 eopkg 简介
  2. java长度为100的数组_产生一个int数组,长度为100,并向其中随机插入1-100,不重复...
  3. 【ARM】Load Store指令
  4. Spark 分析网站排名热度
  5. Mac idea使用Command + p 快捷键查看一个类的构造函数需要传入什么参数
  6. bootstrap模态框 遮挡_Bootstrap Modal遮罩弹出层
  7. pt5 mysql预处理_技术分享 | MySQL 监控利器之 Pt-Stalk
  8. 中低频量化交易策略研发03_注意事项与应对
  9. totalspider爬虫批量重启报错Connection Error
  10. CentOS7通过yum安装Openresty
  11. java callable
  12. 【论文笔记】Learning Deep Face Representation
  13. 定制问卷|表单收集系统-对接特殊接口(表单系统)
  14. 产品案例分析 - 华为软件开发云
  15. html5箱子游戏源代码,html5 canvas绘制小人推箱子小游戏源码
  16. Cisco防火墙基础介绍及配置
  17. 精准广告投放 —— 业务概念知识
  18. 屌丝变身海归精英?揭秘芝麻信用分黑色产业链
  19. 海外邮件收发阻碍多?【企业邮箱怎么申请】
  20. React ,Redux 教程汇总

热门文章

  1. 基于SSD1306的OLED的驱动学习(二):SSD1306的寻址方式
  2. 服务器系统启用flash,基础设置:Windows Server 2012及2012R2 启用IE Flash
  3. fluidsim元件库下载_模块七FluidSIM软件应用 (1)
  4. MIPI D-PHY IP 使用说明(二)
  5. tomcat里面的war包解压后没有访问权限
  6. 英语词根词缀+联想法记忆单词
  7. 配置mysql环境变量之后,仍然无法打开mysql的解决方法
  8. MySQL数据库环境变量设置
  9. JS(获取浏览器高度)
  10. 蓝牙解码格式哪个最好_柏韵Pureaudio AirDSD Pro 串流播放解码前级