From 1b9faf70f55446f893caa8a9e6ace44012e5171f Mon Sep 17 00:00:00 2001 From: Xiao YiFang Date: Sat, 12 Nov 2022 13:38:46 +0800 Subject: [PATCH] add ffmpeg build --- .github/workflows/ffmpeg-macos-build.yml | 223 +++++++++++++++++++++++ 1 file changed, 223 insertions(+) create mode 100644 .github/workflows/ffmpeg-macos-build.yml diff --git a/.github/workflows/ffmpeg-macos-build.yml b/.github/workflows/ffmpeg-macos-build.yml new file mode 100644 index 00000000..79db44fd --- /dev/null +++ b/.github/workflows/ffmpeg-macos-build.yml @@ -0,0 +1,223 @@ +name: ffmpeg-macos-build +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +on: + workflow_dispatch: + +jobs: + build: + name: Build + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [macos-12] + + steps: + # macos 11.0 默认环境变了,要指定 + - name: prepare env + if: ${{ matrix.os == 'macos-11' }} + run: | + softwareupdate --all --install --force + sudo xcode-select --print-path + sudo xcode-select --switch /Library/Developer/CommandLineTools + + - name: build ffmpeg + run: | + mkdir build + brew install automake fdk-aac git lame libass libtool libvorbis libvpx opus sdl shtool texi2html theora wget x264 x265 xvid nasm + brew install speex + git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg + cd ffmpeg + ./configure --prefix=../build/ \ + --enable-shared \ + --disable-static \ + --disable-debug \ + --disable-programs \ + --disable-network \ + --disable-avdevice \ + --disable-avfilter \ + --disable-swscale \ + --disable-network \ + --disable-muxers \ + --disable-demuxers \ + --enable-rdft \ + --enable-demuxer=aac \ + --enable-demuxer=ac3 \ + --enable-demuxer=aiff \ + --enable-demuxer=ape \ + --enable-demuxer=asf \ + --enable-demuxer=flac \ + --enable-demuxer=matroska \ + --enable-demuxer=mp3 \ + --enable-demuxer=mpc \ + --enable-demuxer=mov \ + --enable-demuxer=mpc8 \ + --enable-demuxer=ogg \ + --enable-demuxer=tta \ + --enable-demuxer=wav \ + --enable-demuxer=wv \ + --disable-bsfs \ + --disable-filters \ + --disable-parsers \ + --enable-parser=aac \ + --enable-parser=ac3 \ + --enable-parser=mpegaudio \ + --disable-protocols \ + --disable-indevs \ + --disable-outdevs \ + --disable-encoders \ + --disable-decoders \ + --enable-decoder=eightsvx_exp \ + --enable-decoder=eightsvx_fib \ + --enable-decoder=aac \ + --enable-decoder=aac_latm \ + --enable-decoder=ac3 \ + --enable-decoder=adpcm_4xm \ + --enable-decoder=adpcm_adx \ + --enable-decoder=adpcm_afc \ + --enable-decoder=adpcm_ct \ + --enable-decoder=adpcm_ea \ + --enable-decoder=adpcm_ea_maxis_xa \ + --enable-decoder=adpcm_ea_r1 \ + --enable-decoder=adpcm_ea_r2 \ + --enable-decoder=adpcm_ea_r3 \ + --enable-decoder=adpcm_ea_xas \ + --enable-decoder=adpcm_g722 \ + --enable-decoder=adpcm_g726 \ + --enable-decoder=adpcm_ima_amv \ + --enable-decoder=adpcm_ima_apc \ + --enable-decoder=adpcm_ima_dk3 \ + --enable-decoder=adpcm_ima_dk4 \ + --enable-decoder=adpcm_ima_ea_eacs \ + --enable-decoder=adpcm_ima_ea_sead \ + --enable-decoder=adpcm_ima_iss \ + --enable-decoder=adpcm_ima_oki \ + --enable-decoder=adpcm_ima_qt \ + --enable-decoder=adpcm_ima_smjpeg \ + --enable-decoder=adpcm_ima_wav \ + --enable-decoder=adpcm_ima_ws \ + --enable-decoder=adpcm_ms \ + --enable-decoder=adpcm_sbpro_2 \ + --enable-decoder=adpcm_sbpro_3 \ + --enable-decoder=adpcm_sbpro_4 \ + --enable-decoder=adpcm_swf \ + --enable-decoder=adpcm_thp \ + --enable-decoder=adpcm_xa \ + --enable-decoder=adpcm_yamaha \ + --enable-decoder=alac \ + --enable-decoder=amrnb \ + --enable-decoder=libopencore_amrnb \ + --enable-decoder=amrwb \ + --enable-decoder=libopencore_amrwb \ + --enable-decoder=ape \ + --enable-decoder=atrac1 \ + --enable-decoder=atrac3 \ + --enable-decoder=binkaudio_dct \ + --enable-decoder=binkaudio_rdft \ + --enable-decoder=bmv_audio \ + --enable-decoder=comfortnoise \ + --enable-decoder=cook \ + --enable-decoder=dsicinaudio \ + --enable-decoder=dca \ + --enable-decoder=eac3 \ + --enable-decoder=flac \ + --enable-decoder=g723_1 \ + --enable-decoder=g729 \ + --enable-decoder=gsm \ + --enable-decoder=libgsm \ + --enable-decoder=gsm_ms \ + --enable-decoder=libgsm_ms \ + --enable-decoder=iac \ + --enable-decoder=imc \ + --enable-decoder=interplay_dpcm \ + --enable-decoder=mace3 \ + --enable-decoder=mace6 \ + --enable-decoder=mlp \ + --enable-decoder=mp1 \ + --enable-decoder=mp1float \ + --enable-decoder=mp2 \ + --enable-decoder=mp2float \ + --enable-decoder=mp3 \ + --enable-decoder=mp3float \ + --enable-decoder=mp3adu \ + --enable-decoder=mp3adufloat \ + --enable-decoder=mp3on4 \ + --enable-decoder=mp3on4float \ + --enable-decoder=als \ + --enable-decoder=mpc7 \ + --enable-decoder=mpc8 \ + --enable-decoder=nellymoser \ + --enable-decoder=libopus \ + --enable-decoder=paf_audio \ + --enable-decoder=pcm_alaw \ + --enable-decoder=pcm_bluray \ + --enable-decoder=pcm_dvd \ + --enable-decoder=pcm_f32be \ + --enable-decoder=pcm_f32le \ + --enable-decoder=pcm_f64be \ + --enable-decoder=pcm_f64le \ + --enable-decoder=pcm_lxf \ + --enable-decoder=pcm_mulaw \ + --enable-decoder=pcm_s16be \ + --enable-decoder=pcm_s16be_planar \ + --enable-decoder=pcm_s16le \ + --enable-decoder=pcm_s16le_planar \ + --enable-decoder=pcm_s24be \ + --enable-decoder=pcm_s24daud \ + --enable-decoder=pcm_s24le \ + --enable-decoder=pcm_s24le_planar \ + --enable-decoder=pcm_s32be \ + --enable-decoder=pcm_s32le \ + --enable-decoder=pcm_s32le_planar \ + --enable-decoder=pcm_s8 \ + --enable-decoder=pcm_s8_planar \ + --enable-decoder=pcm_u16be \ + --enable-decoder=pcm_u16le \ + --enable-decoder=pcm_u24be \ + --enable-decoder=pcm_u24le \ + --enable-decoder=pcm_u32be \ + --enable-decoder=pcm_u32le \ + --enable-decoder=pcm_u8 \ + --enable-decoder=pcm_zork \ + --enable-decoder=qcelp \ + --enable-decoder=qdm2 \ + --enable-decoder=ra_144 \ + --enable-decoder=ra_288 \ + --enable-decoder=ralf \ + --enable-decoder=roq_dpcm \ + --enable-decoder=s302m \ + --enable-decoder=shorten \ + --enable-decoder=sipr \ + --enable-decoder=smackaud \ + --enable-decoder=sol_dpcm \ + --enable-decoder=sonic \ + --enable-decoder=libspeex \ + --enable-decoder=tak \ + --enable-decoder=truehd \ + --enable-decoder=truespeech \ + --enable-decoder=tta \ + --enable-decoder=twinvq \ + --enable-decoder=vima \ + --enable-decoder=vmdaudio \ + --enable-decoder=vorbis \ + --enable-decoder=ffwavesynth \ + --enable-decoder=wavpack \ + --enable-decoder=ws_snd1 \ + --enable-decoder=wmalossless \ + --enable-decoder=wmapro \ + --enable-decoder=wmav1 \ + --enable-decoder=wmav2 \ + --enable-decoder=wmavoice \ + --enable-decoder=xan_dpcm \ + --enable-libspeex + make + sudo make install + + ls -al ../build + # otool -L build/*.dylib + + # - uses: actions/upload-artifact@v2 + # with: + # name: build + # path: build/* \ No newline at end of file