用docker-compose編譯ffmpeg

用docker-compose編譯ffmpeg


ffmpeg官方網站有提供ffmpeg的編譯方法,是static的版本,不過編譯時會報錯,做些微調後我放上github了

之前有Ubuntu 16.04編譯ffmpeg的經驗,所以docker的基底就用Ubuntu,不過編譯測試時遭遇無法使用compose進入ubuntu bash的問題,花了一些時間來繞過它。

主要使用官方build指令,調整項在下面:
  1. 因為想用docker-compose設定掛載source和output的路徑,所以只好把跑build script的部份也放到compose裡頭
  2. 因為docker內沒有辦法跑GUI所以我把ffplay的相依性拿掉,不過是有註解放在dockerfile內的
    libsdl2-dev libva-dev libvdpau-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev
  3. 另外有一些相依性是沒辦法static build的我就先把它拿掉了
    libass-dev l libx265-dev libnuma-dev libfdk-aac-dev librtmp-dev libxml2-dev
  4. 還有一個ssl部份的調整
    因為官方寫--enable-gnutls需要的套件沒有辦法static build,所以我換成--enable-openssl
    相依套件就從原本的libgnutls28-dev,變成libssl-dev
  5. config時拿掉產生doc和debug
    --disable-doc --disable-debug
  6. 編譯時使用多核心
    make -j$(nproc)

留言