OSDN Git Service

70a6e2c4cb54d22fc6e630a1a11fb65f33f82a87
[rec10/rec10-git.git] / rec10 / trunk / src / tv2mkv.py
1 #!/usr/bin/python
2 # coding: UTF-8
3 # Rec10 TS Recording Tools
4 # Copyright (C) 2009 Yukikaze
5 import sys
6 import commands
7 import tv2avi
8 import os.path
9 import time
10 import shutil
11 import recdblist
12 def ts2mkv(pin, pout, opt):
13     dir=os.path.split(pout)[0]
14     title=os.path.split(pout)[1]
15     title=os.path.splitext(title)[0]
16     tpavi=os.path.join(dir,title+".avi")
17     tpmkv=os.path.join(dir, title+".mkv")
18     tv2avi.ts2avi(pin, tpavi, opt)
19     time.sleep(10)
20     avi2mkv(tpavi,tpmkv)
21     #shutil.move(tpavi,pout.replace(".mkv",".avi"))
22     #shutil.move(tpmkv,pout)
23 def avi2mkv(pin,pout):
24     exe = "mkvmerge"
25     #doexe = exe.encode('utf-8') + u' \"' + pin.encode('utf-8') + u'\" \"' + pout.encode('utf-8') + u'\"'
26     doexe = exe + u" -o '" + pout + u"' --cues 0:all --forced-track 0:no --forced-track 1:no -a 1 -d 0 -S '" + pin + u"' --track-order 0:0,0:1"
27     doexe = "nice -n 17 " + doexe
28     recdblist.printutf8(doexe)
29     logo=pout.replace(".mkv",".log")
30     os.environ['LANG']="ja_JP.UTF-8"
31     txt= doexe+"\n"
32     txt = txt+unicode(commands.getoutput(doexe.encode('utf-8')),'utf-8')
33     txt = "\n####mkvmerge-log####\n"+txt
34     f=open(logo,'a')
35     f.write(txt.encode('utf-8'))
36     f.close()
37     sys.stdout.flush()