fc2ブログ

PREV | PAGE-SELECT | NEXT

≫ EDIT

PowerShell + QSVで自動エンコード・自動CMカット part2

前回でツール類の導入が出来たと思います。
今回は作成した「CLIEnc4TS」の設定に入ります。


PowerShell + QSVで自動エンコード・自動CMカット part1
PowerShell + QSVで自動エンコード・自動CMカット part2
PowerShell + QSVで自動エンコード・自動CMカット part3

スポンサーリンク



CLIEnc4TSを使用可能にする
まず、以下のエントリを読んでいない方は読んで下さい。PowerShell知らない方は特に。
PowerShellを使ってみた
もし、CLIEnc4TS.ps1をすぐ使用するより何か別のPowerShellスクリプトを試してみたい
という方がいれば以下のリネームスクリプトを試してみてください。
【PowerShell】指定フォルダからファイル名を取得しリネームする


ダウンロードして頂いた
CLIEnc4TS.ps1
を早速設定していきたいのですが、
残念ながらPowerShellのセキュリティポリシー上そのままでは使用出来ません。
なので面倒ですが以下の処理を行って下さい。
1. CLIEnc4TS.ps1をダブルクリックして編集画面を開く
2.全てコピーする
3.新しくメモ帳などを開き全て貼り付ける
4.「CLIEnc4TS.ps1」と名前を付けて保存する。
ダウンロードしたファイルはいらないので削除して下さい。
正直この配布方法ってどうなの?という感じですが…

CLIEnc4TSの設定
各PCでCLIEnc4TS.ps1が出来た事と思います。これから中身の設定をしていきますが、
ps1の編集には是非ともPowerShell ISEなどを使用して下さい。
色付けされて見やすく、編集しやすくなります。

CLIEnc4TS.ps1で設定していただきたい部分は以下となります。
1.エンコード作業フォルダパスの設定
2.プログラムを保存するフォルダパスの設定
3.処理後のTSを保存するフォルダパスの設定
4.ログを保存するフォルダパスの設定
5.ツール、ファイルパス自動設定用のファイル名の設定
6.ロゴファイルを選択するための放送局名設定
7.録画ソフト用のbatファイル作成


とりあえずスクリプトファイルを開いてみましょう。
CLIEnc4TS.ps1をPowerShell ISEで開き小さくまとめると以下の用になります。

それでは上で作成したフォルダのパス設定を行います。
1~4フォルダパス設定
スクリプト上部「# ディレクトリの設定について」の通りに行ってください。
「①エンコード作業フォルダ」であれば「D:\Encode」の用な形で書き換えます。
書き換える部分を探すのではなく、"一括置換"すると素早く設定できるのでお勧めです。

5.ツール、ファイルパス自動設定用のファイル名の設定
次にツールなどのファイル名設定です。
「# 関数一覧」に存在する「function SubRoutine($Source)」を開いて下さい。
最初に「#プログラムパス設定」があります。

$PrgDir = "②プログラムを保存するフォルダ"
上のフォルダパス設定が終わっていれば右辺には[Program]パスが入っているはずです。
下の方をみると何やらツール類がずらっと並んでいます。
$MediaInfo = &$SearchPrg "MediaInfo.exe"
これは"MediaInfo.exe"と言うファイル名を$PrgDirからサブディレクトリを含めて検索し、
変数$MediaInfoに格納するスクリプトです。
なので、左辺に対応するツールのファイル名と拡張子を二重引用符で括って、
&$SearchPrgの隣に書いて下さい。後は実行すれば自動的にフルパスが設定されます。
同様に、ロゴファイルの設定も行って下さい。
なお、$PrgDirフォルダ内に同じファイル名の拡張子があるとエラーになるので注意して下さい。

6.ロゴファイルを選択するための放送局名設定
ここはちょいと複雑です。
作成したロゴファイルを用いて、logoframeでロゴ表示区間を作成するわけですが、
各番組と同じロゴファイルを使用しなければなりません。
放送局の決定方法はTSソースのファイル名に含まれる放送局名で判断します。
↓この例で言えば赤い部分

1501040130_甘城ブリリアントパーク[終]「PVがつまらない!」_BS-TBS.ts

「# プログラムパス設定」より下の方に、
「# Logoframeで使用するロゴファイルの決定」があります。

$StaName = @("_日本テレビ","_テレビ朝日","_TBS","_TBS","_テレビ東京"
省略していますが、この$StaNameは放送局名が配列として格納されています。
これらの単語を使用してTSファイル名から検索するので、
お使いの録画ソフトで生成されるであろう放送局名の形式全て記入して下さい。
文字列は「”」で囲って「,」で区切ります。

この配列情報を利用して検索するわけですが、これだけではロゴファイルと関連付けられません。
そこで下にあるスクリプトの設定をします。

$StaHash = @{
"_日本テレビ" = $ntv; "_日テレ" = $ntv;
"_テレビ朝日" = $tv_asahi;
"_TBS" = $tbs; "_TBS" = $tbs;
"_テレビ東京" = $tvtokyo;
以下略
$StaHashは連想配列で左辺と右辺を「=」で結びます。
例えば次の様になります。→ $StaHash[_日本テレビ] = $ntv
スクリプトを参考に放送局に対応するロゴの変数を設定して下さい。
ハッシュは「;」で区切ります。

処理の流れを言いますと、$StaNameに含まれる放送局名をTSファイル名から探し出し、
適合した文字列を$StaHashと照らしあわせて対応するロゴのパスを
$LgdPass
に保存する形になります。$LgdPassは単純にこの処理で使用するlgdパスを格納します。


7.録画ソフト用のbatファイル作成
これで設定は完了です。これで一応エンコードできるはずです。
右クリックメニューの「PowerShellで実行」で実行する事ができます。
あとはTVRockやEDCBなどで実行出来るようにするためにbatファイルを書きます。

@echo off
powershell "起動したいスクリプト.ps1"
これだけ!メモ帳を開き上の内容をコピペして、
起動したいスクリプト.ps1」の部分を「CLIEnc4TS.ps1のフルパス」にし、
拡張子をbatにして保存して下さい。後はこのbatファイルを録画後実行batに設定すれば、
録画後に自動でCLIEnc4TS.ps1が実行されるようになります。



設定部分は先取りしましたが、次回にスクリプトを順に説明していきたいと思います。

関連記事
スポンサーリンク

| エンコード | 21:02 | comments:1 | trackbacks:0 | TOP↑

承認待ちコメント

このコメントは管理者の承認待ちです

| | 2016/01/06 23:39 | |















非公開コメント

http://higitune.blog106.fc2.com/tb.php/132-f1013177

PREV | PAGE-SELECT | NEXT