入れ子になったディレクトリから各MP4フレームからJPGを抽出し、MP4ディレクトリにJPGを残します。

入れ子になったディレクトリから各MP4フレームからJPGを抽出し、MP4ディレクトリにJPGを残します。

各ファイルのディレクトリを作成し、ファイルをそのディレクトリに移動するスクリプトがあります。

#!/bin/bash
for file in *; do
  if [[ -f "$file" ]]; then
    mkdir "${file%.*}"
    mv "$file" "${file%.*}"
  fi
done

これで、そのディレクトリ(すべてのMP4)にあるすべてのファイルに「アクセス」してから、ffmpegを使用して各フレームでJPGを作成し、そのディレクトリにJPGを残す必要があります。

MP4を使用してJPGを作成します。

ffmpeg -i FILENAME.mp4 -y -f image2 -c:v mjpeg %03d.jpg

抽出されたJPGが関連MP4ディレクトリに表示されることを確認する方法がわかりません。以前のffmpeg抽出を適用すると、JPGはより高いレベルのディレクトリに入るようです。

答え1

ffmpeg出力ディレクトリ自体を指定できない場合は、サブシェルを使用して目的のディレクトリで実行できます。

( cd $directory && ffmpeg ... )

答え2

貴重なアドバイスありがとうございます。

ffmpeg自体に出力ディレクトリを指定できない場合は、サブシェルを使用して目的のディレクトリで実行します(例:cd $directory&&ffmpeg ...)。

これは意味があります。 $directoryを問題の正しいディレクトリに設定する方法がわかりません。

また、ffmpegが完了した後に以前のディレクトリに戻る方法もわかりません。これは、「cd..」と比較してツリーの巡回が複雑すぎる可能性があるためです。

皆様の情熱的なお世話にもよろしくお願いします。エリック

関連情報