最近百度影音的离线下载文件,格式有新变化。

经过分析,是bdv格式又有新格式,从最初的bdv0001,到bdv.config 的file。。。。,这次更新的格式是直接包含一个片段,其中还有使用guid绑定索引和文件名。

新版本以“#EXTM3U”作为标识,并且输出格式是mpeg2(通过GSpot检查的)。

以下是新的moviefmt.py脚本,主程序还是复用2.0的mergefilm.py

  1. # -*- coding: UTF-8 -*-
  2.  
  3. import os
  4. import io
  5. import sys
  6. import string
  7. import shutil
  8. import codecs
  9.  
  10. def read_bdv_index_V1(objFile):
  11. piece_list= list()
  12. for line in objFile:
  13. if(line[0:4] != 'file'):
  14. continue;
  15. strings = string.split(line,'/')
  16. tarfile = strings[len(strings)-1]
  17. tempText = string.strip(tarfile)
  18. piece_list.append(tempText)
  19. return "avi",piece_list
  20.  
  21. def read_bdv_index_V2(objFile):
  22. piece_list= list()
  23. for line in objFile:
  24. nPos = line.count('bdv')
  25. if( nPos <=0):
  26. continue;
  27. tarfile = line[0:len(line)-2]
  28. piece_list.append(tarfile)
  29. return "mpeg",piece_list
  30.  
  31. def read_bdv_index(filename):
  32. piece_list= list()
  33. ext_type = None
  34. objFile = codecs.open(filename,'r','utf-8')
  35. topline = objFile.readline();
  36. bdv_ver = topline.replace("\r\n","")
  37. if(bdv_ver == '#EXTM3U'):
  38. ext_type,piece_list = read_bdv_index_V2(objFile)
  39. else:
  40. ext_type,piece_list = read_bdv_index_V1(objFile)
  41.  
  42. objFile.close()
  43. return (ext_type ,piece_list)
  44.  
  45. def read_bdv_file(filename):
  46. piece_list= list()
  47. piece_list.append('*.bdv_*')
  48. return ('avi',piece_list)
  49.  
  50. def read_rmvb_file(filename):
  51. piece_list= list()
  52. piece_list.append('*.rmvb_*')
  53. return ('rmvb',piece_list)
  54.  
  55. def read_mkv_file(filename):
  56. piece_list= list()
  57. piece_list.append('*.mkv_*')
  58. return ('mkv',piece_list)
  59.  
  60. def read_mp4_file(filename):
  61. piece_list= list()
  62. piece_list.append('*.mp4_*')
  63. return ('mp4',piece_list)
  64.  
  65. def read_mkv_2_file(filename):
  66. piece_list= list()
  67. piece_list.append('video_*')
  68. return ('mkv',piece_list)

合并百度影音的离线数据 with python 2.1 bdv格式的更新的更多相关文章

  1. 合并百度影音的离线数据 with python 2.2 bdv格式的更新

    百度影音的bdv格式又有变化. 此次存在2种bdv格式. 格式1:每个文件夹内就一个bdv文件,文件合并后改名avi即可. 格式2:每个文件夹内一个bdv文件作为索引,其他附加guid的文件作为数据. ...

  2. 合并百度影音的离线数据 with python 2.3 格式更新

    很久没有更新了. 这次新增支持四种格式的解析. filelist slicelist download.cfg third_party_download.cfg 还是2个文件.替换之前版本即可. 初步 ...

  3. 合并百度影音的离线数据 with python 第二版 基于yield

    重新整理了一下代码. 增加了bdv,mkv的处理流程. 目前暂时支持windows平台. bdv,mkv,rmvb的不同处理流程 # -*- coding: UTF-8 -*- import os i ...

  4. [Android]豆瓣FM离线数据

    离线目录结构: /sdcard/Android/data/com.douban.radio下 ./cache/fileCaches: 离线音乐歌词(lyric) ./cache/images: 离线音 ...

  5. Python获得百度统计API的数据并发送邮件

    Python获得百度统计API的数据并发送邮件 小工具  本来这么晚是不准备写博客的,当是想到了那个狗子绝对会在开学的时候跟我逼逼这个事情,所以,还是老老实实地写一下吧.   Baidu统计API的使 ...

  6. AdMaster技术副总裁谈Hadoop、营销数据、Python和挖掘平台

    http://www.infoq.com/cn/news/2014/09/admaster-hadoop 卢亿雷是现任AdMaster技术副总裁,曾在联想研究院.百度基础架构部.Carbonite C ...

  7. 利用百度云接口实现车牌识别·python

    一个小需求---实现车牌识别. 目前有两个想法 1. 调云在线的接口或者使用SDK做开发(配置环境和变异第三方库麻烦,当然使用python可以避免这些问题) 2. 自己实现车牌识别算法(复杂) 一开始 ...

  8. C#开发BIMFACE系列46 服务端API之离线数据包下载及结构详解

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在前一篇博客<C#开发BIMFACE系列45 服务端API之创建离线数据包>中通过调用接口成功的创建一个离线数 ...

  9. C#开发BIMFACE系列48 Nginx部署并加载离线数据包

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在前一篇博客<C#开发BIMFACE系列47 IIS部署并加载离线数据包>中详细介绍了IIS部署并访问的完整步 ...

随机推荐

  1. Koa2学习(九)与mongoDB交互

    Koa2学习(九)与mongoDB交互 数据库下载与安装 windows下载地址:http://dl.mongodb.org/dl/win32/x86_64 linux下载地址:https://www ...

  2. 检查 统计 异常 通信 time_wait

    [root@hadoop1 conf]# netstat -n | grep -v 127.0.0.1 | grep -v :3306  | grep TIME_WAIT | sort -k 5n | ...

  3. HDU - 2066 一个人的旅行(最短路径)(模板)

    d.每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有S个(草儿家到这个城市的距离设为0),草儿想去的地方有D个: 求D个城市中距离草儿家最近的距离. s.进行1次单源最短路,找出 ...

  4. bleve搜索引擎源码分析之索引——mapping真复杂啊

    接下来看看下面index部分的源码实现: data := struct { Name string Des string }{ Name: "hello world this is bone ...

  5. HEOI2016 树

    传送门 这道题还是很简单的,可以树剖,然后还有看大佬暴力模拟AC的????!! 我们就执行俩操作,一个是单点修改,这个随便修,然后就是查询一个点,离他最近的被打过标记过的祖先.这个可以这么想,我们先q ...

  6. c#网格控件,Excel控件

    http://www.grid2000.com/images.html   Cell Type FlexCell supports following cell types: TextBox, Com ...

  7. hdu4507(数位DP)

    题目意思: 给定一个区间,求这段区间中,不含7,对7取余为0,各个位数相加之和对7取余为0的数的平方和. 设d[i][j][k][m]代表长度为i的,对7取余为j的,各个位数相加之和对7取余为k的数的 ...

  8. 摘抄 - JavaScript JSON的总结

    JSON 是用于存储和传输数据的格式,通常用于服务端向网页传递数据 什么是 JSON? JSON英文全称 JavaScript Object Notation(JavaScript 对象表示法),是一 ...

  9. CodeForces 723C Polycarp at the Radio (题意题+暴力)

    题意:给定 n 个数,让把某一些变成 1-m之间的数,要改变最少,使得1-m中每个数中出现次数最少的尽量大. 析:这个题差不多读了一个小时吧,实在看不懂什么意思,其实并不难,直接暴力就好,n m不大. ...

  10. 网易云MongoDB分片集群(Sharding)服务已上线

    此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. MongoDB sharding cluster(分片集群)是MongoDB提供的数据在线水平扩展方案,包括 ...