Amatsukazeでエンコードするバッチファイル

スポンサーリンク
スポンサーリンク
エンコード

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を指定すれば、録画後に複数のファイルがエンコードされます。

スポンサーリンク
スポンサーリンク
エンコード
thtsfをフォローする
スポンサーリンク
スポンサーリンク

コメント

  1. thtsf より:

    ちゃんとTSファイルをドラッグ&ドロップしていますか?
    あとバッチファイルではなくGUIだと問題ありませんか?

    • thtsf より:

      バッチファイルはそのまま使っているのでしょうか?
      それともTSファイルの削除処理などを追加していますか?

  2. thtsf より:

    私の環境では問題なく使えているので原因がわかりません。
    Amatsukazeの掲示板で聞いた方がいいかもしれません。

  3. thtsf より:

    入手ファイルのフォルダパスがそれぞれ違うということでしょうか。
    それならバッチファイルの-o "出力先フォルダのパス"-o "%~dp1"にすればできると思います。

    • thtsf より:

      了解です。

      • thtsf より:

        なるほど。最後の\を削除する処理があればいけそうですね。
        少し調べてみます。

      • thtsf より:

        以下のバッチファイルでいけるでしょうか?

        @echo off
        
        :loop
        if "%~1" == "" goto end
        
        set dir=%~dp1
        
        "AmatsukazeAddTask.exeのパス" -r "Amatsukazeのフォルダパス" -f "%~1" -ip "localhost" -p 32768 -o "%dir:~0,-1%" -s "プロファイルの名前" --priority 3 --no-move
        
        shift
        goto loop
        :end

        変更点はset dir=%~dp1の行を追加と、-o "出力先フォルダのパス"-o "%dir:~0,-1%"にしていることです。

  4. thtsf より:

    EDCBの$FolderPath$は元々最後に\はないので、そのまま使えると思います。

  5. thtsf より:

    できると思います。

    • thtsf より:

      そうですね。
      このバッチファイルに直接書いてもいいですし、Amatsukazeのバッチファイル実行機能を使ってもいいかもしれません。

    • thtsf より:

      このバッチファイルに直接書くなら以下の一行をshiftの上に書けばできると思います。

      del "%~dp1succeeded\%~n1.ts"
      • thtsf より:

        以下のバッチファイルでどうでしょうか。

        @echo off
        
        :loop
        if "%~1" == "" goto end
        
        set dir="%~dp1"
        
        "AmatsukazeAddTask.exeのパス" -r "Amatsukazeのフォルダパス" -f "%~1" -ip "localhost" -p 32768 -o %dir:~0,-2%" -s "プロファイルの名前" --priority 3 --no-move
        
        shift
        goto loop
        :end
  6. thtsf より:

    %~dp1をダブルクォーテーションで括ればいいかと思ったんですが難しいですね。
    ちょっとお手上げです。

  7. thtsf より:

    すみません。
    バッチファイルはAmatsukazeサーバにタスクを投げるのが仕事なので、その後の処理は実行されないのかもしれません。
    Amatsukazeのバッチファイル実行機能を使った方がよさそうです。

    • thtsf より:

      私も使ったことがないので少し調べてみます。

    • thtsf より:

      以下を「実行後_TS削除.bat」という名前で保存して、Amatsukazeの「bat」フォルダに入れます。

      del "%IN_PATH%"

      GUIの「プロファイル」タブの「実行後バッチ」で選べばできるようになります。

  8. pag より:

    GUIではD&Dでエンコードできるのですが、batファイルにD&Dすると
    サーバ開始しました
    クライアントと接続
    クライアントとの接続が切れました
    と出てしまい、エンコードできないのですが何が問題と考えられるでしょうか?
    コメントの別の方の解決策や、掲示板をみて試したのですが、改善しませんでした。

    • thtsf より:

      「クライアントとの接続が切れました」は正常なメッセージです。
      AmatsukazeServerのログに「エンコード開始: ~」のようなメッセージはありませんか?

タイトルとURLをコピーしました