📽️
Windows11のWSLでffmpegを使ってGPUで動画をリサイズする
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を使うものに絞りたいのでgrep
でnvenc
を含むものだけを表示します。
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