Amatsukazeの導入はこちらの記事を参考にしてください。
作成方法
EDCB用のバッチファイルを書き換えて使います。
「その他」タブで「プロファイル」と「出力先」を指定して「バッチファイル作成」をクリックして、適当な名前で保存します。
バッチファイルの中身は以下のようになっていると思います。
"AmatsukazeAddTask.exeのパス" -r "Amatsukazeのフォルダパス" -f "$FilePath$" -ip "localhost" -p 32768 -o "出力先フォルダのパス" -s "プロファイルの名前" --priority 3 --no-move
これの"$FilePath$"
を"%~1"
に書き換えます。
"AmatsukazeAddTask.exeのパス" -r "Amatsukazeのフォルダパス" -f "%~1" -ip "localhost" -p 32768 -o "出力先フォルダのパス" -s "プロファイルの名前" --priority 3 --no-move
あとはこのバッチファイルにTSファイルをドラッグ&ドロップすればエンコードが始まります。
複数入力に対応
複数のTSファイルをドラッグ&ドロップしても処理されるようにします。
上下にループ処理を書き加えます。
@echo off :loop if "%~1" == "" goto end "AmatsukazeAddTask.exeのパス" -r "Amatsukazeのフォルダパス" -f "%~1" -ip "localhost" -p 32768 -o "出力先フォルダのパス" -s "プロファイルの名前" --priority 3 --no-move shift goto loop :end
EDCBで録画後に複数のファイルをエンコード
「バッチファイルA」をこの記事のバッチファイル、「バッチファイルB」を作成するバッチファイルとします。
@echo off :loop if "%~1" == "" goto end echo call "バッチファイルAのパス" "%~1">> "バッチファイルBのパス" shift goto loop :end
このバッチファイルに複数のTSファイルをドラッグ&ドロップするとバッチファイルBが出力されます。
あとは予約登録画面で「録画後実行bat」にバッチファイルBを指定すれば、録画後に複数のファイルがエンコードされます。
コメント
ちゃんとTSファイルをドラッグ&ドロップしていますか?
あとバッチファイルではなくGUIだと問題ありませんか?
バッチファイルはそのまま使っているのでしょうか?
それともTSファイルの削除処理などを追加していますか?
"$FilePath$"
は"%~1"
に書き換えてありますよね?私の環境では問題なく使えているので原因がわかりません。
Amatsukazeの掲示板で聞いた方がいいかもしれません。
お力になれずすみません。
GUIのバッチファイル作成画面の「出力先」で指定すればいいと思います。
入手ファイルのフォルダパスがそれぞれ違うということでしょうか。
それならバッチファイルの
-o "出力先フォルダのパス"
を-o "%~dp1"
にすればできると思います。了解です。
なるほど。最後の\を削除する処理があればいけそうですね。
少し調べてみます。
以下のバッチファイルでいけるでしょうか?
変更点は
set dir=%~dp1
の行を追加と、-o "出力先フォルダのパス"
を-o "%dir:~0,-1%"
にしていることです。EDCBの$FolderPath$は元々最後に\はないので、そのまま使えると思います。
できると思います。
そうですね。
このバッチファイルに直接書いてもいいですし、Amatsukazeのバッチファイル実行機能を使ってもいいかもしれません。
このバッチファイルに直接書くなら以下の一行をshiftの上に書けばできると思います。
以下のバッチファイルでどうでしょうか。
%~dp1をダブルクォーテーションで括ればいいかと思ったんですが難しいですね。
ちょっとお手上げです。
すみません。
バッチファイルはAmatsukazeサーバにタスクを投げるのが仕事なので、その後の処理は実行されないのかもしれません。
Amatsukazeのバッチファイル実行機能を使った方がよさそうです。
私も使ったことがないので少し調べてみます。
以下を「実行後_TS削除.bat」という名前で保存して、Amatsukazeの「bat」フォルダに入れます。
GUIの「プロファイル」タブの「実行後バッチ」で選べばできるようになります。
よかったです。
GUIではD&Dでエンコードできるのですが、batファイルにD&Dすると
サーバ開始しました
クライアントと接続
クライアントとの接続が切れました
と出てしまい、エンコードできないのですが何が問題と考えられるでしょうか?
コメントの別の方の解決策や、掲示板をみて試したのですが、改善しませんでした。
「クライアントとの接続が切れました」は正常なメッセージです。
AmatsukazeServerのログに「エンコード開始: ~」のようなメッセージはありませんか?