今晚有朋友问我:怎么把腾讯视频里的文件弄下来让别的播放器播放?
我思考了几秒钟后,感觉到这应该不会那么简单,不然他应该早就用格式工厂或其它视频转换工具转换好了。
因为我之前有用腾讯客户端下载过一个视频,视频格式是QLV的后缀,意思就是经过了 腾讯的“特殊加密”,只有它的播放器可以播放,那么如何才能下载得到视频给其它播放器播放呢?
其实不管是用浏览器看视频还是用客户端看视频,视频作为一种资源,肯定是需要先从服务器下载下来才能播放的,除非客户端做了比较变态的功能,边播放边删除缓存!!但如果是这样的话,另一个问题又来了,删除了缓存,下一次播放时不是又得从服务器下载?我想腾讯不会这么傻逼的给自己服务器增加压力的。于是找到了它的设置页面:
在这个文件夹下,其实有一批后缀为.tdl的文件,只需要把这些文件重新合并为一个新文件夹即可(不过我试了下,需要你把视频从头到尾认认真真的看完,不许快进,这样下载过来的视频才是完整的)。那么代码实现的思路就出来了,其实就一条windows下的命令——copy/b *.tdl newfile.mp4,那么我批量生成视频的方式就怎么简单怎么搞了,python代码献上ConvertQLV.py:
# _*_ coding:utf-8 _*_ #Author: GuoZi #WebSite:http://www.guoziweb.com import os import sys import glob pwd_dir = os.getcwd() output_dir = os.path.join(pwd_dir,'result') cmd = 'copy/b ' if __name__ == '__main__': if not os.path.exists(output_dir): os.mkdir(output_dir) else: for file in os.listdir(output_dir): os.remove(os.path.join(output_dir,file)) for path in os.listdir(pwd_dir): if os.path.isdir(path) and not path == 'result': cmd_result = cmd + \ os.path.join(pwd_dir,path,'*.tdl') + ' ' + \ os.path.join(output_dir, path + '.mp4') os.system(cmd_result)
接着我们使用pyinstaller打包下这个代码:
python pyinstaller.py -F -w -n ConvertVedio E:\source_code\python_code\ConvertQLV\ConvertQLV.py
将生成的ConvertVedio.exe放到上面截图中的缓存目录中去双击下吧,结果在当前文件夹下的result目录下,唯一的缺点就是视频名字我是以缓存文件目录名生成的,不知道电影名叫什么,将就着看吧,下面是我生成的视频截图:
好了,终于交差了,瞬间感觉程序员是伟大的,有木有?切!得瑟!
需要的朋友可以在这里下载哦:http://www.guoziweb.com/download/ConvertVedio.exe
- 微信扫码赞助
- 支付宝赞助