Skip to content

Commit e90b1a8

Browse files
committed
Add GitHub Action to build ffmpeg dlls on demand
This GitHub Action can be triggered manually and allows building of ffmpeg dlls for usage by CUETools. - Checkout vcpkg tag 2025.06.13 commit: ef7dbf94b9198bc58f45951adcf1f041fcbc5ea0 - ffmpeg version: 7.1.1 - Build 32-bit and 64-bit ffmpeg dlls
1 parent 58d65e9 commit e90b1a8

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
name: Build ffmpeg dlls
3+
# GitHub Action to build ffmpeg dlls on demand using vcpkg
4+
# Wolfgang Stöggl <[email protected]>, 2023-2025.
5+
6+
# yamllint disable rule:line-length
7+
# yamllint disable-line rule:truthy
8+
on:
9+
# push:
10+
# tags:
11+
# - 'v*.*.*'
12+
workflow_dispatch:
13+
14+
defaults:
15+
run:
16+
shell: cmd
17+
18+
jobs:
19+
MSVC:
20+
runs-on: ${{ matrix.os }}
21+
strategy:
22+
fail-fast: false
23+
matrix:
24+
# https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md
25+
os: [windows-2022]
26+
triplet: [x64-windows, x86-windows]
27+
include:
28+
- os: windows-2022
29+
triplet: x64-windows
30+
# https://github.com/microsoft/vcpkg/commit/ef7dbf94b9198bc58f45951adcf1f041fcbc5ea0
31+
vcpkgCommitId: 'ef7dbf94b9198bc58f45951adcf1f041fcbc5ea0'
32+
vcpkgPackages: 'ffmpeg'
33+
configuration: 'x64'
34+
pluginDir: 'x64'
35+
- os: windows-2022
36+
triplet: x86-windows
37+
vcpkgCommitId: 'ef7dbf94b9198bc58f45951adcf1f041fcbc5ea0'
38+
vcpkgPackages: 'ffmpeg'
39+
configuration: 'x86'
40+
pluginDir: 'win32'
41+
env:
42+
buildDir: '${{ github.workspace }}/build/'
43+
ffmpegVer: '7.1.1'
44+
steps:
45+
- uses: actions/checkout@v4
46+
with:
47+
submodules: true
48+
- name: Install vcpkg and build packages
49+
# Download and build vcpkg.
50+
uses: lukka/run-vcpkg@v7
51+
with:
52+
setupOnly: false
53+
doNotCache: true
54+
# Location of vcpkg in the Git repository.
55+
vcpkgDirectory: '${{ github.workspace }}/vcpkg'
56+
vcpkgGitCommitId: '${{ matrix.vcpkgCommitId}}'
57+
vcpkgTriplet: ${{ matrix.triplet }}
58+
vcpkgArguments: '${{ matrix.vcpkgPackages }}'
59+
- name: Collect files
60+
run: |
61+
# ffmpeg dlls: avcodec, avdevice, avfilter, avformat, avutil
62+
xcopy /Y /D vcpkg\installed\${{ matrix.triplet }}\bin\av*.dll deploy\plugins\${{ matrix.pluginDir }}\
63+
# ffmpeg dlls: swresample, swscale
64+
xcopy /Y /D vcpkg\installed\${{ matrix.triplet }}\bin\sw*.dll deploy\plugins\${{ matrix.pluginDir }}\
65+
- uses: actions/upload-artifact@v4
66+
with:
67+
name: ffmpeg_${{ env.ffmpegVer }}_dlls_${{ matrix.pluginDir }}
68+
path: deploy/

0 commit comments

Comments
 (0)