import os
from PyQt5. QtWidgets import QApplication , QFileDialog
import shutil
from Crypto.Cipher import AES#无加密合并
def merge_type_0(name,checklist):with open ( name +'.mp4','wb+') as f1:for i in checklist:f2=open(i,'rb')f1.write(f2.read())f2.close()    f1.close()return 1#普通加密合并
def merge_type_1(name,kye,checklist):cryptor = AES.new(kye.encode('utf-8'), AES.MODE_CBC,kye.encode('utf-8'))with open ( name +'.mp4','wb+') as f1:for i in checklist:f2=open(i,'rb')f1.write(cryptor.decrypt(f2.read()))f2.close()    f1.close()return 1#偏移加密合并
def merge_type_2(name,kye,iv,checklist):cryptor = AES.new(kye, AES.MODE_CBC,iv.encode('utf-8'))with open ( name +'.mp4','wb+') as f1:for i in checklist:f2=open(i,'rb')f1.write(cryptor.decrypt(f2.read()))f2.close()    f1.close()return 1a=QApplication([''])#选择文件夹,该文件夹为m3u8目录文件所存放的文件夹
directory2 = QFileDialog.getExistingDirectory(caption="选择目录文件夹",directory= "/")
print('程序开始运行……')doclist=os.listdir(directory2)
for d in doclist:directory3=directory2 + '/' + dchecklist=[]sp_type=0with open (directory3,'r')as file:context=file.readlines()for i in range(len(context)):if '#EXTINF:' in context[i]:if os.path.exists('.'+context[i+1].strip())==False:breakchecklist.append('.'+context[i+1].strip())if 'EXT-X-KEY:' in context[i]:if  'IV=0x'in context[i]:sp_type=2iv=context[i].strip()[-32:-16]kye_path='.'+context[i].split(',')[1][5:-1]if os.path.exists(kye_path)==False:breakkye_file=open(kye_path,'rb')kye=kye_file.read()kye_file.close()continueelse:sp_type=1kye_path='.'+context[i].split(',')[1][5:-1]if os.path.exists(kye_path)==False:breakkye_file=open(kye_path,'r')kye=kye_file.read()kye_file.close()continueif 'ENDLIST' in context[i]:if sp_type==0:merge_type_0(d,checklist)shutil.rmtree(os.path.dirname('.'+context[i-1].strip()))elif  sp_type==1:merge_type_1(d,kye,checklist)shutil.rmtree(os.path.dirname(kye_path))else:merge_type_2(d,kye,iv,checklist)shutil.rmtree(os.path.dirname(kye_path))print(directory3+'合并完成')breakos.remove(directory3)print('程序处理完毕!')

千万要注意缓存碎片文件夹的路径,本代码的py文件应该放在缓存碎片文件夹的路径的根目录下。

例:本程序zh1.py的绝对路径为C:\Users\Administrator\Desktop\wj\zh1.py

存放m3u8目录文件夹为自选,无影响,本例为C:\Users\Administrator\Desktop\wj\solist

缓存碎片文件夹应当模拟UC浏览器的目录,以本程序为根目录开始创建,本例为C:\Users\Administrator\Desktop\wj\storage\emulated\0\UCDownloads\VideoData

所有的碎片文件夹均存放于此。

