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などをバッチファイルにドラッグ&ドロップします。
完了後、同フォルダ内に保存されます。

コメント