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

コメント

  1. hbc より:

    QueueThreadがエラー終了しました例外: オブジェクト参照がオブジェクト インスタンス
    に設定されていません。
    というエラーっぽいものが出てできません…

  2. hbc より:

    はい 書き換えてあります

  3. hbc より:

    いやーそれがうまくできないんですよ

  4. hbc より:

    D&Dされたファイルのフォルダーを指定する方法が分かりません

    • thtsf より:

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

      • hbc より:

        ありがとうございます
        明日試してみます

        • thtsf より:

          了解です。

          • hbc より:

            うまくいきませんでした
            原因は出力パスの最後に\がついているとダメみたいです

          • 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%"にしていることです。

  5. hbc より:

    これでできますね
    すみませんがEDCB版って作れるんですか?
    $FolderPath$から最後の\を消す感じで

  6. hbc より:

    エンコード後自動でTS削除ってできますか?

    • thtsf より:

      できると思います。

      • hbc より:

        バッチファイルでですか?

        • thtsf より:

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

        • thtsf より:

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

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

            すみません さっきの”%dir:~0,-1%”でD&Dするとパスが途中までしか入力されなかったり一部パスがおかしなことになります

          • 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
  7. hbc より:

    そのバッチファイルでもダメですね
    原因はファイル名にスペースが入っているとパスが途切れます

    • thtsf より:

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

  8. hbc より:

    del “%~dp1succeeded\%~n1.ts”
    をshiftの上に書いたんですがTSが消えません

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