Giter Site home page Giter Site logo

animmouse / ffmpeg-stable-autobuild Goto Github PK

View Code? Open in Web Editor NEW
162.0 8.0 4.0 131 KB

Automated stable nonfree builds of FFmpeg for Windows using GitHub Actions

Home Page: https://www.animmouse.com/projects/ffmpeg-stable-autobuild/

License: Mozilla Public License 2.0

ffmpeg ffmpeg-build ffmpeg-builds ffmpeg-autobuild ffmpeg-windows nonfree ffmpeg-nonfree fdk-aac ffmpeg-fdk-aac decklink

ffmpeg-stable-autobuild's Introduction

FFmpeg Stable Autobuilds for Windows

FFmpeg stable nonfree release builds with additional libraries/dependencies.

Downloads

Schedule

Every time ffmpeg-windows-build-helpers updates or when FFmpeg makes a new major release.
The workflow will check if those are updated at 11:07 on Sunday weekly or if someone starred this repository.

Release Retention Policy

Release builds are kept for two years.

ffmpeg, ffprobe, and ffplay are included.

Nonfree builds with Fraunhofer FDK AAC (libfdk_aac) & DeckLink.

All builds are static.

Powered by ffmpeg-windows-build-helpers script to cross compile for Windows on Linux.

Uses GitHub Actions to automatically compile FFmpeg.

Uses endoflife.date to get latest version of FFmpeg.

For stability, use release builds.

For latest git/snapshot/development/master/nightly builds for Windows, go to ffmpeg-autobuild

For other builds of FFmpeg built by others, go to My list of FFmpeg Binaries.

ffmpeg-stable-autobuild's People

Contributors

animmouse avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ffmpeg-stable-autobuild's Issues

Parallel build win64 & win32

To lessen the time to build, build both architecture in parallel using matrix.
Also, this will remove the need for easimon/maximize-build-space as the builds run on a separate jobs.
Also, if the 32 bit build fails, it will not affect the releasing of 64 bit builds.

There are serious performance issues with libx265 in version 7.0.

When encoding a 4K video, it was found that the encoding speed was only 9 FPS, which is abnormal. Switching back to version 6.1.1 restored normal performance, with a speed of 25 FPS.
Comparing the encoder information, it seems that the problem lies here:

ffmpeg-stable-autobuild 7.0 2024-04-19
x265 [info]: HEVC encoder version 3.6+1-2f95fe7c8
x265 [info]: build info [Windows][GCC 10.2.0][64 bit][noasm] 10bit
x265 [info]: using cpu capabilities: none!

ffmpeg-stable-autobuild 6.1.1 2024-02-28
x265 [info]: HEVC encoder version 3.5+1-ce882936d
x265 [info]: build info [Windows][GCC 10.2.0][64 bit] 10bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2

It seems that libx265 in version 7.0 has disabled asm optimization and CPU instruction set optimization.

Additionally, both the official versions 6.1 and 7.0 perform normally."

Windows 7: entry point not found error

FFMPEG 5.1.2 from Gyan.dev works on my Windows 7 x64, whereas your build (n5.1 2022-10-12 08:20 3d527f7) does not. The latter throws error as follows: "Entry point not found, GetSystemTimePreciseAsFileTime could not be located in the dynamic link library KERNEL32.dll".

image

Could you be so kind to fix it?

Disk space full

No space left on device

