ビデオファイルを一括編集し、新しいファイルに作成日を保持します。

ビデオファイルを一括編集し、新しいファイルに作成日を保持します。

avconvを使用して、.movおよび.mp4ビデオのサイズを縮小し、すでに圧縮されているビデオ(文字列を介して存在する)をスキップするスクリプトを作成しました。スクリプトは名前にムービーの日付を入れましたが、縮小されたファイルのムービーソースの日付をプロパティとして保持することを好みましたが、これはもちろんスクリプトでは実装されていません。 Linuxコンソールを使用できますか?

#! /bin/bash
shopt -s globstar || exit
for f in **
do
  if [[ "$f" =~ \.mp4$ ]] || [[ "$f" =~ \.mov$ ]] || [[ "$f" =~ \.MOV$ ]] ; then
    if [[ "$f" =~ reduced.*\.mp4$ ]] || [[ "$f" =~ compressed.*\.mp4$ ]]; then
    echo "already compressed"
    else
      if yes |      avconv -i "$f" -c:v libx264 -crf 24 -c:a aac -strict -2 "${f%.*}_$(date -d@$(stat --printf='%Y' "$f") +%Y%m%d)"_compressed.mp4; then
      rm -Rf "$f"
      else
      rm -Rf "${f%.*}_$(date -d@$(stat --printf='%Y' "$f") +%Y%m%d)"_compressed.mp4
      echo "Command failed"
      fi
    fi
  fi
done

ベストアンサー1

はい、以下を使用してこれを実行できますtouch

else
  t="${f%.*}_$(date -d@$(stat --printf='%Y' "$f") +%Y%m%d)"_compressed.mp4
  if yes |      avconv -i "$f" -c:v libx264 -crf 24 -c:a aac -strict -2 "$t"; then
    touch -r "$f" "$t"
    rm -f "$f"
  else
    rm -f "$t"
    echo "Command failed"
  fi
fi

この-rオプションは、touch指定されたファイルがターゲットファイルに適用される時間参照として使用されることを示します。

おすすめ記事