ffmpegでスライドショーにするとき画像のサイズが奇数だとエラーがおきるときがあります。再現性未チェック。偶数サイズに一括返還するためのスクリプトです
コマンド モードで XnConvert を使用して画像のサイズを変更できます。XnConvert は強力なバッチ画像コンバーターおよびサイズ変更ツールです。以下は、バッチ スクリプトを使用して XnConvert で奇数次元の画像を偶数次元にサイズ変更する方法の例です。
まず、XnConvert がインストールされており、コマンド ラインからアクセスできることを確認します。
XnConvert を使用して画像のサイズを変更する PowerShell スクリプトは次のとおりです。
# 画像のリストを取得
$imageFiles = Get-ChildItem -Filter *.jpg
# XnConvertのパスを指定
$xnconvertPath = "C:\Path\To\XnConvert\xnconvert.exe"
# 画像のリサイズ
foreach ($image in $imageFiles) {
# 画像のサイズを取得
$size = ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=p=0:s=x $image.FullName
$width, $height = $size -split "x"
# 幅と高さが奇数の場合は偶数にリサイズ
if ($width % 2 -ne 0) { $width++ }
if ($height % 2 -ne 0) { $height++ }
# XnConvertコマンドを実行して画像をリサイズ
& $xnconvertPath -in "$($image.FullName)" -out "$($image.FullName)" -resize $width $height
}
Write-Output "All images have been checked and resized if necessary."
このスクリプトは、ディレクトリ内のすべてのJPEG画像ファイルをチェックし、幅または高さが奇数の場合は偶数にリサイズして上書きします。$xnconvertPath
をXnConvertの実際のパスに置き換えてください。