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
相关推荐
筏.k10 小时前
FFmpeg 核心 API 系列:音频重采样 SwrContext 完全指南(新API版本)
ffmpeg·音视频
是店小二呀10 小时前
远程办公自由:rdesktop+cpolar让Windows桌面随身而行
windows
油丶酸萝卜别吃11 小时前
java8中常用的工具函数
windows
先知后行。11 小时前
音视频ffmpeg
ffmpeg
绝无仅有11 小时前
面试真实经历某商银行大厂数据库MYSQL问题和答案总结(二)
后端·面试·github
绝无仅有11 小时前
通过编写修复脚本修复 Docker 启动失败(二)
后端·面试·github
Bruce_Liuxiaowei11 小时前
Win7虚拟机加入域错误排查指南:解决无法启动服务问题
运维·网络·windows·安全·网络安全
大聪明-PLUS12 小时前
从头开始为 ARM 创建 Ubuntu 映像
linux·嵌入式·arm·smarc
雨中风华15 小时前
Windows 平台 HOOK DWM 桌面管理程序,实现输出变形的桌面图像到显示器
windows·计算机外设
做咩啊~16 小时前
Windows家庭版远程时提示‘这可能是因为在远程计算机上阻止 NTLM 身份验证 这也可能是由于 CredSSP 加密 Oracle 修正所导致的。’
windows