OSDN Git Service

fix rename miss.
[rec10/rec10-git.git] / rec10 / trunk / src / tv2avi.py
1 #!/usr/bin/python\r
2 # coding: UTF-8\r
3 # Rec10 TS Recording Tools\r
4 # Copyright (C) 2009-2010 Yukikaze\r
5 import commands\r
6 import datetime\r
7 import os\r
8 import re\r
9 import shutil\r
10 import time\r
11 import os.path\r
12 import traceback\r
13 \r
14 import chdb\r
15 import configreader\r
16 import status\r
17 import ts2x264\r
18 import tv2ts\r
19 import recdblist\r
20 import tv2audio\r
21 \r
22 \r
23 global Bitrate_SD\r
24 global Bitrate_HD\r
25 global Bitrate_FHD\r
26 global Bitrate_Short\r
27 global Bitrate_LowHD\r
28 Bitrate_SD = 1250\r
29 Bitrate_HD = 3750\r
30 Bitrate_LowHD = 2500\r
31 Bitrate_FHD = 5000\r
32 Bitrate_Short = 1250\r
33 def timetv2b25(pout, chtxt, btime, etime, opt):\r
34     """\r
35     poutはタイトル\r
36     """\r
37     bt = datetime.datetime.strptime(btime, "%Y-%m-%d %H:%M:%S")\r
38     et = datetime.datetime.strptime(etime, "%Y-%m-%d %H:%M:%S")\r
39     extt = os.path.splitext(pout)\r
40     tsout = extt[0]\r
41     tnow = datetime.datetime.now()\r
42     wt = bt-tnow\r
43     waitt = wt.seconds\r
44     if waitt>0:\r
45         time.sleep(waitt)\r
46     tnow = datetime.datetime.now()\r
47     dt = et-tnow\r
48     rectime = dt.seconds-5\r
49     rectime = str(rectime)\r
50     tv2ts.tv2b25ts(tsout + ".ts.b25", chdb.searchCHFromChtxt(chtxt)['ch'], rectime)\r
51 def b252ts(pout, chtxt, btime, etime, opt):\r
52     """\r
53     poutはタイトル(自動的にtitle.b25 title.tsと名前がつきます。)\r
54     """\r
55     #status.setB25Decoding(status.getB25Decoding() + 1)\r
56     status.changeB25Decoding(1)\r
57     try:\r
58         try:\r
59             ch=chtxt.split("_")[0]\r
60             csch=chtxt.split("_")[1]\r
61         except:\r
62             ch=0\r
63             csch=0\r
64         tv2ts.b252ts(pout + ".ts", ch, csch)\r
65         tsout = pout\r
66         aviin = pout + ".ts"\r
67         dualaudio = 0\r
68         pentaaudio = 0\r
69         singleaudiosplit = 0\r
70         if re.search("5", opt):\r
71             pentaaudio = 1\r
72         if re.search("d", opt):\r
73             dualaudio = 1\r
74         if re.search(u"\[二\]", pout):\r
75             dualaudio = 1\r
76         elif re.search(u'(二)', pout):\r
77             dualaudio = 1\r
78         elif re.search(u'\(二\)', pout):\r
79             dualaudio = 1\r
80         if dualaudio == 1:\r
81             tv2audio.ts2dualaudio_BonTsDemux(aviin, recdblist.BONTSDEMUX_DELAY, opt)\r
82         if pentaaudio == 1:\r
83             tv2audio.ts2pentaaudio_BonTsDemux(aviin, recdblist.BONTSDEMUX_DELAY, opt)\r
84     except Exception, inst:\r
85         recdblist.addCommonlogEX("Error", "b252ts(tv2avi.py)", str(type(inst))+traceback.format_exc(), str(inst))\r
86     status.changeB25Decoding(-1)\r
87 def ts2avi(pin, pout, opt):\r
88     status.changeEncoding(1)\r
89     try:\r
90         ts2x264.ts2x264(pin, pout, opt)\r
91     except Exception, inst:\r
92         recdblist.printutf8("error occures in tv2avi.py ts2avi")\r
93         recdblist.printutf8(str(type(inst)))\r
94         recdblist.printutf8(str(inst)+traceback.format_exc())\r
95     status.changeEncoding(-1)\r
96 def ts2raw(pin, pout, opt):\r
97     status.changeEncoding(1)\r
98     try:\r
99         ts2x264.ts2x264(pin, pout, opt)\r
100     except Exception, inst:\r
101         recdblist.printutf8("error occures in tv2avi.py ts2raw")\r
102         recdblist.printutf8(str(type(inst)))\r
103         recdblist.printutf8(str(inst)+traceback.format_exc())\r
104     status.changeEncoding(-1)\r
105 \r