mirror of
https://github.com/linuxserver/docker-ffmpeg.git
synced 2026-02-20 04:56:23 +08:00
Merge pull request #91 from linuxserver/7.1
Bump ffmpeg, fribidi and harfbuzz, add support for libvvenc (amd64) and liblc3
This commit is contained in:
commit
73c4f3a8b8
4
.github/workflows/external_trigger.yml
vendored
4
.github/workflows/external_trigger.yml
vendored
@ -15,7 +15,7 @@ jobs:
|
||||
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
|
||||
run: |
|
||||
printf "# External trigger for docker-ffmpeg\n\n" >> $GITHUB_STEP_SUMMARY
|
||||
if grep -wq "^ffmpeg_master$" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
if grep -q "^ffmpeg_master" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`ffmpeg_master\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||
exit 0
|
||||
@ -23,7 +23,7 @@ jobs:
|
||||
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> External trigger running off of master branch. To disable this trigger, add \`ffmpeg_master\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
|
||||
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
|
||||
EXT_RELEASE=$(echo 7.0.2-cli)
|
||||
EXT_RELEASE=$(echo 7.1-cli)
|
||||
echo "Type is \`custom_version_command\`" >> $GITHUB_STEP_SUMMARY
|
||||
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
|
||||
@ -33,7 +33,7 @@ jobs:
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Skipping branch ${br} due to \`skip_package_check\` being set in \`jenkins-vars.yml\`." >> $GITHUB_STEP_SUMMARY
|
||||
skipped_branches="${skipped_branches}${br} "
|
||||
elif grep -wq "^ffmpeg_${br}$" <<< "${SKIP_PACKAGE_TRIGGER}"; then
|
||||
elif grep -q "^ffmpeg_${br}" <<< "${SKIP_PACKAGE_TRIGGER}"; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Github organizational variable \`SKIP_PACKAGE_TRIGGER\` contains \`ffmpeg_${br}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||
skipped_branches="${skipped_branches}${br} "
|
||||
|
||||
39
Dockerfile
39
Dockerfile
@ -16,12 +16,12 @@ ENV \
|
||||
ENV \
|
||||
AOM=v3.10.0 \
|
||||
FDKAAC=2.0.3 \
|
||||
FFMPEG_HARD=7.0.2 \
|
||||
FFMPEG_HARD=7.1 \
|
||||
FONTCONFIG=2.15.0 \
|
||||
FREETYPE=2.13.3 \
|
||||
FRIBIDI=1.0.15 \
|
||||
FRIBIDI=1.0.16 \
|
||||
GMMLIB=22.3.20 \
|
||||
HARFBUZZ=10.0.0 \
|
||||
HARFBUZZ=10.0.1 \
|
||||
IHD=24.2.5 \
|
||||
KVAZAAR=2.3.1 \
|
||||
LAME=3.100 \
|
||||
@ -30,6 +30,7 @@ ENV \
|
||||
LIBDOVI=2.1.2 \
|
||||
LIBDRM=2.4.123 \
|
||||
LIBGL=1.7.0 \
|
||||
LIBLC3=1.1.1 \
|
||||
LIBMFX=22.5.4 \
|
||||
LIBPLACEBO=7.349.0 \
|
||||
LIBPNG=1.6.44 \
|
||||
@ -54,6 +55,7 @@ ENV \
|
||||
VPLGPURT=24.2.5 \
|
||||
VPX=1.14.1 \
|
||||
VULKANSDK=vulkan-sdk-1.3.290.0 \
|
||||
VVENC=1.12.0 \
|
||||
WEBP=1.4.0 \
|
||||
X265=4.0 \
|
||||
XVID=1.3.7 \
|
||||
@ -347,6 +349,19 @@ RUN \
|
||||
ninja -C build && \
|
||||
ninja -C build install && \
|
||||
strip -d /usr/local/lib/x86_64-linux-gnu/libdrm*.so
|
||||
RUN \
|
||||
echo "**** grabbing liblc3 ****" && \
|
||||
mkdir -p /tmp/liblc3 && \
|
||||
git clone \
|
||||
--branch v${LIBLC3} \
|
||||
--depth 1 \
|
||||
https://github.com/google/liblc3.git \
|
||||
/tmp/liblc3
|
||||
RUN \
|
||||
echo "**** compiling liblc3 ****" && \
|
||||
cd /tmp/liblc3 && \
|
||||
meson setup build && \
|
||||
meson install -C build --strip
|
||||
RUN \
|
||||
echo "**** grabbing libva ****" && \
|
||||
mkdir -p /tmp/libva && \
|
||||
@ -384,14 +399,14 @@ RUN \
|
||||
build && \
|
||||
ninja -C build install && \
|
||||
strip -d /usr/local/lib/libvdpau.so
|
||||
RUN \
|
||||
RUN \
|
||||
echo "**** grabbing shaderc ****" && \
|
||||
mkdir -p /tmp/shaderc && \
|
||||
git clone \
|
||||
--branch ${SHADERC} \
|
||||
--depth 1 https://github.com/google/shaderc.git \
|
||||
/tmp/shaderc
|
||||
RUN \
|
||||
RUN \
|
||||
echo "**** compiling shaderc ****" && \
|
||||
cd /tmp/shaderc && \
|
||||
./utils/git-sync-deps && \
|
||||
@ -772,6 +787,18 @@ RUN \
|
||||
.. && \
|
||||
make && \
|
||||
make install
|
||||
RUN \
|
||||
echo "**** grabbing vvenc ****" && \
|
||||
mkdir -p /tmp/vvenc && \
|
||||
git clone \
|
||||
--branch v${VVENC} \
|
||||
--depth 1 https://github.com/fraunhoferhhi/vvenc.git \
|
||||
/tmp/vvenc
|
||||
RUN \
|
||||
echo "**** compiling vvenc ****" && \
|
||||
cd /tmp/vvenc && \
|
||||
make install install-prefix=/usr/local && \
|
||||
strip -d /usr/local/lib/libvvenc.so
|
||||
RUN \
|
||||
echo "**** grabbing webp ****" && \
|
||||
mkdir -p /tmp/webp && \
|
||||
@ -892,6 +919,7 @@ RUN \
|
||||
--enable-libfribidi \
|
||||
--enable-libharfbuzz \
|
||||
--enable-libkvazaar \
|
||||
--enable-liblc3 \
|
||||
--enable-libmp3lame \
|
||||
--enable-libopencore-amrnb \
|
||||
--enable-libopencore-amrwb \
|
||||
@ -910,6 +938,7 @@ RUN \
|
||||
--enable-libvorbis \
|
||||
--enable-libvpl \
|
||||
--enable-libvpx \
|
||||
--enable-libvvenc \
|
||||
--enable-libwebp \
|
||||
--enable-libx264 \
|
||||
--enable-libx265 \
|
||||
|
||||
@ -16,15 +16,16 @@ ENV \
|
||||
ENV \
|
||||
AOM=v3.10.0 \
|
||||
FDKAAC=2.0.3 \
|
||||
FFMPEG_HARD=7.0.2 \
|
||||
FFMPEG_HARD=7.1 \
|
||||
FONTCONFIG=2.15.0 \
|
||||
FREETYPE=2.13.3 \
|
||||
FRIBIDI=1.0.15 \
|
||||
HARFBUZZ=10.0.0 \
|
||||
FRIBIDI=1.0.16 \
|
||||
HARFBUZZ=10.0.1 \
|
||||
KVAZAAR=2.3.1 \
|
||||
LAME=3.100 \
|
||||
LIBASS=0.17.3 \
|
||||
LIBDAV1D=1.4.3 \
|
||||
LIBLC3=1.1.1 \
|
||||
LIBPNG=1.6.44 \
|
||||
LIBVA=2.22.0 \
|
||||
LIBVDPAU=1.5 \
|
||||
@ -42,6 +43,7 @@ ENV \
|
||||
THEORA=1.1.1 \
|
||||
VORBIS=1.3.7 \
|
||||
VPX=1.14.1 \
|
||||
VVENC=1.12.0 \
|
||||
WEBP=1.4.0 \
|
||||
X265=4.0 \
|
||||
XVID=1.3.7 \
|
||||
@ -273,6 +275,19 @@ RUN \
|
||||
cd /tmp/libdav1d/build && \
|
||||
meson setup .. && \
|
||||
ninja install
|
||||
RUN \
|
||||
echo "**** grabbing liblc3 ****" && \
|
||||
mkdir -p /tmp/liblc3 && \
|
||||
git clone \
|
||||
--branch v${LIBLC3} \
|
||||
--depth 1 \
|
||||
https://github.com/google/liblc3.git \
|
||||
/tmp/liblc3
|
||||
RUN \
|
||||
echo "**** compiling liblc3 ****" && \
|
||||
cd /tmp/liblc3 && \
|
||||
meson setup build && \
|
||||
meson install -C build --strip
|
||||
RUN \
|
||||
echo "**** grabbing vmaf ****" && \
|
||||
mkdir -p /tmp/vmaf && \
|
||||
@ -609,6 +624,7 @@ RUN \
|
||||
--enable-libfribidi \
|
||||
--enable-libharfbuzz \
|
||||
--enable-libkvazaar \
|
||||
--enable-liblc3 \
|
||||
--enable-libmp3lame \
|
||||
--enable-libopencore-amrnb \
|
||||
--enable-libopencore-amrwb \
|
||||
|
||||
77
Jenkinsfile
vendored
77
Jenkinsfile
vendored
@ -124,7 +124,7 @@ pipeline {
|
||||
steps{
|
||||
script{
|
||||
env.EXT_RELEASE = sh(
|
||||
script: ''' echo 7.0.2-cli ''',
|
||||
script: ''' echo 7.1-cli ''',
|
||||
returnStdout: true).trim()
|
||||
env.RELEASE_LINK = 'custom_command'
|
||||
}
|
||||
@ -980,52 +980,41 @@ EOF
|
||||
returnStdout: true).trim()
|
||||
if (env.EXIT_STATUS == "ABORTED"){
|
||||
sh 'echo "build aborted"'
|
||||
}
|
||||
else if (currentBuild.currentResult == "SUCCESS"){
|
||||
if (env.GITHUBIMAGE =~ /lspipepr/){
|
||||
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"color": 3957028,\
|
||||
"footer": {"text" : "PR Build"},\
|
||||
"timestamp": "'${JOB_DATE}'",\
|
||||
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
|
||||
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
|
||||
}else{
|
||||
if (currentBuild.currentResult == "SUCCESS"){
|
||||
if (env.GITHUBIMAGE =~ /lspipepr/){
|
||||
env.JOB_WEBHOOK_STATUS='Success'
|
||||
env.JOB_WEBHOOK_COLOUR=3957028
|
||||
env.JOB_WEBHOOK_FOOTER='PR Build'
|
||||
}else if (env.GITHUBIMAGE =~ /lsiodev/){
|
||||
env.JOB_WEBHOOK_STATUS='Success'
|
||||
env.JOB_WEBHOOK_COLOUR=3957028
|
||||
env.JOB_WEBHOOK_FOOTER='Dev Build'
|
||||
}else{
|
||||
env.JOB_WEBHOOK_STATUS='Success'
|
||||
env.JOB_WEBHOOK_COLOUR=1681177
|
||||
env.JOB_WEBHOOK_FOOTER='Live Build'
|
||||
}
|
||||
}else{
|
||||
if (env.GITHUBIMAGE =~ /lspipepr/){
|
||||
env.JOB_WEBHOOK_STATUS='Failure'
|
||||
env.JOB_WEBHOOK_COLOUR=12669523
|
||||
env.JOB_WEBHOOK_FOOTER='PR Build'
|
||||
}else if (env.GITHUBIMAGE =~ /lsiodev/){
|
||||
env.JOB_WEBHOOK_STATUS='Failure'
|
||||
env.JOB_WEBHOOK_COLOUR=12669523
|
||||
env.JOB_WEBHOOK_FOOTER='Dev Build'
|
||||
}else{
|
||||
env.JOB_WEBHOOK_STATUS='Failure'
|
||||
env.JOB_WEBHOOK_COLOUR=16711680
|
||||
env.JOB_WEBHOOK_FOOTER='Live Build'
|
||||
}
|
||||
}
|
||||
else if (env.GITHUBIMAGE =~ /lsiodev/){
|
||||
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"color": 3957028,\
|
||||
"footer": {"text" : "Dev Build"},\
|
||||
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"'color'": '${JOB_WEBHOOK_COLOUR}',\
|
||||
"footer": {"text" : "'"${JOB_WEBHOOK_FOOTER}"'"},\
|
||||
"timestamp": "'${JOB_DATE}'",\
|
||||
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
|
||||
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** '${JOB_WEBHOOK_STATUS}'\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
|
||||
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
|
||||
}
|
||||
else{
|
||||
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"color": 1681177,\
|
||||
"footer": {"text" : "Live Build"},\
|
||||
"timestamp": "'${JOB_DATE}'",\
|
||||
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
|
||||
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (env.GITHUBIMAGE =~ /lspipepr/){
|
||||
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"color": 12669523,\
|
||||
"footer": {"text" : "PR Build"},\
|
||||
"timestamp": "'${JOB_DATE}'",\
|
||||
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
|
||||
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
|
||||
}
|
||||
else if (env.GITHUBIMAGE =~ /lsiodev/){
|
||||
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"color": 12669523,\
|
||||
"footer": {"text" : "Dev Build"},\
|
||||
"timestamp": "'${JOB_DATE}'",\
|
||||
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
|
||||
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
|
||||
}
|
||||
else{
|
||||
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"color": 16711680,\
|
||||
"footer": {"text" : "Live Build"},\
|
||||
"timestamp": "'${JOB_DATE}'",\
|
||||
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
|
||||
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -174,6 +174,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||
|
||||
## Versions
|
||||
|
||||
* **30.09.24:** - Bump ffmpeg for 7.1. Add support for libvvenc (amd64 only) and liblc3. Bump libfribidi and libharfbuzz.
|
||||
* **24.09.24:** - Let ffmpeg terminate gracefully on docker stop/restart. Bump libharfbuzz, libpng, mesa, shaderc and libx265.
|
||||
* **09.09.24:** - Add libzmq.
|
||||
* **31.08.24:** - Bump libaom, libdrm, libvpl, mesa and svtav1. Enable nvdec/nvenc on arm64 (untested).
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# jenkins variables
|
||||
project_name: docker-ffmpeg
|
||||
external_type: na
|
||||
custom_version_command: "echo 7.0.2-cli"
|
||||
custom_version_command: "echo 7.1-cli"
|
||||
release_type: stable
|
||||
release_tag: latest
|
||||
ls_branch: master
|
||||
|
||||
@ -178,6 +178,7 @@ full_custom_readme: |
|
||||
|
||||
## Versions
|
||||
|
||||
* **30.09.24:** - Bump ffmpeg for 7.1. Add support for libvvenc (amd64 only) and liblc3. Bump libfribidi and libharfbuzz.
|
||||
* **24.09.24:** - Let ffmpeg terminate gracefully on docker stop/restart. Bump libharfbuzz, libpng, mesa, shaderc and libx265.
|
||||
* **09.09.24:** - Add libzmq.
|
||||
* **31.08.24:** - Bump libaom, libdrm, libvpl, mesa and svtav1. Enable nvdec/nvenc on arm64 (untested).
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user