System.IO.IOException: No space left on device at System.IO.FileStream.WriteNative(ReadOnlySpan`1 source) at System.IO.FileStream.FlushWriteBuffer() at System.IO.FileStream.WriteSpan(ReadOnlySpan`1 source) at System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count) at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder) at GitHub.Runner.Common.PagingLogger.EndPage() at GitHub.Runner.Common.PagingLogger.End() at GitHub.Runner.Worker.ExecutionContext.Complete(Nullable`1 result, String currentOperation, String resultCode) at GitHub.Runner.Worker.JobRunner.CompleteJobAsync(IJobServer jobServer, IExecutionContext jobContext, AgentJobRequestMessage message, Nullable`1 taskResult) at GitHub.Runner.Worker.JobRunner.RunAsync(AgentJobRequestMessage message, CancellationToken jobRequestCancellationToken) at GitHub.Runner.Worker.JobRunner.RunAsync(AgentJobRequestMessage message, CancellationToken jobRequestCancellationToken) at GitHub.Runner.Worker.Worker.RunAsync(String pipeIn, String pipeOut) at GitHub.Runner.Worker.Program.MainAsync(IHostContext context, String[] args)

You are running out of disk space. The runner will stop working when the machine runs out of disk space. Free space left: 95 MB

Win32 build failing due to libdav1d

CC	libavcodec/libdav1d.o
libavcodec/libdav1d.c: In function 'libdav1d_init':
libavcodec/libdav1d.c:148:7: error: 'Dav1dSettings' has no member named 'n_tile_threads'; did you mean 'n_threads'?
  148 |     s.n_tile_threads = dav1d->tile_threads
      |       ^~~~~~~~~~~~~~
      |       n_threads
In file included from ./libavutil/avutil.h:296,
                 from ./libavutil/avassert.h:31,
                 from libavcodec/libdav1d.c:24:
libavcodec/libdav1d.c:150:52: error: 'DAV1D_MAX_TILE_THREADS' undeclared (first use in this function); did you mean 'DAV1D_MAX_THREADS'?
  150 |                      : FFMIN(floor(sqrt(threads)), DAV1D_MAX_TILE_THREADS);
      |                                                    ^~~~~~~~~~~~~~~~~~~~~~
./libavutil/common.h:105:28: note: in definition of macro 'FFMIN'
  105 | #define FFMIN(a,b) ((a) > (b) ? (b) : (a))
      |                            ^
libavcodec/libdav1d.c:150:52: note: each undeclared identifier is reported only once for each function it appears in
  150 |                      : FFMIN(floor(sqrt(threads)), DAV1D_MAX_TILE_THREADS);
      |                                                    ^~~~~~~~~~~~~~~~~~~~~~
./libavutil/common.h:105:28: note: in definition of macro 'FFMIN'
  105 | #define FFMIN(a,b) ((a) > (b) ? (b) : (a))
      |                            ^
libavcodec/libdav1d.c:151:6: error: 'Dav1dSettings' has no member named 'n_frame_threads'
  151 |     s.n_frame_threads = dav1d->frame_threads
      |      ^
In file included from ./libavutil/avutil.h:296,
                 from ./libavutil/avassert.h:31,
                 from libavcodec/libdav1d.c:24:
libavcodec/libdav1d.c:153:48: error: 'Dav1dSettings' has no member named 'n_tile_threads'; did you mean 'n_threads'?
  153 |                       : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
      |                                                ^~~~~~~~~~~~~~
./libavutil/common.h:105:22: note: in definition of macro 'FFMIN'
  105 | #define FFMIN(a,b) ((a) > (b) ? (b) : (a))
      |                      ^
libavcodec/libdav1d.c:153:65: error: 'DAV1D_MAX_FRAME_THREADS' undeclared (first use in this function); did you mean 'DAV1D_MAX_THREADS'?
  153 |                       : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
      |                                                                 ^~~~~~~~~~~~~~~~~~~~~~~
./libavutil/common.h:105:28: note: in definition of macro 'FFMIN'
  105 | #define FFMIN(a,b) ((a) > (b) ? (b) : (a))
      |                            ^
libavcodec/libdav1d.c:153:48: error: 'Dav1dSettings' has no member named 'n_tile_threads'; did you mean 'n_threads'?
  153 |                       : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
      |                                                ^~~~~~~~~~~~~~
./libavutil/common.h:105:40: note: in definition of macro 'FFMIN'
  105 | #define FFMIN(a,b) ((a) > (b) ? (b) : (a))
      |                                        ^
