qq浏览器里面缓存的视频怎么b站app要会员才能缓存变成本地视频啊?狸窝转换器用过不行添加视频时打不开ts格式。

狸窝全能视频转换器添加视频,为什么提示读取文件失败?的评论视频格式转换器如何编辑视频尺寸的评论
#1 楼 回复:视频格式转换器如何编辑视频尺寸
导师抢人秘笈: 哈林:我可以给你的音乐注入新的能量!
汪峰:只有我在鸟巢开过演唱会!
那英:我可是带出了两届冠军!
杰伦:你好我叫周杰伦。从QQ浏览器缓存文件中提取出完整的视频
我的图书馆
从QQ浏览器缓存文件中提取出完整的视频
linux系统解决方案,mac应该也可以
1、 本实验以安卓手机QQ浏览器为例,随便打开一个视频进行在线观看,点击缓存按钮缓存当前视频。
2、视频缓存完成后,缓存文件会保存在“/sdcard/QQBrowser/视频”下面,接下来我们把整个视频文件夹拷贝出来,进行格式转换。下图是我把缓存文件拷贝到电脑上后看到的内容,下载的视频为多个ts文件,保存在“.13b”这个目录下面,其中“.b7a”是另一个缓存视频的文件,“视频-2.m3u8”保存了缓存文件的路径和AES密钥,我们打开这个文件看一下,里面其实就是保存了ts文件的路径,AES其实是对应ts文件的密钥。那现在要考虑如何把文件从手机拷贝出来,这时候需要adb工具了,adb工具的安装,win系统,
brew install android-platform-tools
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install android-tools-adb android-tools-fastboot
安装成功后,在终端(windows打开终端按住windows+r,输入cmd)运行adb devices 验证是否成功连接手机,(windows可能要安装驱动,整个360手机助手会自动安装的,linux下不需要安装驱动,毕竟是亲爹),运行如下命令拷贝缓存文件到当前路径
adb pull /sdcard/QQBrowser/视频/ .1
视频-2.m3u8的内容:
3、现在我们拿到了缓存文件,只要把ts缓存文件解密并合并就是原来的视频文件了,但这个ts格式的视频文件对一般的播放器都不怎么友好,需要再进行一次格式转换。转换之前,我们还需要做一件事情,我们知道”视频-2.m3u8”里面保存了ts文件和秘钥的路径,但这个路径是相对于手机上的,现在文件拷贝到了电脑上,那么”视频-2.m3u8”里面的路径也要替换为电脑上面额路径,缓存文件和”视频-2.m3u8”在同一个目录下面,直接用文本编辑器打开文件用全局替换把“file:///storage/emulated/0/QQBrowser/视频/” 去掉就好了,替换以后是下图这样子。
4、最后对ts缓存文件进行合并,大神给了一份现成的python代码,直接贴上来吧。在终端进入到“视频”文件夹下面,把下面的代码拷贝到“t.py”文件中。这是python的代码,需要python的环境,windows安装python2.7
linux和mac自带python2.x(好像吐槽windows,装个软件好烦),然后运行 python t.py 视频-2.m3u8 进行缓存文件合并。执行成功后会生成一个“视频-2.ts”的文件,这个文件就是完整的视频文件,有的播放器直接可以播放ts文件,但如果要更方便,需要进行视频文件格式转换。
import sys, os
import shutil
from Crypto.Cipher import AES
def parse_m3u8_file(m3u8_file):
with open(m3u8_file, 'rb') as fp:
current_line = fp.readline().rstrip('\n')
while (current_line):
if current_line.startswith('#EXT-X-KEY'):
comps = current_line.split(',')
URI = comps[1][5:-1]
IV = comps[2][5:].rstrip('\n')
with open(URI, 'rb') as urifp:
KEY = urifp.readline().rstrip('\n')
fp.readline()
ts_file = fp.readline().rstrip('\n')
yield (IV, KEY, ts_file)
current_line = fp.readline()
def decrypt(ciphertext, key, iv):
cipher = AES.new(key, AES.MODE_CBC, iv)
plaintext = cipher.decrypt(ciphertext[AES.block_size:])
return plaintext.rstrip(b"\0")
def decrypt_aes_128_ts_file(iv, key, ts_file):
print(iv, key, ts_file)
out = ts_file[:-2]+'.tsd'
if os.path.exists(out):
return out
with open(ts_file, 'rb') as fo:
ciphertext = fo.read()
dec = decrypt(ciphertext, key, iv.decode('hex'))
with open(out, 'wb') as fo:
fo.write(dec)
return out
if __name__ == '__main__':
if len(sys.argv) != 2:
print('Usage: python %s m3u8_file' % sys.argv[0])
sys.exit(1)
m3u8 = sys.argv[1]
if not os.path.exists(m3u8) or not m3u8.endswith('.m3u8'):
print('Input file should be a m3u8 file.')
sys.exit(1)
tsd_files = []
for (iv, key, ts_file) in parse_m3u8_file(m3u8):
tsd_files.append(decrypt_aes_128_ts_file(iv, key, ts_file))
with open(m3u8[:-4]+'ts', 'wb') as merged:
for ts_file in tsd_files:
with open(ts_file, 'rb') as mergefile:
shutil.copyfileobj(mergefile, merged)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
5、视频文件格式装换,这里有一个在线转换的网站
(这个省事,终于不要windows,linux,mac了)。在线转换要上传和下载文件非常耗时,线下可以用狸窝装换或者ts格式转换器,这个貌似只有windows的。 &
[转]&[转]&[转]&
喜欢该文的人也喜欢狸窝转换器为什么有的视频添加不进去,就是添加的时候找不到_百度知道
狸窝转换器为什么有的视频添加不进去,就是添加的时候找不到
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
zxliupp知道合伙人
采纳数:2559
获赞数:1934
百度网页搜索:视频转换大师专业版
国产优秀视频转换器,专业的转换软件,视频格式文件转换提供终极解决的方案,它能够读取各种视频和音频文件,并且将他们快速转换为流行的媒体文件格式。拥有非常漂亮 友好的界面. 它几乎涵盖了所有流行的影音多媒体文件格式, 包括AVI, Mpg, RM, RMVB, 3GP, MP4, AMV, Mpeg, Mpeg1, Mpeg2, Mpeg4, VCD, SVCD, DVD, XVID, DivX, ASF, WMV, SWF, IPOD, PSP, GIF, MJPEG, QuickTime, MOV, FLV, MKV, DV以及所有的音频格式.
wudanhua123知道合伙人
wudanhua123
采纳数:352
获赞数:447
换个转换器试试超级转霸很不错
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。为什么我用狸窝全能视频转换器,编辑视频的时候出现这样情况??求大神帮忙处理一下。_百度知道
为什么我用狸窝全能视频转换器,编辑视频的时候出现这样情况??求大神帮忙处理一下。
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
gtteen知道合伙人
擅长:暂未定制
你这是从视频中截取一段出来啊。一看就知道了,你弄错了,这转换器没用过,不过一般要转换视频格式不应该点编辑,应该有个格式转换的选项的吧
我也加水印而已
我只是想加水印
(以后直接百度啊,百度经验什么的就可以了,有图文,还快)
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 b站app要会员才能缓存 的文章

 

随机推荐