NASに保存されたまま何年も放置された動画ファイルが無駄に容量を喰っているのが気掛かりだったので、整理することにしました。
サクッと視聴して削除…と行きたところですが、大半が「WMV」形式なのでスマホやテレビで見ることが出来ずなにかと不便そうなので汎用性のある「MP4(H.264/AAC)」に一括変換。
動画の変換にはこれまで「Handbrake」を利用していましたが、最近は「VLC Media Player」がお気に入り。動画再生ソフトとして知られる同ソフトですが、意外に使える変換機能を有しており最適なビットレートがよく分からない…といった場合にも画質の劣化とファイルサイズを最小限に抑えた自動設定を行ってくれるので大変便利です。
ただ、GUIからの操作では複数ファイルの一括変換が出来ないようなので、下記のようなバッチファイルを作って対処。
@echo off
setlocal enabledelayedexpansion
for %%f in (%*) do (
call :DUPCHECK %%f
echo ^(IN^) %%~nxf ^(OUT^) !file!
"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" -vvv "%%~f" --sout-avcodec-strict=-2 --qt-start-minimized --sout=#transcode{acodec=mp4a,ab=128,channels=2,samplerate=44100,vcodec=h264,deinterlace}:standard{access=file,mux=mp4,dst="!file!"} vlc://quit
)
pause
exit
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:DUPCHECK
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
for /L %%i in (0,1,10) do (
if %%i equ 0 (
set file=%~n1.mp4
) else (
set file=%~n1 ^(%%i^).mp4
)
if not exist !file! exit /b
)
exit /b
バッチファイル上に変換したい動画ファイルをまとめてドラッグ&ドロップするだけでMP4ファイルの出来上がり。VLCで再生可能なファイル形式であればWMV以外にも広く対応可能です。
ちょっとだけ技術的な補足
上記バッチでは、VLC Media PlayerのGUIが都度々々起動して処理が行われるので、変換状況はそちらで確認出来ます。
「-I Dummy」オプションを付けるとコマンドラインだけに閉じた処理が行えるのですが、どうもGUIとCUIで変換処理が異なるらしく左記オプションが付くと途中で処理がコケたり音声のないファイルが出来上がるケースがあったので外してます。