ドラッグ&ドロップで動画を回転保存するバッチファイル

Windows

Windows上で動画を回転保存したい場合、画像ビューアの様に簡単には出来ません。何かしらの動画再生ソフトや編集ソフトを導入する方法ばかりです。。

そこでシステムに何もインストールさせずにFFmpegとバッチファイルを用いて回転保存が出来るようにします。

githubからFFmpegダウンロード

Releases · BtbN/FFmpeg-Builds
Contribute to BtbN/FFmpeg-Builds development by creating an account on GitHub.

最新のwindows版のzipをダウンロードして任意の場所に解凍します。

※別にPATHを通す必要は無いです。そのままでOK

バッチファイル作成

メモ帳で任意の角度のコードをコピペして、binフォルダ内に.bat形式で保存します。

保存する際の文字コードは ANSI または Shift_JISにして下さい。

90度回転

@echo off
setlocal enabledelayedexpansion

set INPUT_FILE=%~1
if "%INPUT_FILE%"=="" (
    echo 動画ファイルをこのバッチファイルにドラッグ&ドロップしてください。
    pause
    exit /b
)

set FILENAME=%~n1
set EXTENSION=%~x1
set OUTPUT_FILE="%~dp1!FILENAME!_rotated90!EXTENSION!"

echo !OUTPUT_FILE! を作成中...
pushd "%~dp1"
"%~dp0ffmpeg.exe" -i "%~nx1" -vf "transpose=1" "!FILENAME!_rotated90!EXTENSION!"
popd

if !errorlevel! equ 0 (
    echo.
    echo !OUTPUT_FILE! に保存しました。
) else (
    echo.
    echo エラーが発生しました。FFmpegが正しく設定されているか、動画ファイルが破損していないか確認してください。
)

pause
endlocal

180度回転

@echo off
setlocal enabledelayedexpansion

set INPUT_FILE=%~1
if "%INPUT_FILE%"=="" (
    echo 動画ファイルをこのバッチファイルにドラッグ&ドロップしてください。
    pause
    exit /b
)

set FILENAME=%~n1
set EXTENSION=%~x1
set OUTPUT_FILE="%~dp1!FILENAME!_rotated180!EXTENSION!"

echo !OUTPUT_FILE! を作成中...
pushd "%~dp1"
"%~dp0ffmpeg.exe" -i "%~nx1" -vf "transpose=2,transpose=2" "!FILENAME!_rotated180!EXTENSION!"
popd

if !errorlevel! equ 0 (
    echo.
    echo !OUTPUT_FILE! に保存しました。
) else (
    echo.
    echo エラーが発生しました。FFmpegが正しく設定されているか、動画ファイルが破損していないか確認してください。
)

pause
endlocal

270度右回転 (90度左回転)

@echo off
setlocal enabledelayedexpansion

set INPUT_FILE=%~1
if "%INPUT_FILE%"=="" (
    echo 動画ファイルをこのバッチファイルにドラッグ&ドロップしてください。
    pause
    exit /b
)

set FILENAME=%~n1
set EXTENSION=%~x1
set OUTPUT_FILE="%~dp1!FILENAME!_rotated270!EXTENSION!"

echo !OUTPUT_FILE! を作成中...
pushd "%~dp1"
"%~dp0ffmpeg.exe" -i "%~nx1" -vf "transpose=2" "!FILENAME!_rotated270!EXTENSION!"
popd

if !errorlevel! equ 0 (
    echo.
    echo !OUTPUT_FILE! に保存しました。
) else (
    echo.
    echo エラーが発生しました。FFmpegが正しく設定されているか、動画ファイルが破損していないか確認してください。
)

pause
endlocal

左右反転

@echo off
setlocal enabledelayedexpansion

set INPUT_FILE=%~1
if "%INPUT_FILE%"=="" (
    echo 動画ファイルをこのバッチファイルにドラッグ&ドロップしてください。
    pause
    exit /b
)

set FILENAME=%~n1
set EXTENSION=%~x1
set OUTPUT_FILE="%~dp1!FILENAME!_flipped_h!EXTENSION!"

echo !OUTPUT_FILE! を作成中...
pushd "%~dp1"
"%~dp0ffmpeg.exe" -i "%~nx1" -vf "hflip" "!FILENAME!_flipped_h!EXTENSION!"
popd

if !errorlevel! equ 0 (
    echo.
    echo !OUTPUT_FILE! に保存しました。
) else (
    echo.
    echo エラーが発生しました。FFmpegが正しく設定されているか、動画ファイルが破損していないか確認してください。
)

pause
endlocal

上下反転

@echo off
setlocal enabledelayedexpansion

set INPUT_FILE=%~1
if "%INPUT_FILE%"=="" (
    echo 動画ファイルをこのバッチファイルにドラッグ&ドロップしてください。
    pause
    exit /b
)

set FILENAME=%~n1
set EXTENSION=%~x1
set OUTPUT_FILE="%~dp1!FILENAME!_flipped_v!EXTENSION!"

echo !OUTPUT_FILE! を作成中...
pushd "%~dp1"
"%~dp0ffmpeg.exe" -i "%~nx1" -vf "vflip" "!FILENAME!_flipped_v!EXTENSION!"
popd

if !errorlevel! equ 0 (
    echo.
    echo !OUTPUT_FILE! に保存しました。
) else (
    echo.
    echo エラーが発生しました。FFmpegが正しく設定されているか、動画ファイルが破損していないか確認してください。
)

pause
endlocal

実行

後はmp4などをバッチファイルにドラッグ&ドロップします。

完了後、同フォルダ内に保存されます。

コメント

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