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

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

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

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

# -*- coding: UTF-8 -*-

import os
import io
import sys
import string
import shutil
import codecs def read_bdv_index_V1(objFile):
piece_list= list()
for line in objFile:
if(line[0:4] != 'file'):
continue;
strings = string.split(line,'/')
tarfile = strings[len(strings)-1]
tempText = string.strip(tarfile)
piece_list.append(tempText)
return "avi",piece_list def read_bdv_index_V2(objFile):
piece_list= list()
for line in objFile:
nPos = line.count('bdv')
if( nPos <=0):
continue;
tarfile = line[0:len(line)-2]
piece_list.append(tarfile)
return "mpeg",piece_list def read_bdv_index(filename):
piece_list= list()
ext_type = None
objFile = codecs.open(filename,'r','utf-8')
topline = objFile.readline();
bdv_ver = topline.replace("\r\n","")
if(bdv_ver == '#EXTM3U'):
ext_type,piece_list = read_bdv_index_V2(objFile)
else:
ext_type,piece_list = read_bdv_index_V1(objFile) objFile.close()
return (ext_type ,piece_list) def read_bdv_file(filename):
piece_list= list()
piece_list.append('*.bdv_*')
return ('avi',piece_list) def read_rmvb_file(filename):
piece_list= list()
piece_list.append('*.rmvb_*')
return ('rmvb',piece_list) def read_mkv_file(filename):
piece_list= list()
piece_list.append('*.mkv_*')
return ('mkv',piece_list) def read_mp4_file(filename):
piece_list= list()
piece_list.append('*.mp4_*')
return ('mp4',piece_list) def read_mkv_2_file(filename):
piece_list= list()
piece_list.append('video_*')
return ('mkv',piece_list)

最新文章

  1. js压缩xml字符串,将xml字符串转换为xml对象,将xml对象转换为json对象
  2. stm32控制电机
  3. cors解决webapi post时报错405 method not allowed
  4. C#线程通信与异步委托
  5. Java--笔记(1)
  6. 文件操作 &amp; 重定向
  7. div 绝对布局居中
  8. 三星Galaxy S4(GT-I9500)获取ROOT权限教程(转)
  9. Nunit Test 项目模块
  10. protocol(协议)
  11. 介绍一个开源的在线管理SQLServer的小工具--SQLEntMan
  12. bootstrap 鼠标悬停显示
  13. AdobeFlashBuilder还不如AdobeFlashProfessional写actionscript体验好
  14. Linux安装/卸载软件教程
  15. Best Paper Awards in Computer Science 链接
  16. 使用wget命令爬取整站
  17. Spring Data JPA、MyBatis还有Hibernate有什么区别
  18. (原创)发布一个C++版本的ORM库SmartDB(一)
  19. Python2 字典 cmp() 函数
  20. 初次使用vue-cli3 来搭建项目

热门文章

  1. Uvalive 4043 Ants —— 二分图最大权匹配 KM算法
  2. ELF和a.out文件格式的比较
  3. YTU 2586: 填空题B-字画鉴别
  4. python dig 模拟—— DGA域名判定用
  5. cmd登入mysql的命令不要写分号
  6. linux下解压tgz文件(转载)
  7. Swift4 内存管理, 可选链, KeyPath
  8. HDU1175:连连看(搜索)
  9. bzoj 1913: [Apio2010]signaling 信号覆盖【旋转卡壳(?)】
  10. poj 3130 How I Mathematician Wonder What You Are! 【半平面交】