Microsoft AzureにデプロイしたPythonのプログラムから ffmpegやffprobeなどのツールを利用するにはどのようにすればよいですか?

Azure App Service(Linuxコンテナ)上のPythonアプリケーションで ffmpegffprobe などの外部ツールを利用するには、以下のいずれかの方法でツールを準備し、Python側から呼び出す必要があります。


✅ 方法1: App Service にバイナリを一緒にデプロイする(推奨)

手順:

  1. ffmpeg / ffprobe の静的バイナリを取得

  2. バイナリを bin/ ディレクトリなどに配置

    your-app/
    ├── app.py
    ├── requirements.txt
    ├── bin/
    │   ├── ffmpeg
    │   └── ffprobe
    
    
  3. 実行権限を付ける(ローカル or デプロイ後に)

    chmod +x bin/ffmpeg bin/ffprobe
    
    
  4. Pythonコードから subprocess 経由で実行

    import subprocess
    
    result = subprocess.run(['./bin/ffmpeg', '-version'], capture_output=True, text=True)
    print(result.stdout)
    
    
  5. .gitignore でバイナリを除外する場合は、Gitとは別に zip デプロイ等を使用


✅ 方法2: カスタムDockerコンテナで ffmpeg を含める

  1. 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"]
    
    
  2. Azure App Service for Containers にデプロイ


✅ 方法3: スタートアップスクリプトで動的にffmpegをDLして展開(非推奨)


🔧 注意点(App Service Linux)