**以前のリビジョンの文書です**

Aviutlのエンコード進捗率確認用スクリプト

出力イメージは、エンコード状況を参照。

スクリプトはPowerShellで動かす。

#---------------------------------------------------------
#---- エンコード進捗率をそれっぽく吐き出すスクリプト
#---------------------------------------------------------

#---------------------------------------------------------
#---- $AviutlPath : Aviutlのパス
#---- $OutputMovie     : ファイルの出力先パス
#---- $Filetype   : 出力ファイルの拡張子
#---------------------------------------------------------
$AviutlPath  = "C:\local\tools\movie\aviutl99i2\"
$OutputMovie = "V:\ainoniwa\anime_present"
$Filetype    = "mp4"
$OutputLog   = "V:\server\www-linux\data\txt\encoding.txt"

#---------------------------------------------------------
#---- 日付とAviutlのエンコード残り時間取得(window名の取得)
#---------------------------------------------------------
$Date = date
$Run  = get-process | % {if ($_.mainwindowhandle -ne 0) {$_.mainwindowtitle}} | ?{$_ -like "出力中*"}

#---------------------------------------------------------
#---- Aviutlで使っているbatchファイルの一覧取得
#---------------------------------------------------------
$AviutlBatch = Join-path $AviutlPath batch* -Resolve

#---------------------------------------------------------
#---- Dokuwiki用のフォーマットで記載する
#---------------------------------------------------------
Set-Content $OutputLog "====== エンコード状況 ======" -encoding UTF8
Add-Content $OutputLog "KIYOKAが頑張ってエンコードしてくれてます。" -encoding UTF8
Add-Content $OutputLog "" -encoding UTF8
Add-Content $OutputLog "** $Date 取得(取得時間が古い場合、たぶんKIYOKAはお休み中です) **" -encoding UTF8

#---------------------------------------------------------
#---- バッチの名前の順で一覧を取得してるから、最初だけ出力中の%を出して、後は保留。
#---- 並び替えたときの動作までちゃんと見てない。
#---------------------------------------------------------
for( $count=0 ; $count -lt $AviutlBatch.Length; $count++){
    $Encoding = Get-Content -Path $AviutlBatch[$count] -TotalCount 1
    $Index1 = $Encoding.IndexOf($OutputMovie)
    $Index2 = $Encoding.IndexOf($Filetype) + $Filetype.Length
    $Encoding = Split-Path $Encoding.SubString($Index1,$Index2 - $Index1) -leaf
    if($count -eq 0){
#        Write-Host "$count : $Encoding : $Run"
        Add-Content $OutputLog "^  エンコード順序  |  エンコ対象  |  進捗率  |" -encoding UTF8
        Add-Content $OutputLog "^  $count  | $Encoding | $Run |" -encoding UTF8
    }else{
#        Write-Host "$count : $Encoding : エンコ待ち"
        Add-Content $OutputLog "^ $count | $Encoding | エンコ待ち |" -encoding UTF8
    }
}

if($AviutlBatch.Length -eq 0){
        Add-Content $OutputLog "現在、エンコード中のタスクはありません。" -encoding UTF8
}    

Add-Content $OutputLog "" -encoding UTF8
home/rec/encode-checker-ps1-01.1276966896.txt.gz · 最終更新: 2010/06/20 02:01 by yuki
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0