web-dev-qa-db-ja.com

FFmpegを再帰スキャンして静的フォルダーに出力する

FFmpegスクリプトの.batchファイルを変更してVideo.Mkvを出力し、スクリプトの同じディレクトリにある「FIXED」というフォルダーに出力するにはどうすればよいですか。

Mk Fixed
for /R %%f IN (*.mkv) do ffmpeg -i "%%f" -map 0:m:language=English? -c copy "%%~nf.MKV"

現在、メインフォルダーとサブフォルダーでMkvをスキャンし、英語のオーディオトラックのみを保持しますが、静的フォルダー「Fixed」ではなく、すべてのMkvを(スクリプトとして)同じフォルダーに出力します。

必要なことを実行する別のスクリプトがありますが、この出力を正しいフォルダーにバッチスキャンするための再帰スキャンサブフォルダーで動作させることができませんでした。

Mk Fixed
for %%a in ("*mkv*") do ffmpeg -i "%%a" -map 0:0 -c:v copy -map 0:3 -c:a copy "Fixed\%%~na".mkv

最初のスクリプトに「fixed\%% 〜nf.Mkv」を追加しようとすると、

[matroska,webm @ 0000018fb8518840] File ended prematurely

もし私がそれを(ソースからの)ディレクトリを(Destination)までのディレクトリを出力フォルダの(Destination)構造に保つことができれば、それは素晴らしいことです。

-返信スクリプトを次のように変更しました

mkdir Fixed
for /R %%f IN (*.mkv) do ffmpeg -i "%%f" -map 0:m:language=English? -c copy "Fixed\%%~nf.mkv"

これは機能しますが、サブフォルダー構造を含む出力を取得できません。

FFMpegに(サブディレクトリをスキャンして)通過させ、ビデオファイルを変換してもらいたいのですが。フォルダーストライカーをうまく維持する

私が誤って含めるべきだったより多くの情報。 O.S Windows 10 Proディレクトリ構造C:\ Users\User\Desktop\Convert(内部で変換する必要のあるファイルを含む)FFFMPEGおよびScript.Batファイルが変換が必要なファイルのプラスサブフォルダーであるフォルダー。

Example C:\Users\User\Desktop\Convert\Tv Show\Show 1\Season 1\Show.mkv
Goal C:\Users\User\Desktop\Convert\Fixed\Tv Show\Show 1\Season 1\Show.mkv 
1
restjack

必要な結果を得るためにプログラムを使用することになりました。「FFmpegBatchAV Converter」を使用すると、スクリプトを実行して、ソースフォルダーの構造体を出力ディレクトリに保持するオプションを追加できます。そのためのプログラムの右下にオプションがあります。すべての助けに感謝しますが、batファイルだけでは期待した結果が得られませんでした。 ここに画像の説明を入力してください

1
restjack