UC手机浏览器本地m3u8流媒体缓存碎片批量合并为视频相关推荐

  1. UC,手机浏览器可以支持Apple watch,还是第一家!

    系列文章目录 第三章:UC,手机浏览器可以支持Apple watch,还是第一家! 文章目录 系列文章目录 前言 安卓版 苹果版 第一家支持Apple Watch的手机浏览器 电脑版 天猫淘宝唯一推荐 ...

  2. IndexedDB浏览器本地存储、缓存、数据库、介绍

    目录 1.前言 2.IndexedDB简介 3.IndexedDB使用场景 4.IndexedDB特点 4.1.非关系型数据库 NoSql 4.2.持久化存储 4.3.异步操作 4.4.支持事务 4. ...

  3. uc手机浏览器 手机模拟_网页为何总报浏览器漏洞?起底某些手机浏览器恶意推广行为...

    首先给互联网大厂说声抱歉,得罪时间又到了,这次到了参与纵容流氓推广的某手机浏览器.这篇文章照例归类到我的造作实验室专栏系列.PS:这篇文章为了等待投诉结果,特意晚了几个月才发. 事情起因 这事情还需要 ...

  4. 上传身份证--uc手机浏览器拍照覆盖问题

    公司项目中,要求实现上传身份证正反面照片功能.兼容pc端与手机端.pc端直接选择文件上传,在谷歌,火狐,safari等均没问题. 手机端可调用手机相机或选择图库,选择图库,各浏览器均没问题,手机拍照呢 ...

  5. 2022年浏览器行业前景:手机浏览器产品趋于智能化

    我们遇到不懂的问题,第一反应可能就是用浏览器搜索一下答案,就可以找到自己想了解的东西.我国的手机浏览器已经逐渐走向成熟,浏览器产品趋于智能化,各大手机浏览器竞争激烈.国产手机浏览器企业如果想要在市场上 ...

  6. 中国手机浏览器行业发展模式与投资策略分析报告2022-2028年版

    中国手机浏览器行业发展模式与投资策略分析报告2022-2028年版   [报告目录]:    第一章 手机浏览器相关概述 1.1 浏览器及手机浏览器简介 1.1.1 网页浏览器简述 1.1.2 手机上 ...

  7. vivo计算机背景,怎么修改VIVO手机浏览器中的主题与背景颜色

    怎么修改VIVO手机浏览器中的主题与背景颜色 腾讯视频/爱奇艺/优酷/外卖 充值4折起 随着科技的发展,手机已经成为人们日常生活中必不可少的工具,当我们在使用vivo手机内的浏览器浏览网页时,如果想要 ...

  8. 中国手机浏览器行业运行态势与前景趋势预测报告(2022-2028年版)

    中国手机浏览器行业运行态势与前景趋势预测报告(2022-2028年版) [报告编号]: BG425078 [出版时间]: 2022年5月 [出版机构]: 中智正业研究院  免费售后服务一年,具体订购流 ...

  9. 手机浏览器哪个最好用?

    你是不是也像我一样,每次打开手机浏览器时都在为使用哪一个而烦恼呢? 都2023年了,还在为手机浏览器哪个最好用而苦恼!!! 那么别担心,今天我就来帮你解决这个难题! 在这篇文章中,我将为你评比各个主流 ...

  10. (转)web app 禁用手机浏览器缓存方法

    开发过web app的同学,特别是前端人员,都碰到这烦人的事情,JS或CSS代码改变,可手机浏览器怎么刷新都不更新,手机浏览器的缓存特别恶劣. 所以今天贴个方法解决这问题.记得,本地调试的时候贴上,上 ...

最新文章

  1. android 自定义view文字不齐,Android 解决TextView排版参差不齐的问题
  2. matlab中的containers.Map()
  3. 子类super调用父类函数,该函数中调用的函数是父类还子类呢
  4. 关于 SAP Spartacus 和 SmartEdit 集成的问题
  5. 光纤收发器产品的光电介质转换芯片选择性能指标介绍
  6. C3P0连接池工具类使用
  7. 如何实现Android平台GB28181前端设备接入
  8. EXCEL图表之瀑布图
  9. Putty 保存账号密码
  10. 污水流量计常见的三种电磁损耗的简单介绍
  11. java设计模式--01类图UML图箭头含义
  12. Solana首个IDO平台Solstarter前景如何?
  13. 研发质量管理6大根基
  14. 计算机高校教师面试试讲和答辩,高校教师试讲答辩面试考试流程
  15. 联想电脑阻止c语言运行,联想电脑运行程序打不开怎么解决
  16. 高仿QQ源码 界面(3)
  17. 手把手教你抄写URP——3——自发光材质
  18. SpringBoot实现幕课网在线学习系统
  19. SAP:在互联网时代帮助企业夺回数据
  20. YOLOv2---优图代码+实现细节

热门文章

  1. uni-app 的 tabBar 图标自制方法
  2. windows update 无法启动 报错87:参数错误的解决方法
  3. 打开html自动播放音乐,如何使背景音乐在打开网页时就自动播放
  4. 计算机蓝屏代码0x0000007b,win7系统开机蓝屏提示STOP:0X0000007B错误代码怎么办
  5. Win10开电脑热点以后手机连接会IP配置失败或者一直显示获取IP中
  6. arm板发热和功耗探讨
  7. Serialize Your Deck with Positron [XML Serialization, XSD, C#]
  8. JUJU 猫论坛系统克隆准备工具 V1.0.0.0 Beta 测试版(菜鸟也能轻松制作万能克隆光盘)...
  9. 靶机渗透练习21-Noob
  10. HTML,CSS中的复合写法总结