-
Notifications
You must be signed in to change notification settings - Fork 0
/
gopy.py
94 lines (76 loc) · 2.97 KB
/
gopy.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import glob
import os
import subprocess
import shutil
#import tqdm
import yaml
#my Librarys↓
from GPCC import *
import GPCC
#初期化
F2=[]
F=[]
with open('config.yaml', 'r') as yml:
config = yaml.safe_load(yml)
#デフォルトの値です
inputmp4 ="/input_mp4/"
Finished_using ="/Finished_using/"
outputmp4 ="/output_mp4/"
tempPASH ="/temp/"
direPASH =os.getcwd().replace('\\','/')
loglevel =24
stats ='-y'
#デフォルトをオーバーライド
inputmp4 =str(config.get('inputmp4'))
Finished_using =str(config.get('Finished_using'))
outputmp4 =str(config.get('outputmp4'))
tempPASH =str(config.get('tempPASH'))
loglevel =str(config.get('loglevel'))
stats =str(config.get('stats'))
#ディレクトリが存在しない場合作成します
GPCC.DirectoryCreate(tempPASH)
GPCC.DirectoryCreate(inputmp4)
GPCC.DirectoryCreate(outputmp4)
GPCC.DirectoryCreate(Finished_using)
#ファイル検索開始
mx, mi =GPCC.filename(inputmp4)
#メインループ
for i2 in range(mi,mx):#ファイルの数分ループ処理
inputmp4temp=inputmp4.replace("/","")
for i3 in range(len(F)):
F_temp=F[i3]
F_temp=str(F_temp)
F_temp=F_temp.replace('./'+inputmp4temp+'\\' ,"")#MP4のファイル名抽出
F[i3]=F_temp
#ファイルリスト生成
txt=open("."+tempPASH+'concat'+str(i2)+'.txt', 'a')
txt.write("file '"+F_temp+"'\n")
txt.close()
#ファイル移動
shutil.move("."+inputmp4+F_temp,"."+ tempPASH)
#batファイル生成
bat=open("."+tempPASH+'ffmpeg'+str(i2)+'.bat','a')
bat.write('CD '+direPASH+tempPASH+'\n''ffmpeg -f concat -i concat'+str(i2)+'.txt -c copy -analyzeduration 256M -probesize 256M '+direPASH+outputmp4+'output'+str(i2)+'.mp4 -loglevel '+loglevel+' -stats '+stats+'\n')
bat.close()
if len(F)>0:
print('Encode_Start')
print(F)
#subprocess.run(direPASH+tempPASH+'ffmpeg'+str(i2)+'.bat',shell=True)#batファイル起動
Ftmp=glob.glob("."+tempPASH+'/GX????'+str(i2)+'.MP4')#使用したファイル取得
Ftmp=glob.glob("."+tempPASH+'/GX???'+str(i2)+'.MP4')#使用したファイル取得
for i4 in range(len(F)):
if len(F)==1:
shutil.move("."+tempPASH+F[i4],"."+Finished_using+"/" )#戻す
else:
F_temp4=Ftmp[i4]
F_temp4=str(F_temp4)
F_temp4=F_temp4.replace('./'+tempPASH+'\\' ,"")#MP4のファイル名抽出
shutil.move("."+tempPASH+F[i4],"."+Finished_using+"/" )#戻す
os.remove("./"+tempPASH+'ffmpeg'+str(i2)+'.bat')
os.remove("./"+tempPASH+'concat'+str(i2)+'.txt')
else:
pass
else:
print("no_import_files")
print('Finished')
os.system('PAUSE')