--- /dev/null
+#!/usr/bin/python
+# coding: UTF-8
+# Rec10 TS Recording Tools
+# Copyright (C) 2009 Yukikaze
+from SocketServer import *
+
+RECV_BUF = 8192
+
+class Handler(BaseRequestHandler):
+ def handle(self):
+ print "connect from:", self.client_address
+ while True:
+ ret = self.request.recv(RECV_BUF)
+ if len(ret) == 0:
+ break
+ self.request.send(ret)
+ self.request.close()
+
+def main():
+ sv = ThreadingTCPServer(('', 10910), Handler)
+ ##sv = ForkingTCPServer(('', 7070), Handler)
+ print 'listen to:', sv.socket.getsockname()
+ sv.serve_forever()
+
+if __name__ == '__main__': main()
--- /dev/null
+#!/usr/bin/python
+# coding: UTF-8
+# Rec10 TS Recording Tools
+# Copyright (C) 2009 Yukikaze
+import os
+import re
+path=os.path.dirname(os.path.abspath(__file__))+"/"
+
+def getEncoding():
+ f = open(path+'status')
+ lines = f.readlines() # 1行毎にファイル終端まで全て読む(改行文字も含まれる)
+ f.close()
+ ts2avi=0
+ # lines2: リスト。要素は1行の文字列データ
+ for line in lines:
+ if re.search('ts2avi=',line):
+ line=line.replace("ts2avi=","")
+ line=line.replace(" ","")
+ ts2avi=int(line)
+ break
+ return ts2avi
+def setEncoding(tasknum):
+ s = "ts2avi="+str(tasknum)
+ f = open('status', 'w') # 書き込みモードで開く
+ f.write(s) # 引数の文字列をファイルに書き込む
+ f.close() # ファイルを閉じる
import epgdb
import configreader
#import japanesenkf
+import ts2x264
import tv2avi
import tv2ts
import recdb
import chdb
+import status
+import re
#japanesenkf.overrideEncodings()
recpath=configreader.getpath('recpath')
path=str(os.path.dirname(os.path.abspath(__file__)))+"/"
else:
#print title
tv2avi.timetv2avi(recpath+"/"+title+".avi",chtxt,btime,etime,opt)
- if not os.access(recpath+"/"+title+".avi", os.F_OK):
+ if not os.access(recpath+"/"+title+".ts", os.F_OK):
recdb.delend(title,chtxt,btime)
recdb.misrecwrite(title,chtxt,btime,etime,opt)
sys.exit(0)
title=task['title']
opt=task['opt']
pid=os.fork()
- if pid>0:#親プロセスの場合
+ """if pid>0:#親プロセスの場合
""
else:
#print title
if not os.access(recpath+"/"+title+".avi", os.F_OK):
recdb.delend(title,chtxt,btime)
recdb.misrecwrite(title,chtxt,btime,etime,opt)
- sys.exit(0)
-
-
+ sys.exit(0)"""
+ elif task["type"]=="ts2avi":
+ title=task['title']
+ opt=task['opt']
+ btime=task['btime']
+ etime=task['etime']
+ chtxt=task['chtxt']
+ tnow=datetime.datetime.now()
+ bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
+ et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
+ dt=bt-tnow
+ dt=dt.days*24*60*60+dt.seconds
+ if dt<10*60:
+ if status.getEncoding()<3:
+ pid=os.fork()
+ if pid>0:#親プロセスの場合
+ ""
+ else:
+ #print title
+ #tv2avi.b252avi(recpath+"/"+title+".avi", chtxt,opt)
+ pin=recpath+"/"+title+".ts"
+ if re.search("d",opt):
+ pin=recpath+"/"+title+"sa.avi"
+ pout=recpath+"/"+title+".avi"
+ print pin+":"+pout+":"+opt
+ ts2x264.ts2x264(pin, pout, opt)
+ recdb.del_reckey("ts2avi",title,chtxt,btime)
+ #tv2avi.timetv2avi(recpath+"/"+title+".avi",chtxt,btime,etime,opt)
+ sys.exit(0)
+ else:
+ recdb.del_reckey("ts2avi",title,chtxt,btime)
+ bt=bt+datetime.timedelta(seconds=600)
+ et=et+datetime.timedelta(seconds=600)
+ btime=bt.strftime("%Y-%m-%d %H:%M:%S")
+ etime=et.strftime("%Y-%m-%d %H:%M:%S")
+ recdb.rec_reckey("ts2avi",title,chtxt,btime,etime,opt)
# coding: UTF-8
# Rec10 TS Recording Tools
# Copyright (C) 2009 Yukikaze
+import status
import os
import time
import re
"""
pinで指定されたファイルをpoutにx264でエンコードして書き出す
"""
+
+ status.setEncoding(status.getEncoding()+1)
isAnime=0
size="SD"
else:
pas1exe="mencoder \'"+pin+"\' -ovc x264 "+encvf+" -x264encopts "+bitrate+":threads=auto -oac mp3lame -lameopts cbr:br=128 -o \'"+pout+"\'"
os.system(pas1exe)
+ status.setEncoding(status.getEncoding()-1)
import os
import time
import re
-
+import status
def ts2xvid(pin,pout,opts):#sizeは"HD"か"SD"
"""
pinで指定されたファイルをpoutにx264でエンコードして書き出す
pin = pin.encode('utf-8')
isAnime=0
size="SD"
-
+ status.setEncoding(status.getEncoding()+1)
makemini=0
if re.search("a",opts):
isAnime=1
else:
pas1exe="mencoder \'"+pin+"\' -ovc xvid "+encvf+" -xvidencopts fixed_quant=4:threads=2 -oac mp3lame -lameopts cbr:br=128 -o \'"+pout+"\'"
os.system(pas1exe)
+ status.setEncoding(status.getEncoding()-1)
\ No newline at end of file
import ts2x264
import ts2xvid
import tv2ts
+import recdb
def timetv2avi(pout, chtxt, btime, etime,opt):
bt = datetime.datetime.strptime(btime, "%Y-%m-%d %H:%M:%S")
et = datetime.datetime.strptime(etime, "%Y-%m-%d %H:%M:%S")
dualaudio = 0
if re.search("d",opt):
dualaudio = 1
- if re.search('\[二\]', pout):
+ if re.search("\[二\]", pout):
dualaudio = 1
elif re.search('(二)', pout):
dualaudio = 1
makexvid = 0
else:
makexvid = 1
- if dualaudio == 1:
+ """if dualaudio == 1:
dualaudiots2avi(aviin, tsout + "sa.avi")
aviin = tsout + "sa.avi"
if makexvid==1:
ts2xvid.ts2xvid(aviin, pout,opts)
else:
ts2x264.ts2x264(aviin, pout,opts)
+ """
+ bt=datetime.datetime.now()+datetime.timedelta(seconds=600)
+ btime=bt.strftime("%Y-%m-%d %H:%M:%S")
+ et=datetime.datetime.now()+datetime.timedelta(seconds=600)
+ etime=et.strftime("%Y-%m-%d %H:%M:%S")
+ title=os.path.split(tsout)[1]
+ recdb.rec_reckey("ts2avi",title,chtxt,btime,etime,opt)
#try:
# os.remove(aviin)
#except: