FFmpeg セットアップ — Win 11 WSL(Ubuntu) 対応

Programming

最近 Sora2 関連などFFmepgを利用するツールをちょくちょく作るようになりました。配布にあたり今更ながらwingetが一番楽だったのでメモしておきます。Python 向けの注意点含みます。


1. FFpeg

FFmpeg は動画・音声の変換や結合、サムネイル抽出などを行うツールです。
Sora2 ツールでは、生成した動画フレームを mp4 に変換する後処理で使用します。


2. Windows 11 側でのインストール

Windows 11 には winget(Windows Package Manager)が標準搭載されています。
Linux の apt と同様に CLI でソフトを導入できます。

インストール確認

winget --version

出力例:

v1.7.11261

もし認識されない場合は、Microsoft Store で 「App Installer」 を更新してください。

App Installer マイクロソフトサイト

アプリ インストーラーをインストールして更新する - MSIX
アプリ インストーラーをインストールして更新する方法

FFmpeg のインストール

winget install ffmpeg

インストール後、次のコマンドで確認:

ffmpeg -version

出力例:

ffmpeg version 6.1.1-full_build-www.gyan.dev Copyright ...

ffmepgの更新・アンインストール(Win11)

# 更新
winget upgrade ffmpeg

# アンインストール
winget uninstall ffmpeg

インストール先

通常は以下のパスに配置されます:

C:Program Filesffmpegbin

3. WSL (Ubuntu) 側でのインストール

WSL 上では Linux 版 FFmpeg を利用します。
Windows 版を流用する必要も、再ビルドする必要もありません。

標準リポジトリからインストール

sudo apt update
sudo apt install ffmpeg

確認:

ffmpeg -version

出力例:

ffmpeg version 6.0-2ubuntu1 Copyright ...
built with gcc 13.2.0 (Ubuntu 13.2.0-4ubuntu2)

最新版を使いたい場合(static build)

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
tar -xJf ffmpeg-release-amd64-static.tar.xz
sudo mv ffmpeg-*-amd64-static/ffmpeg /usr/local/bin/
sudo mv ffmpeg-*-amd64-static/ffprobe /usr/local/bin/

これで最新版を /usr/local/bin/ffmpeg に配置できます。


4. 実行環境ごとの使い分け

項目Windows 11WSL (Ubuntu)
管理方法winget / chocolateyapt / static build
バイナリ形式.exe (PE)ELF (Linux)
パス例C:Program Filesffmpegbinffmpeg.exe/usr/bin/ffmpeg
利用用途Windows ネイティブ CLI, PyInstaller バイナリWSL 上の Python / CLI
相互利用非推奨(/mnt 経由は遅い)各環境内で完結させる

5. Python からの確認

import shutil
print(shutil.which("ffmpeg"))

出力例:

/usr/bin/ffmpeg

または Windows では:

C:Program Filesffmpegbinffmpeg.exe

この確認ができれば、subprocess.run() から正常に利用できます。


6. PyInstaller 配布時の方針

PyInstaller バイナリには FFmpeg を同梱しない方が安全です。
実行時に PATH 検出を行い、見つからない場合は明示的にエラーを表示します。

例(CLI エラーメッセージ):

FFmpeg が見つかりません。
Ubuntu 環境では次のコマンドでインストールしてください:
  sudo apt install ffmpeg
Windows では:
  winget install ffmpeg

7. トラブルシューティング

症状原因対処
E: Unable to locate package ffmepgタイプミス(ffmpeg のスペル誤り)sudo apt install ffmpeg に修正
ffmpeg: command not foundPATH に通っていないwhich ffmpeg で場所を確認
Windows で ffmpeg が動かないPATH 未設定winget インストールで自動登録される
WSL から Windows ffmpeg.exe を呼ぶパス構文不一致各 OS 環境のバイナリを使用

参考情報

コメント

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