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
相关推荐
穆梓兰煊3 小时前
Rust 重写 AI 基础设施的工程逻辑
github
邱杰4703 小时前
数智人事系统(三):Spring Boot 3.4 骨架与配置分层
github
bbq烤鸡5 小时前
Win11 资源管理器“白条“修复报告
windows
空空dream5 小时前
Github | 初始化空白仓库到首次推送
github
10mAh5 小时前
【Java】ArrayList 遍历删除为什么报错?三种写法与漏删复现
java·开发语言·windows
高频因子挖掘机6 小时前
A股分钟K线数据占内存:先缩小请求范围,还是换 DataFrame 工具?
后端·github·api
gscsded7 小时前
MCUboot裸机移植实战
单片机·嵌入式硬件·arm
想喝奶茶啾啾8 小时前
AMBA CHI架构以及规范中使用的术语 翻译笔记(1)
笔记·arm·chi
miofly8 小时前
Karpathy:75%人口未接触LLM,约5000人可用的内部系统已让数千智能体协作数周
开源·github