|
1 | | -# Statically Linked FFMPEG for FreeBSD |
| 1 | +## Statically Linked FFmpeg for FreeBSD |
2 | 2 |
|
3 | 3 | Patches are made from [these](https://www.freshports.org/multimedia/ffmpeg/) |
4 | 4 |
|
5 | 5 | Build hints from [here](https://github.com/zimbatm/ffmpeg-static) and [here](https://github.com/markus-perl/ffmpeg-build-script) |
6 | 6 |
|
7 | | -# WHY?! Statically Linking is generally a Bad Idea(tm)! |
8 | | -Yes, but node packages *REALLY* like statically linked FFMPEG and FreeBSD is pretty decent with symbol versioning so we can have this. |
| 7 | +## Why? Statically Linking is generally a Bad Idea(tm)! |
| 8 | +Yes, but node packages *really* like statically linked FFmpeg and FreeBSD is pretty decent with symbol versioning so we can have this. |
| 9 | +There is no FFmpeg 5+ on FreeBSD ports right now either |
9 | 10 |
|
10 | | -## Build settings and library versions (5.1) (FreeBSD 12.2 AMD64) |
11 | | ---enable-static --disable-shared --disable-ffplay --enable-gpl --enable-libfreetype --enable-libx264 --enable-libx265 --enable-libass --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libsoxr --enable-libvidstab --enable-libopenjpeg --enable-libzimg --enable-libwebp --enable-libvorbis --enable-libspeex --enable-libxvid --enable-libvmaf --enable-libzmq --enable-libaom --enable-libzvbi --enable-libdav1d --enable-libsnappy --enable-libmodplug --enable-libtheora --enable-libtwolame --enable-libmysofa --enable-libbluray --enable-libgme --enable-libgsm --enable-librubberband --enable-fontconfig --enable-runtime-cpudetect --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 |
| 11 | +## Updates |
12 | 12 |
|
13 | | -other libraries: |
| 13 | +This binary requires a large number of patches and rebuilds of components to function so it will lag behind any other FFmpeg-static binaries by quite a bit. |
| 14 | +If you want updates please **OPEN A TICKET** but keep in mind this is a rather low priority to me. |
14 | 15 |
|
15 | | -| library | version | |
16 | | -| --- | --- | |
17 | | -| libavutil | 57. 28.100 / 57. 28.100 | |
18 | | -| libavcodec | 59. 37.100 / 59. 37.100 |
19 | | -| libavformat | 59. 27.100 / 59. 27.100 |
20 | | -| libavdevice | 59.7.100 / 59.7.100 |
21 | | -| libavfilter | 8. 44.100 / 8. 44.100 |
22 | | -| libswscale | 6. 7.100 / 6. 7.100 |
23 | | -| libswresample | 4. 7.100 / 4. 7.100 |
24 | | -| libpostproc | 56. 6.100 / 56. 6.100 |
25 | | - |
26 | | -not used: |
27 | | ---enable-libvo-amrwbenc (very old, opencore likely better) |
28 | | - |
29 | | -## Build settings and library versions (5.1.1) (FreeBSD 13.1 AMD64) (EXPERIMENTAL Please test) |
30 | | ---enable-gpl --enable-libdav1d --enable-libsvtav1 --enable-librav1e --enable-libx264 --enable-libx265 --enable-libxvid --enable-libvidstab --enable-libaom --enable-libzimg --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-lv2 --enable-libtheora --enable-libwebp --enable-libsrt --cc=cc --cxx=cpp --disable-debug --disable-doc --disable-shared --enable-pthreads --enable-static --enable-small --enable-version3 --extra-cflags='-static -I/root/ffmpeg-build-script/workspace/include -I/root/ffmpeg-build-script/workspace/include/lilv-0' --extra-ldexeflags=-static --extra-ldflags=-L/root/ffmpeg-build-script/workspace/lib --extra-libs='-static -ldl -lpthread -lm -lmd -lz' --pkgconfigdir=/root/ffmpeg-build-script/workspace/lib/pkgconfig --pkg-config-flags=--static --prefix=/root/ffmpeg-build-script/workspace --extra-version=5.1.1 |
31 | | - |
32 | | -This has TEST FAILURES! |
33 | | -``` |
34 | | ---- ./tests/ref/fate/source 2022-08-31 10:10:03.000000000 -0600 |
35 | | -+++ tests/data/fate/source 2022-09-13 21:29:26.489491438 -0600 |
36 | | -@@ -1,26 +1,4 @@ |
37 | | - Files without standard license headers: |
38 | | --libavcodec/file_open.c |
39 | | --libavcodec/ilbcdata.h |
40 | | --libavcodec/ilbcdec.c |
41 | | --libavcodec/interplayacm.c |
42 | | --libavcodec/log2_tab.c |
43 | | --libavcodec/reverse.c |
44 | | --libavdevice/file_open.c |
45 | | --libavdevice/reverse.c |
46 | | --libavfilter/af_arnndn.c |
47 | | --libavfilter/file_open.c |
48 | | --libavfilter/log2_tab.c |
49 | | --libavformat/file_open.c |
50 | | --libavformat/golomb_tab.c |
51 | | --libavformat/log2_tab.c |
52 | | --libswresample/log2_tab.c |
53 | | --libswscale/log2_tab.c |
54 | | --tools/uncoded_frame.c |
55 | | --tools/yuvcmp.c |
56 | | - Headers without standard inclusion guards: |
57 | | --compat/djgpp/math.h |
58 | | --compat/float/float.h |
59 | | --compat/float/limits.h |
60 | | --tools/decode_simple.h |
61 | | - Use of av_clip() where av_clip_uintp2() could be used: |
62 | | - Use of av_clip() where av_clip_intp2() could be used: |
63 | | -Test source failed. Look at tests/data/fate/source.err for details. |
64 | | -``` |
65 | | - |
66 | | -# Updates |
67 | | - |
68 | | -This binary requires a large number of patches and rebuilds of components to function so it will lag behind any other FFMPEG-static binaries by quite a bit. If you want updates please **OPEN A TICKET** but keep in mind this is a rather low priority to me. |
69 | | - |
70 | | -# TODO |
| 16 | +## TODO |
71 | 17 |
|
72 | 18 | - Make this less painful to build if possible |
| 19 | + - Add support for HW accel |
73 | 20 |
|
74 | | -# Bugs |
75 | | - |
76 | | - - It passes FATE but that does not mean it actually works |
| 21 | +## Bugs |
77 | 22 |
|
78 | | -# License(s) |
| 23 | + - 5.1 passes FATE |
| 24 | + - 5.1.1 has test failures |
| 25 | + - Please see X.X.X_buildconf.md for more details |
79 | 26 |
|
80 | | - - FFMPEG and components fall under GPLv3 AFAIK |
| 27 | +## License(s) |
81 | 28 |
|
| 29 | + - FFmpeg and components fall under LGPL 2.1 and/or GPL2/GPL3 |
| 30 | + - This is the final authority however https://www.ffmpeg.org/legal.html |
0 commit comments