07/03/18 05:01:55 9cpA2I4U0
フォルダ内の動画ファイルのコーデック・AVIのバージョン、フレームレートを調査し、
条件に該当するファイルだけを、変換プログラムに送るスクリプト
集めて見ないで溜まっている動画ファイルを、DivX再生機能付きDVDプレイヤーで再生するために開発しました。
言語はuwsc
// ここから
public sinkupass="F:\freeware\真空\SinkuHadouken.exe" // 真空波動研.exe の場所(フルパス) 各自の環境で変更
public avimuxpass="F:\freeware\AVI-Mux_GUI-1.17.7\AVIMux_GUI.exe" // AVIMux_GUI.exe の場所(フルパス) 各自の環境で変更
public toMuxCount
public toMuxFile[100]
srcDir="K:\Down\新しいフォルダ (7)" // 調べるファイルのあるディレクトリ
dstDir="M:\tst" AVIMuxで変換したファイルの収納先
toMuxCount=0
sinkuID=getID("","TSHDK_MAIN")
ifb sinkuID<1 THEN
exec(sinkuPass)
sleep(2)
sinkuID=getID("","TSHDK_MAIN")
endif
filecount=GETDIR( srcDir,"*.avi")
for i=0 to filecount-1
filename=GETDIR_FILES[i]
print filename
checkAviOne(sinkuID,srcDir,dstDir,filename)
next
filecount=GETDIR( srcDir,"*.wmv")
for i=0 to filecount-1
filename=GETDIR_FILES[i]
MediaCoderID=GETID("MediaCoder","#32770")
DROPFILE(MediaCoderID,srcDir,filename)
next
(続く)
591:[名無し]さん(bin+cue).rar
07/03/18 05:03:45 9cpA2I4U0
SCKEY(sinkuID,VK_ALT,VK_F,VK_C)
Avi2to1All(srcDir,dstDir)
exec("notepad.exe "+ GET_UWSC_DIR+"\UWSC.LOG")
procedure checkAviOne(sinkuID,srcDir,dstDir,filename)
SendStr(0,"")
DROPFILE(sinkuID,srcDir,filename)
sleep(6)
ACW(sinkuID)
MOUSEORG(sinkuID)
SCKEY(sinkuID,VK_CTRL,VK_C)
sleep(1)
Str=GetStr(0)
ifb Str="" then
sleep(10)
ACW(sinkuID)
MOUSEORG(sinkuID)
SCKEY(sinkuID,VK_CTRL,VK_C)
Str=GetStr(0)
endif
title=token(chr($0d),str,true) // 一行目を取り出す
pram=token(chr($0d),str,true) // 二行目を取り出す
aviVer=token(" ",pram,true)
aviVer=COPY(aviVer,POS("A",aviVer),LENGTH(aviVer)-POS("A",aviVer)+1)
str=COPY2(pram,POS("Bit ",pram)+Length("Bit "),POS("fps",pram)+Length("fps"))
size=token(" ",pram)
codec=COPY(str,0,POS(" ",str,-1)-1)
fps=COPY2(str,POS(" ",str,-1),POS("fps",str)-1)
print aviVer+" "+size+" "+codec+" "+fps+"fps"
//続く
592:[名無し]さん(bin+cue).rar
07/03/18 05:04:41 9cpA2I4U0
str=aviVer+" "+size+" "+codec+" "+fps+"fps"
title=COPY(title,0,length(title))
fpsF=val(fps)>31
codecF= (POS("DivX",codec)=0) and (POS("Xvid",codec)=0)
ifb fpsF or codecF then
print filename+"をMediaCoderで変換予約"
MediaCoderID=GETID("MediaCoder","#32770")
DROPFILE(MediaCoderID,srcDir,filename)
else
ifb aviVer="AVI2.0" then
print filename+"をAVI2.0->AVI1.0に変換予約"
SCKEY(sinkuID,VK_ALT,VK_F,VK_C)
ToMuxFile[ToMuxCount]=fileName
ToMuxCount=ToMuxCount+1
endif
endif
fend
function COPY2(str,from,to )
result=COPY(str,from,to-from)
fend
procedure Avi2to1All(srcDir,dstDir)
for i=0 To ToMuxCount-1
filename=ToMuxFile[i]
print srcDir+"\"+filename+"をAVI2.0->AVI1.0に変換実行"
onefileAvi2to1(srcDir,dstDir,filename)
next
fend
// 続く
593:[名無し]さん(bin+cue).rar
07/03/18 05:05:47 9cpA2I4U0
procedure onefileAvi2to1(srcDir,dstDir,fname)
fNameSrc=srcDir+"\"+fname
fNameDst=dstDir+"\"+fname
muxID=GETID("AVI-Mux GUI","#32770")
ifb muxID<1 THEN
exec(avimuxpass)
sleep(2)
muxID=GETID("AVI-Mux GUI","#32770")
endif
muxID=GETID("AVI-Mux GUI","#32770")
sleep(2)
ACW(muxID,158,244,613,473,0)
mouseorg(muxID)
BTN(RIGHT,CLICK,30,66,31)
SCKEY(muxID,VK_DOWN,VK_RETURN)
openID=GETID("ファイルを開く","#32770")
ACW(openID,136,319,656,323,0)
SENDSTR(openID,fNameSrc,1,true)
SCKEY(openID,VK_ALT,VK_O)
sleep(2)
ACW(muxID,158,244,613,473,0)
mouseorg(muxID)
BTN(LEFT,CLICK,105,67,32)
BTN(LEFT,CLICK,117,136,109)
sleep(1)
BTN(LEFT,CLICK,519,413,203)
(続く)
594:[名無し]さん(bin+cue).rar
07/03/18 05:07:29 9cpA2I4U0
saveID=GETID("名前を付けて保存","#32770")
ACW(saveID,136,319,656,323,0)
SENDSTR(saveID,fNameDst,1,true)
SCKEY(saveID,VK_ALT,VK_S)
infID=GETID("Information","#32770")
while infID=-1
sleep(1)
infID=GETID("Information","#32770")
wend
SCKEY(saveID,VK_RETURN) // 終了ダイアログに「OK」
ACW(muxID,158,244,613,473,0) //処理し終わったファイルをdelする
mouseorg(muxID)
sleep(1)
SCKEY(muxID,VK_ALT,VK_F4)
sleep(2)
fend
//スクリプトここまで
595:[名無し]さん(bin+cue).rar
07/03/18 05:08:15 9cpA2I4U0
(説明書)
このスクリプトは、フォルダ内の動画ファイルのコーデック・AVIのバージョン、フレームレートを調査し、
条件に該当するファイルだけを、変換プログラムに送るものです
集めて見ないで溜まっている動画ファイルを、DivX再生機能付きDVDプレイヤーで再生するために開発しました。
条件は
1,AviのうちコーデックがDivX/Xvidでないもの(wmv9など)、
2.フレームレートが120fpsなど30より多いもの
はMediaCoderに送り込んで変換
3.Avi2.0のもの
はAVIMux_Guiに送り込んでAVI1.0に変更します。
このスクリプトの実行には、以下のフリーソフトが必要になります
以下のURLからインストールしてください
uwsc URLリンク(www.h7.dion.ne.jp)
(スクリプトの実行に使用します)
真空波動研 URLリンク(kurohane.sakura.ne.jp)
(コーデックやフレームレートの判定に使用します)
MediaCoder URLリンク(gigazine.net)
(wmvや120fpsのファイルを変換するために使用します)
AVIMux_Gui URLリンク(www.alexander-noe.com)
(AVI2.0からAVI1.0への変換に使用します)
注)このスクリプトはMediaCoderやAVIMux_Guiにファイルをドロップするだけで、
MediaCoderやAVIMux_Guiの各種設定を自動で行うわけではありません
以下を参照の上、設定を行って、試しに一本変換してみて、正常にプレイヤーで再生できるファイルに変換されたか
確認してからスクリプトを使用してください。
596:[名無し]さん(bin+cue).rar
07/03/18 05:09:04 9cpA2I4U0
●AVIMux_Guiの設定
右側のOutput/generalを押して、
左上のStandard output fortmat をAviに
右側のOutput/Avi file structureを押して、
チェックボックス use Open-DML outputをオフに
(これがoffであればAVI1.0を出力する)
●MediaCoderの設定
左下の設定
Video
Backend/MEncoder
Codec/Xvid
Picture
FrameRate 23.976
Audio
Source MPlayer
Encoder LAME MP3
真空波動研とAviMux_Guiは起動した状態でなくてもスクリプトが起動させてくれますが、
MediaCoderは自動起動しませんので、さきに起動した状態でスクリプト実行してください
597:[名無し]さん(bin+cue).rar
07/03/18 05:12:07 1S7TzuZL0
ノリに乗ってる所申し訳ないんですが
「winnyの補助」ツールスレなんでスレ違いだから…