Azure App Service(Linuxコンテナ)上のPythonアプリケーションで ffmpeg
や ffprobe
などの外部ツールを利用するには、以下のいずれかの方法でツールを準備し、Python側から呼び出す必要があります。
ffmpeg
/ ffprobe
の静的バイナリを取得
バイナリを bin/
ディレクトリなどに配置
your-app/
├── app.py
├── requirements.txt
├── bin/
│ ├── ffmpeg
│ └── ffprobe
実行権限を付ける(ローカル or デプロイ後に)
chmod +x bin/ffmpeg bin/ffprobe
Pythonコードから subprocess
経由で実行
import subprocess
result = subprocess.run(['./bin/ffmpeg', '-version'], capture_output=True, text=True)
print(result.stdout)
.gitignore
でバイナリを除外する場合は、Gitとは別に zip デプロイ等を使用
Dockerfileを作成し、ffmpegをインストール
FROM python:3.12-slim
RUN apt-get update && \\\\
apt-get install -y ffmpeg && \\\\
apt-get clean && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
Azure App Service for Containers にデプロイ
startup.sh
などのスクリプトで wget
により ffmpeg をDL・展開