📽️

Windows11のWSLでffmpegを使ってGPUで動画をリサイズする

2024/02/29に公開

WSLをインストール

WSLインストール

Windows PowerShellを起動して以下のコマンドを入力します

wsl --install

インストール後、再起動してください

ビデオへのシンボリックリンクを貼る

WSLからWindows側のファイルは/mnt/c/以下に確認できます。通常、動画ファイルはビデオとかに保存していると思うので、WSLからアクセスするには/mnt/c/Users/username/Videosとかになります。長くて面倒なので、シンボリックリンクを作成すると楽になります。

WSLでシンボリックリンクを作成する

ln -s /mnt/c/Users/username/Videos ./

ffmpegをインストール

aptで入れます

sudo apt update
sudo apt install ffmpeg

ffmpegを使ってGPUで動画をリサイズする

GPUで使えるコーデックの確認

ffmpeg -codecsで使えるコーデックを確認できます。GPUを使うものに絞りたいのでgrepnvencを含むものだけを表示します。

ffmpeg -codecs | grep nvenc

GPUを使う場合、以下のどちらかになると思います

  • h264_nvenc
  • hevc_nvenc

video.mp4を480pにリサイズする

video.mp4を480pにリサイズして、video_480p.mp4に保存します。

ffmpeg -hwaccel cuda -i video.mp4 -c:v:0 h264_nvenc -vf scale=-1:480 -c:a copy video_480p.mp4

-vf scale=width:heightでサイズを決めることができます。widthとheightのどちらかを指定して、もう一方を-1にするとアスペクト比を変えずに指定してくれます。

参考

Discussion