python转换腾讯视频文件

2015/12/3022:03:09 发表评论

 

今晚有朋友问我:怎么把腾讯视频里的文件弄下来让别的播放器播放?

 

我思考了几秒钟后,感觉到这应该不会那么简单,不然他应该早就用格式工厂或其它视频转换工具转换好了。

 

因为我之前有用腾讯客户端下载过一个视频,视频格式是QLV的后缀,意思就是经过了 腾讯的“特殊加密”,只有它的播放器可以播放,那么如何才能下载得到视频给其它播放器播放呢?

 

其实不管是用浏览器看视频还是用客户端看视频,视频作为一种资源,肯定是需要先从服务器下载下来才能播放的,除非客户端做了比较变态的功能,边播放边删除缓存!!但如果是这样的话,另一个问题又来了,删除了缓存,下一次播放时不是又得从服务器下载?我想腾讯不会这么傻逼的给自己服务器增加压力的。于是找到了它的设置页面:

 

QQ截图20151230215420

 

在这个文件夹下,其实有一批后缀为.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目录下,唯一的缺点就是视频名字我是以缓存文件目录名生成的,不知道电影名叫什么,将就着看吧,下面是我生成的视频截图:

 

111

好了,终于交差了,瞬间感觉程序员是伟大的,有木有?切!得瑟!

 

需要的朋友可以在这里下载哦http://www.guoziweb.com/download/ConvertVedio.exe

 

  • 微信扫码赞助
  • weinxin
  • 支付宝赞助
  • weinxin

发表评论

您必须才能发表评论!