|
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