libavcodec/libdav1d.c:155:13: error: 'Dav1dSettings' has no member named 'n_frame_threads'
  155 |            s.n_frame_threads, s.n_tile_threads);
      |             ^
libavcodec/libdav1d.c:155:33: error: 'Dav1dSettings' has no member named 'n_tile_threads'; did you mean 'n_threads'?
  155 |            s.n_frame_threads, s.n_tile_threads);
      |                                 ^~~~~~~~~~~~~~
      |                                 n_threads
libavcodec/libdav1d.c: At top level:
libavcodec/libdav1d.c:462:94: error: 'DAV1D_MAX_TILE_THREADS' undeclared here (not in a function); did you mean 'DAV1D_MAX_THREADS'?
  462 |     { "tilethreads", "Tile threads", OFFSET(tile_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_TILE_THREADS, VD },
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~~~
      |                                                                                              DAV1D_MAX_THREADS
libavcodec/libdav1d.c:463:97: error: 'DAV1D_MAX_FRAME_THREADS' undeclared here (not in a function); did you mean 'DAV1D_MAX_THREADS'?
  463 |     { "framethreads", "Frame threads", OFFSET(frame_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_FRAME_THREADS, VD },
      |                                                                                                 ^~~~~~~~~~~~~~~~~~~~~~~
      |                                                                                                 DAV1D_MAX_THREADS
CC	libavcodec/libdavs2.o
make: *** [ffbuild/common.mak:67: libavcodec/libdav1d.o] Error 1
make: *** Waiting for unfinished jobs....
##[error]Process completed with exit code 1.

Builds failing due to libaribcaption

2023-08-11T02:26:10.7693355Z configuring ffmpeg_git_with_fdk_aac_n6.0 (/home/runner/work/ffmpeg-stable-autobuild/ffmpeg-stable-autobuild/sandbox/win32/ffmpeg_git_with_fdk_aac_n6.0) as $ PKG_CONFIG_PATH=/home/runner/work/ffmpeg-stable-autobuild/ffmpeg-stable-autobuild/sandbox/cross_compilers/mingw-w64-i686/i686-w64-mingw32/lib/pkgconfig PATH=/home/runner/work/ffmpeg-stable-autobuild/ffmpeg-stable-autobuild/sandbox/cross_compilers/mingw-w64-i686/bin:$PATH ./configure --pkg-config=pkg-config --pkg-config-flags=--static --extra-version=ffmpeg-windows-build-helpers --enable-version3 --disable-debug --disable-w32threads --arch=x86 --target-os=mingw32 --cross-prefix=/home/runner/work/ffmpeg-stable-autobuild/ffmpeg-stable-autobuild/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32- --enable-libcaca --enable-gray --enable-libtesseract --enable-fontconfig --enable-gmp --enable-libass --enable-libbluray --enable-libbs2b --enable-libflite --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libvorbis --enable-libwebp --enable-libzimg --enable-libzvbi --enable-libmysofa --enable-libopenjpeg  --enable-libopenh264  --enable-libvmaf --enable-libsrt --enable-libxml2 --enable-opengl --enable-libdav1d --enable-cuda-llvm  --enable-gnutls --enable-libvpx --enable-libaom --enable-nvenc --enable-nvdec --extra-libs=-lharfbuzz --extra-libs=-lm --extra-libs=-lshlwapi --extra-libs=-lmpg123 --extra-libs=-lpthread --extra-cflags=-DLIBTWOLAME_STATIC --extra-cflags=-DMODPLUG_STATIC --extra-cflags=-DCACA_STATIC --enable-amf --enable-libmfx --enable-libaribcaption --enable-gpl --enable-frei0r --enable-librubberband --enable-libvidstab --enable-libx264 --enable-libx265 --enable-avisynth --enable-libaribb24 --enable-libxvid --enable-libdavs2 --enable-libxavs --extra-cflags=-mtune=generic --extra-cflags=-O3 --enable-static --disable-shared --prefix=/home/runner/work/ffmpeg-stable-autobuild/ffmpeg-stable-autobuild/sandbox/cross_compilers/mingw-w64-i686/i686-w64-mingw32 --enable-nonfree --enable-libfdk-aac --enable-decklink 
2023-08-11T02:26:10.7697915Z all touch files already_configured* touchname= already_configured_d59e3e6f3c06db7f92a16b1f2a2a96a4-
2023-08-11T02:26:10.7703085Z config options --pkg-config=pkg-config --pkg-config-flags=--static --extra-version=ffmpeg-windows-build-helpers --enable-version3 --disable-debug --disable-w32threads --arch=x86 --target-os=mingw32 --cross-prefix=/home/runner/work/ffmpeg-stable-autobuild/ffmpeg-stable-autobuild/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32- --enable-libcaca --enable-gray --enable-libtesseract --enable-fontconfig --enable-gmp --enable-libass --enable-libbluray --enable-libbs2b --enable-libflite --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libvorbis --enable-libwebp --enable-libzimg --enable-libzvbi --enable-libmysofa --enable-libopenjpeg --enable-libopenh264 --enable-libvmaf --enable-libsrt --enable-libxml2 --enable-opengl --enable-libdav1d --enable-cuda-llvm --enable-gnutls --enable-libvpx --enable-libaom --enable-nvenc --enable-nvdec --extra-libs=-lharfbuzz --extra-libs=-lm --extra-libs=-lshlwapi --extra-libs=-lmpg123 --extra-libs=-lpthread --extra-cflags=-DLIBTWOLAME_STATIC --extra-cflags=-DMODPLUG_STATIC --extra-cflags=-DCACA_STATIC --enable-amf --enable-libmfx --enable-libaribcaption --enable-gpl --enable-frei0r --enable-librubberband --enable-libvidstab --enable-libx264 --enable-libx265 --enable-avisynth --enable-libaribb24 --enable-libxvid --enable-libdavs2 --enable-libxavs --extra-cflags=-mtune=generic --extra-cflags=-O3 --enable-static --disable-shared --prefix=/home/runner/work/ffmpeg-stable-autobuild/ffmpeg-stable-autobuild/sandbox/cross_compilers/mingw-w64-i686/i686-w64-mingw32 --enable-nonfree --enable-libfdk-aac --enable-decklink ./configure
2023-08-11T02:26:11.0697127Z Unknown option "--enable-libaribcaption".
2023-08-11T02:26:11.0701679Z See ./configure --help for available options.
2023-08-11T02:26:11.0702353Z failed configure ffmpeg_git_with_fdk_aac_n6.0
2023-08-11T02:26:11.0755081Z ##[error]Process completed with exit code 1.

n5.0 Win64 builds failing due to libsvthevc

2022-02-06T16:49:28.7095779Z config options --pkg-config=pkg-config --pkg-config-flags=--static --extra-version=ffmpeg-windows-build-helpers --enable-version3 --disable-debug --disable-w32threads --arch=x86_64 --target-os=mingw32 --cross-prefix=/home/runner/work/ffmpeg-stable-autobuild/ffmpeg-stable-autobuild/sandbox/cross_compilers/mingw-w64-x86_64/bin/x86_64-w64-mingw32- --enable-libcaca --enable-gray --enable-libtesseract --enable-fontconfig --enable-gmp --enable-gnutls --enable-libass --enable-libbluray --enable-libbs2b --enable-libflite --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libvorbis --enable-libwebp --enable-libzimg --enable-libzvbi --enable-libmysofa --enable-libopenjpeg --enable-libopenh264 --enable-liblensfun --enable-libvmaf --enable-libsrt --enable-libxml2 --enable-opengl --enable-libdav1d --enable-cuda-llvm --enable-libsvthevc --enable-libsvtav1 --enable-libaom --enable-libvpx --enable-nvenc --enable-nvdec --extra-libs=-lharfbuzz --extra-libs=-lm --extra-libs=-lpthread --extra-cflags=-DLIBTWOLAME_STATIC --extra-cflags=-DMODPLUG_STATIC --extra-cflags=-DCACA_STATIC --enable-amf --enable-libmfx --enable-gpl --enable-frei0r --enable-librubberband --enable-libvidstab --enable-libx264 --enable-libx265 --enable-avisynth --enable-libaribb24 --enable-libxvid --enable-libdavs2 --enable-libxavs2 --enable-libxavs --extra-cflags=-mtune=generic --extra-cflags=-O3 --enable-static --disable-shared --prefix=/home/runner/work/ffmpeg-stable-autobuild/ffmpeg-stable-autobuild/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32 --enable-nonfree --enable-libfdk-aac --enable-decklink ./configure
2022-02-06T16:49:29.0079646Z Unknown option "--enable-libsvthevc".
2022-02-06T16:49:29.0080674Z See ./configure --help for available options.
2022-02-06T16:49:29.0081467Z failed configure ffmpeg_git_with_fdk_aac_n5.0
2022-02-06T16:49:29.0139999Z ##[error]Process completed with exit code 1.

Move on to n4.4.1?

Hi ๐Ÿ˜ƒ ; hope all's well with you...

Tag n4.4.1 was cut a week ago from the ffmpeg release/4.4 branch,

https://github.com/FFmpeg/FFmpeg/releases/tag/n4.4.1

so perhaps the time has come to start releasing ffmpeg-n4.4.1-*******-win**-nonfree stable builds? ๐Ÿ˜œ
And I'm gonna toss this here for future consideration, but instead of being "frozen" on a specific "stable" ffmpeg tag (currently n4.4), could the ffmpeg-stable-autobuild releases be sourced from the latest release/* (currently release/4.4) ffmpeg branch snapshot?
E.g., BtbN provide ffmpeg-n4.4-188-g404c9331dd-win64-gpl-4.4.zip...

Thanks for all you offer, especially the 32-bit builds for us on older, but still worthy ๐Ÿ˜‰ , H/W... ๐Ÿ‘ ๐Ÿ’Œ

Decklink sources seems broken after #20

hello,

I do not know how to check this out as to why but I have built FFMPEG a few times over the last week with the purpose of using decklink inputs. I then found this collection of static auto builds which made me very happy.
using --enable nonfree and --enable decklink none of the binaries I compiled from recent Git exposed decklink sources but did expose decklink sinks.

I had a binary from about a year ago that lacked nvenc and testing that it worked as well.
I am using two methods to reveal sources and sinks.

ffmpeg.exe -sources decklink and ffmpeg.exe -sinks decklink

Stepping backwards in time I had to go back to build n4.3.1-win64-nonfree #20 to find a binary where decklink sources were revealed.

I am guessing something is wrong with the most recent git since the issue.

Thanks.

No seeking on decoded hevc qsv files

The stable build seems to have problems with decoding files with hevc_qsv, no matter what input codec has been used.
The seeking of the video is not working, in ffplay I get this message when trying to seek:
seek_frame_generic failed as this stream seems to contain no keyframes after the target timestamp
I have tested these builds: ffmpeg-n6.0-479a046-win64-nonfree and ffmpeg-n6.0-3e8c1fa-win64-nonfree

Surprisingly builds from AnimMouse/ffmpeg-autobuild work just fine and have no seeking problems with when decoding video with hevc_qsv with these nightly builds.

missing filter

n4.4.1 not support zmq and option value in concat
it support in gyan ffmpeg build 4.4.1

6.1 drawtext filter not available

ffmpeg 6.1 doesn't provide the 'drawtext' filter anymore, to compile this filter you need to add 'harfbuzz' as dependency and configure with --enable-libharfbuzz as stated here

To enable default font fallback and the font option you need to configure FFmpeg with --enable-libfontconfig

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.