github 工作流自动编译 ffmpeg for windows on arm

github 工作流自动编译 ffmpeg for windows on arm

利用:IsaacShelton/update-existing-release
https://github.com/IsaacShelton/update-existing-release

参考:https://github.com/dvhh/ffmpeg-wos-arm64-build

这个是我修改的仓库,需要的朋友自取:
https://github.com/wmx-github/ffmpeg-wos-arm64-build

使用:

1 先创建一个release 和tag

我这里release是 v6.1 tag是v6.1

2 把库文件都打包在一起

修改:

yaml 复制代码
name: Build

on:
  push:
  workflow_dispatch:
  schedule:
    - cron: 0 0 * * 1

jobs:
  build:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest
    container:
      image: mstorsjo/llvm-mingw:20230614
    steps:
      - uses: actions/checkout@v3
        with:
          repository: libsdl-org/SDL
          path: sdl
          ref: SDL2
      - name: build-sdl
        run: |
          echo ${{ github.workspace }}
          mkdir -p ${{ github.workspace }}/local
          mkdir build
          cd build
          ../sdl/configure --host=aarch64-w64-mingw32 --prefix=${{ github.workspace }}/local
          make -j16
          make install
      - name: build x264
        run: |
          git clone --depth=1 https://code.videolan.org/videolan/x264.git x264
          cd x264
          export PKG_CONFIG_LIBDIR=${{ github.workspace }}/local/lib/pkgconfig
          ./configure --host=aarch64-w64-mingw32 --prefix=${{ github.workspace }}/local --enable-pic --extra-cflags="-mfpu=neon" --cross-prefix=aarch64-w64-mingw32- --enable-shared --enable-static
          make -j16
          make install
      - uses: actions/checkout@v3 
      - uses: actions/checkout@v3 
        with:
          repository: FFmpeg/FFmpeg
          path: ffmpeg
          ref: release/6.1
      - name: build ffmpeg
        run: |
          # /opt/llvm-mingw/aarch64-w64-mingw32/
          # ln -s ${{ github.workspace }}/local/bin/sdl2-config ${{ github.workspace }}/local/bin/aarch64-w64-mingw32-sdl2-config
          # chmod +x ${{ github.workspace }}/local/bin/sdl2-config ${{ github.workspace }}/local/bin/aarch64-w64-mingw32-sdl2-config
          # export PATH=$PATH:${{ github.workspace }}/local/bin

          # do not work check : https://trac.ffmpeg.org/wiki/HWAccelIntro#DXVA2
          # might need more than that
          # curl https://download.videolan.org/pub/contrib/dxva2api.h -o /opt/llvm-mingw/aarch64-w64-mingw32/include/dxva2api.h
          
          cd ffmpeg
          export PKG_CONFIG_LIBDIR=${{ github.workspace }}/local/lib/pkgconfig
          ./configure --pkg-config=/usr/bin/x86_64-pc-linux-gnu-pkg-config --pkgconfigdir=${{ github.workspace }}/local/lib/pkgconfig --cross-prefix=aarch64-w64-mingw32- --arch=arm64 --target-os=mingw32 --enable-sdl --disable-doc --prefix=${{ github.workspace }}/local --disable-static --enable-shared --enable-libx264 --enable-gpl --enable-nonfree
          
          make -j16
          make install
      - name: archive
        run: |
          mkdir output
          readlink -f output
          cp -r ${{ github.workspace }}/local  output
          # tar cfz all.tar.gz ${{ github.workspace }}/local/bin
          cd output
          zip -r -D ../ffmpeg-wos-arm64.zip .
      - name: Update existing release
        uses: IsaacShelton/update-existing-release@v1.3.4
        with:
          token: ${{secrets.GITHUB_TOKEN}}
          release: "v6.1"
          tag: "v6.1"
          replace: true
          files: >
            ffmpeg-wos-arm64.zip
相关推荐
zzqssliu6 小时前
煤炉自动代拍系统的队列设计与超时控制机制
git·github
fthux8 小时前
“装闭”,让装修套路“装”不下去
人工智能·ai·开源·github·open source
用户849137175471611 小时前
想做护眼工具却脑子一片空白?我用 OpenSpec 把模糊想法聊成了 v0.1
github·vibecoding
wangruofeng12 小时前
git-filter-repo 把 .git 从 112MB 砍到 1.4MB,但漏推 tag 让 clone 又胖回来
github·devops
峰向AI12 小时前
Block 放出大招!Buzz:一个中继统一代码、聊天、CI 全流程
github
dong_junshuai13 小时前
每天一个开源项目#47 4.4K Stars 的 LikeC4:让架构图随代码进化
github
糖果店的幽灵13 小时前
langgraph的 MessagesState 解读
java·开发语言·人工智能·windows·langgraph
骑上单车去旅行14 小时前
MD5校验对比脚本
linux·服务器·windows
独立开阀者_FwtCoder15 小时前
最近做了一个健身小程序:智形健身助手,健身的佬们来提点意见
前端·javascript·github
FreeBuf_16 小时前
Windows NT OS内核提权漏洞PoC已公开
windows