roc-streaming / roc-toolkit

Real-time audio streaming over the network.
https://roc-streaming.org
Mozilla Public License 2.0
1.03k stars 205 forks source link

Add FFmpeg to build scripts #573

Open gavv opened 9 months ago

gavv commented 9 months ago

This issue will allow us to implement #568.

We need to modify build scripts (scons and build-3rdparty.py) to support using FFmpeg from system or automatically building it.

Steps:

We recently did very similar work for OpenSSL. Here are related commits:

And here is related documentation:

gavv commented 9 months ago

Here are configure options to build FFmpeg in build-3rdparty.py. These options will give us minimal FFmpeg build with all dependencies disabled.

      --disable-alsa
      --disable-amf
      --disable-asm
      --disable-avdevice
      --disable-avfilter
      --disable-bzlib
      --disable-cuda-llvm
      --disable-cuvid
      --disable-dct
      --disable-doc
      --disable-dwt
      --disable-error-resilience
      --disable-faan
      --disable-ffnvcodec
      --disable-fft
      --disable-iconv
      --disable-libmp3lame
      --disable-libxcb
      --disable-lsp
      --disable-lzma
      --disable-mdct
      --disable-network
      --disable-nvdec
      --disable-nvenc
      --disable-pixelutils
      --disable-postproc
      --disable-programs
      --disable-rdft
      --disable-schannel
      --disable-sdl2
      --disable-securetransport
      --disable-sndio
      --disable-static
      --disable-stripping
      --disable-swscale
      --disable-v4l2-m2m
      --disable-vaapi
      --disable-vdpau
      --disable-videotoolbox
      --disable-vulkan
      --disable-x86asm
      --disable-xlib
      --disable-zlib