Closed gaamaaresosa closed 1 year ago
Hi @gaamaaresosa
Providing your absolutely sure your using 32Bit and not 64Bit, you can try installing 'libomxil-bellagio-dev' before running the script - it's normally included with Raspberry pi OS, so maybe that's now changed.
The OMX library is an extremely old implementation, and it's been replaced with 'h264_v4l2m2m' that gets compiled.
Hi @gaamaaresosa
Providing your absolutely sure your using 32Bit and not 64Bit, you can try installing 'libomxil-bellagio-dev' before running the script.
The OMX library is an extremely old implementation, and it's been replaced with 'h264_v4l2m2m' that get compiled.
Thanks for your swift responce. I have tried 'h264_v4l2m2m', but it uses only one cpu core and that too 100% Where as h264_OMX uses all 4 cores and all are <60% I am not sure which is safe as far as CPU temperature is concern.
I will try 'libomxil-bellagio-dev' immediately. Can you please help me to build ffmpeg for Bullseys 32bit with h264_OMX and h264_v4l2m2m options ?
libomxil-bellagio-dev is the OMX Development files/headers, so proving you install them first - the build should succeed.
libomxil-bellagio-dev is the OMX Development files/headers, so proving you install them first - the build should succeed.
Thanks again, I have just started building after instaling "libomxil-bellagio-dev" Btw, why can't you install it on your *.sh script itself ?
These headers file are usually available on the OS, I'm a little surprised they weren't found to be honest.
First I tried in Buster 32bit and below error:
In file included from ./libavutil/libm.h:29, from libavcodec/aacps_tablegen.h:35, from libavcodec/aacps_tablegen_template.c:39, from libavcodec/aacps_tablegen.c:24: ./config.h:594: warning: "CONFIG_HARDCODED_TABLES" redefined
In file included from libavcodec/aacps_tablegen.c:24: libavcodec/aacps_tablegen_template.c:25: note: this is the location of the previous definition
In file included from libavcodec/aacps_tablegen_template.c:39,
from libavcodec/aacps_tablegen.c:24:
libavcodec/aacps_tablegen.h:46:24: error: expected declaration specifiers or ‘...’ before numeric constant
static DECLARE_ALIGNED(16, float, f20_0_8) [ 8][8][2];
^~
libavcodec/aacps_tablegen.h:46:35: error: unknown type name ‘f20_0_8’
static DECLARE_ALIGNED(16, float, f20_0_8) [ 8][8][2];
^~~
libavcodec/aacps_tablegen.h:47:24: error: expected declaration specifiers or ‘...’ before numeric constant
static DECLARE_ALIGNED(16, float, f34_0_12)[12][8][2];
^~
libavcodec/aacps_tablegen.h:47:35: error: unknown type name ‘f34_0_12’
static DECLARE_ALIGNED(16, float, f34_0_12)[12][8][2];
^~~~
libavcodec/aacps_tablegen.h:48:24: error: expected declaration specifiers or ‘...’ before numeric constant
static DECLARE_ALIGNED(16, float, f34_1_8) [ 8][8][2];
^~
libavcodec/aacps_tablegen.h:48:35: error: unknown type name ‘f34_1_8’
static DECLARE_ALIGNED(16, float, f34_1_8) [ 8][8][2];
^~~
libavcodec/aacps_tablegen.h:49:24: error: expected declaration specifiers or ‘...’ before numeric constant
static DECLARE_ALIGNED(16, float, f34_2_4) [ 4][8][2];
^~
libavcodec/aacps_tablegen.h:49:35: error: unknown type name ‘f34_2_4’
static DECLARE_ALIGNED(16, float, f34_2_4) [ 4][8][2];
^~~
libavcodec/aacps_tablegen.h:50:36: error: expected declaration specifiers or ‘...’ before numeric constant
static TABLE_CONST DECLARE_ALIGNED(16, float, Q_fract_allpass)[2][50][3][2];
^~
libavcodec/aacps_tablegen.h:50:47: error: unknown type name ‘Q_fract_allpass’
static TABLE_CONST DECLARE_ALIGNED(16, float, Q_fract_allpass)[2][50][3][2];
^~~~~~~
libavcodec/aacps_tablegen.h:51:24: error: expected declaration specifiers or ‘...’ before numeric constant
static DECLARE_ALIGNED(16, float, phi_fract)[2][50][2];
^~
libavcodec/aacps_tablegen.h:51:35: error: unknown type name ‘phi_fract’
static DECLARE_ALIGNED(16, float, phi_fract)[2][50][2];
^~~~~
libavcodec/aacps_tablegen.h: In function ‘ps_tableinit’:
libavcodec/aacps_tablegen.h:187:13: error: ‘Q_fract_allpass’ undeclared (first use in this function)
Q_fract_allpass[0][k][m][0] = cos(theta);
^~~~~~~
libavcodec/aacps_tablegen.h:187:13: note: each undeclared identifier is reported only once for each function it appears in
libavcodec/aacps_tablegen.h:191:9: error: ‘phi_fract’ undeclared (first use in this function)
phi_fract[0][k][0] = cos(theta);
^~~~~
libavcodec/aacps_tablegen.h:210:29: error: ‘f20_0_8’ undeclared (first use in this function)
make_filters_from_proto(f20_0_8, g0_Q8, 8);
^~~
libavcodec/aacps_tablegen.h:211:29: error: ‘f34_0_12’ undeclared (first use in this function)
make_filters_from_proto(f34_0_12, g0_Q12, 12);
^~~~
libavcodec/aacps_tablegen.h:212:29: error: ‘f34_1_8’ undeclared (first use in this function)
make_filters_from_proto(f34_1_8, g1_Q8, 8);
^~~
libavcodec/aacps_tablegen.h:213:29: error: ‘f34_2_4’ undeclared (first use in this function)
make_filters_from_proto(f34_2_4, g2_Q4, 4);
^~~
In file included from libavcodec/aacps_tablegen.c:24:
libavcodec/aacps_tablegen_template.c: In function ‘main’:
libavcodec/aacps_tablegen_template.c:88:28: error: ‘f20_0_8’ undeclared (first use in this function)
ARRAY_RENAME(3d_array)(f20_0_8, 8, 8, 2);
^~~
libavcodec/aacps_tablegen_template.c:91:28: error: ‘f34_0_12’ undeclared (first use in this function)
ARRAY_RENAME(3d_array)(f34_0_12, 12, 8, 2);
^~~~
libavcodec/aacps_tablegen_template.c:94:28: error: ‘f34_1_8’ undeclared (first use in this function)
ARRAY_RENAME(3d_array)(f34_1_8, 8, 8, 2);
^~~
libavcodec/aacps_tablegen_template.c:97:28: error: ‘f34_2_4’ undeclared (first use in this function)
ARRAY_RENAME(3d_array)(f34_2_4, 4, 8, 2);
^~~
libavcodec/aacps_tablegen_template.c:101:28: error: ‘Q_fract_allpass’ undeclared (first use in this function)
ARRAY_RENAME(4d_array)(Q_fract_allpass, 2, 50, 3, 2);
^~~~~~~
libavcodec/aacps_tablegen_template.c:104:28: error: ‘phi_fract’ undeclared (first use in this function)
ARRAY_RENAME(3d_array)(phi_fract, 2, 50, 2);
^~~~~
make: [ffbuild/common.mak:201: libavcodec/aacps_tablegen.o] Error 1
make: Waiting for unfinished jobs....
Start time: Mon 13 Feb 20:54:35 GMT 2023 End time: Mon 13 Feb 21:05:46 GMT 2023 Duration: 671 seconds Max jobs: 2 Option: 4
Errors occurred | Please check the logs and try again |
---|
Let me install fresh Raspberry Pi Bullseye lite 32bit OS and run your script and send report.
These are my steps on fresh SD card: Raspberry Pi Bullseye lite 32bit OS sudo apt-get update sudo apt-get upgrade -y sudo apt-get install git -y sudo apt install libomxil-bellagio-dev bash <(curl -sL https://raw.githubusercontent.com/NRCHKB/nrchkb-ffmpeg-build/main/build-bootstrap.sh)
Seems ok, or should I install any prerequisites packages/libs ?
Try without the dev package first.
If that fails, wipe the folders used for building, then install the omx dev package first then run the script again
If it still has issues, then the bullseye OS has changed goal posts - since we last tested
Our script installs needed pre-requisites
Try without the dev package first. Ok, I will try this way first.
If it still has issues, then the bullseye OS has changed goal post Always linux is like that only. If we install today and try the same after few months, the repository paths becoming invalid and get HASH mismatch error ! Which I am facing for last few days.
Eg:
FAILED: http://mirror.ossplanet.net/raspbian/raspbian/pool/main/libw/libwww-perl/libwww-perl_6.52-1_all.deb SUCCESS: http://raspbian.raspberrypi.org/raspbian/pool/main/libw/libwww-perl/libwww-perl_6.52-1_all.deb
Building/Installing libfdk-aac |
---|
N: Unable to locate package libfdk-aac-dev N: Unable to locate package libfdk-aac-dev E: No packages found Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package libfdk-aac-dev Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package libfdk-aac-dev Cloning into 'fdk-aac'... remote: Enumerating objects: 6929, done. remote: Counting objects: 100% (828/828), done. remote: Compressing objects: 100% (373/373), done. remote: Total 6929 (delta 452), reused 776 (delta 445), pack-reused 6101 Receiving objects: 100% (6929/6929), 10.02 MiB | 8.60 MiB/s, done. Resolving deltas: 100% (4083/4083), done. ./autogen.sh: 2: autoreconf: not found /dev/fd/62: line 210: ./configure: No such file or directory
Start time: Mon 13 Feb 21:22:34 GMT 2023 End time: Mon 13 Feb 21:22:53 GMT 2023 Duration: 19 seconds Max jobs: 2 Option: 4
Errors occurred | Please check the logs and try again |
---|
If you check the url, this is not present today. http://mirror.ossplanet.net/raspbian/raspbian bullseye
After this operation, 10.5 MB of additional disk space will be used. Get:1 http://mirror.ossplanet.net/raspbian/raspbian bullseye/main armhf libsigsegv2 armhf 2.13-1 [34.3 kB] Get:2 http://mirror.ossplanet.net/raspbian/raspbian bullseye/main armhf m4 armhf 1.4.18-5 [186 kB] Err:2 http://mirror.ossplanet.net/raspbian/raspbian bullseye/main armhf m4 armhf 1.4.18-5 Hash Sum mismatch Hashes of expected file:
@crxporter
Can you put a dev pi to use? And run the ffmpeg build with omx opt-in clean install of bullseye-32bit ?
This could just be a mirror problem, as I did not have issues with bullseye 32?
And run the ffmpeg build with omx opt-in clean install of bullseye-32bit ? Yes that's what I do here. Clean bullseye-32bit and trying your script. Fails... Do you doubt my ISP ? Should there be any way to change Mirror url ?
I have no idea yet.
I'm pretty sure it built with OMX on bullseye 32bit. (Pi ZERO W1)
You can change the mirrors via: "sudo nano /etc/apt/sources.list"
And Run the normal update routines after (update, upgrade)
You can change the mirrors via: Ok, let me try fiddling that and come back. Thanks again !
After changing Mirror, I get this error. So let me install 'libomxil-bellagio-dev' and try again
Extracting source code... ERROR: OpenMAX IL headers from raspberrypi/firmware not found
If you think configure made a mistake, make sure you are using the latest version from Git. If the latest version fails, report the problem to the ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.libera.chat. Include the log file "ffbuild/config.log" produced by configure as this will help solve the problem.
Start time: Mon 13 Feb 22:09:51 GMT 2023 End time: Mon 13 Feb 22:12:55 GMT 2023 Duration: 184 seconds Max jobs: 4 Option: 4
Errors occurred | Please check the logs and try again |
---|
How come I get same error ? After changing Mirror, I have done update/Upgrade. I have installed : sudo apt install libomxil-bellagio-dev -y Then not even single HASH missmatch warning. All went well. Finally I get this error.
Extracting source code... ERROR: OpenMAX IL headers from raspberrypi/firmware not found
If you think configure made a mistake, make sure you are using the latest version from Git. If the latest version fails, report the problem to the ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.libera.chat. Include the log file "ffbuild/config.log" produced by configure as this will help solve the problem.
Start time: Mon 13 Feb 22:22:06 GMT 2023 End time: Mon 13 Feb 22:25:02 GMT 2023 Duration: 176 seconds Max jobs: 4 Option: 4
Errors occurred | Please check the logs and try again |
---|
Ok,
I'm afraid it's likely that bullseye has really made it difficult to use h264_omx in that case, it's possible they have moved files around, that messes up the source code for ffmpeg.
I'm pretty sure it worked (on 32bit) - but I could be mistaken by the looks of it.
Is there a reason you need to use 32bit?
h264_v4l2m2m is enabled in the compile flags, but also some users just use "copy" so no transcoding is needed (therefore omx not being enabled)
OMX and bullseye, has been a source of pain in the last year.
config.log file : Last few line:
BEGIN /tmp/ffconf.P0VvnNYQ/test.c
1 #include <interface/mmal/mmal.h>
2 #include ~~~~~~~~
| OMX_IndexConfigVideoFramerate
/tmp/ffconf.P0VvnNYQ/test.c:2:18: note: each undeclared identifier is reported only once for each function it appears in
test_code cc OMX_Core.h OMX_IndexConfigBrcmVideoRequestIFrame
test_cc
BEGIN /tmp/ffconf.P0VvnNYQ/test.c
1 #include ~~~~~~~~
| OMX_IndexConfigVideoFramerate
/tmp/ffconf.P0VvnNYQ/test.c:2:18: note: each undeclared identifier is reported only once for each function it appears in
ERROR: OpenMAX IL headers from raspberrypi/firmware not found
This time I said NO to OMX/ACC and got this error
In file included from libavcodec/aacps_tablegen.c:24: libavcodec/aacps_tablegen_template.c:25: note: this is the location of the previous definition 25 | #define CONFIG_HARDCODED_TABLES 0 |
---|
In file included from libavcodec/aacps_tablegen_template.c:39,
from libavcodec/aacps_tablegen.c:24:
libavcodec/aacps_tablegen.h:46:24: error: expected declaration specifiers or ‘...’ before numeric constant
46 | static DECLARE_ALIGNED(16, float, f20_0_8) [ 8][8][2];
| ^~
libavcodec/aacps_tablegen.h:46:35: error: unknown type name ‘f20_0_8’
46 | static DECLARE_ALIGNED(16, float, f20_0_8) [ 8][8][2];
| ^~~
libavcodec/aacps_tablegen.h:47:24: error: expected declaration specifiers or ‘...’ before numeric constant
47 | static DECLARE_ALIGNED(16, float, f34_0_12)[12][8][2];
| ^~
libavcodec/aacps_tablegen.h:47:35: error: unknown type name ‘f34_0_12’
47 | static DECLARE_ALIGNED(16, float, f34_0_12)[12][8][2];
| ^~~~
libavcodec/aacps_tablegen.h:48:24: error: expected declaration specifiers or ‘...’ before numeric constant
48 | static DECLARE_ALIGNED(16, float, f34_1_8) [ 8][8][2];
| ^~
libavcodec/aacps_tablegen.h:48:35: error: unknown type name ‘f34_1_8’
48 | static DECLARE_ALIGNED(16, float, f34_1_8) [ 8][8][2];
| ^~~
libavcodec/aacps_tablegen.h:49:24: error: expected declaration specifiers or ‘...’ before numeric constant
49 | static DECLARE_ALIGNED(16, float, f34_2_4) [ 4][8][2];
| ^~
libavcodec/aacps_tablegen.h:49:35: error: unknown type name ‘f34_2_4’
49 | static DECLARE_ALIGNED(16, float, f34_2_4) [ 4][8][2];
| ^~~
libavcodec/aacps_tablegen.h:50:36: error: expected declaration specifiers or ‘...’ before numeric constant
50 | static TABLE_CONST DECLARE_ALIGNED(16, float, Q_fract_allpass)[2][50][3][2];
| ^~
libavcodec/aacps_tablegen.h:50:47: error: unknown type name ‘Q_fract_allpass’
50 | static TABLE_CONST DECLARE_ALIGNED(16, float, Q_fract_allpass)[2][50][3][2];
| ^~~~~~~
libavcodec/aacps_tablegen.h:51:24: error: expected declaration specifiers or ‘...’ before numeric constant
51 | static DECLARE_ALIGNED(16, float, phi_fract)[2][50][2];
| ^~
libavcodec/aacps_tablegen.h:51:35: error: unknown type name ‘phi_fract’
51 | static DECLARE_ALIGNED(16, float, phi_fract)[2][50][2];
| ^~~~~
libavcodec/aacps_tablegen.h: In function ‘ps_tableinit’:
libavcodec/aacps_tablegen.h:187:13: error: ‘Q_fract_allpass’ undeclared (first use in this function)
187 | Q_fract_allpass[0][k][m][0] = cos(theta);
| ^~~~~~~
libavcodec/aacps_tablegen.h:187:13: note: each undeclared identifier is reported only once for each function it appears in
libavcodec/aacps_tablegen.h:191:9: error: ‘phi_fract’ undeclared (first use in this function)
191 | phi_fract[0][k][0] = cos(theta);
| ^~~~~
libavcodec/aacps_tablegen.h:210:29: error: ‘f20_0_8’ undeclared (first use in this function)
210 | make_filters_from_proto(f20_0_8, g0_Q8, 8);
| ^~~
libavcodec/aacps_tablegen.h:211:29: error: ‘f34_0_12’ undeclared (first use in this function)
211 | make_filters_from_proto(f34_0_12, g0_Q12, 12);
| ^~~~
libavcodec/aacps_tablegen.h:212:29: error: ‘f34_1_8’ undeclared (first use in this function)
212 | make_filters_from_proto(f34_1_8, g1_Q8, 8);
| ^~~
libavcodec/aacps_tablegen.h:213:29: error: ‘f34_2_4’ undeclared (first use in this function)
213 | make_filters_from_proto(f34_2_4, g2_Q4, 4);
| ^~~
In file included from libavcodec/aacps_tablegen.c:24:
libavcodec/aacps_tablegen_template.c: In function ‘main’:
libavcodec/aacps_tablegen_template.c:88:28: error: ‘f20_0_8’ undeclared (first use in this function)
88 | ARRAY_RENAME(3d_array)(f20_0_8, 8, 8, 2);
| ^~~
libavcodec/aacps_tablegen_template.c:91:28: error: ‘f34_0_12’ undeclared (first use in this function)
91 | ARRAY_RENAME(3d_array)(f34_0_12, 12, 8, 2);
| ^~~~
libavcodec/aacps_tablegen_template.c:94:28: error: ‘f34_1_8’ undeclared (first use in this function)
94 | ARRAY_RENAME(3d_array)(f34_1_8, 8, 8, 2);
| ^~~
libavcodec/aacps_tablegen_template.c:97:28: error: ‘f34_2_4’ undeclared (first use in this function)
97 | ARRAY_RENAME(3d_array)(f34_2_4, 4, 8, 2);
| ^~~
libavcodec/aacps_tablegen_template.c:101:28: error: ‘Q_fract_allpass’ undeclared (first use in this function)
101 | ARRAY_RENAME(4d_array)(Q_fract_allpass, 2, 50, 3, 2);
| ^~~~~~~
libavcodec/aacps_tablegen_template.c:104:28: error: ‘phi_fract’ undeclared (first use in this function)
104 | ARRAY_RENAME(3d_array)(phi_fract, 2, 50, 2);
| ^~~~~
make: [ffbuild/common.mak:201: libavcodec/aacps_tablegen.o] Error 1
make: Waiting for unfinished jobs....
Start time: Mon 13 Feb 22:31:58 GMT 2023 End time: Mon 13 Feb 22:37:24 GMT 2023 Duration: 326 seconds Max jobs: 3 Option: 4
Errors occurred | Please check the logs and try again |
---|
Is there a reason you need to use 32bit?
I came to know OMX support only 32bit That's why I have chosen 32bit. Do you have any solution for 64bit with OMX ? But OMX works fine in Buster 32bit, and h264_v4l2m2m doesn't h264_v4l2m2m choose /dev/video11 and I see black signal. My hdmi capture device is /dev/video0
Try clearing all build folders.
That seems like left overs from the last attempt.
h264_v4l2m2m choose /dev/video11 and I see black signal. My hdmi capture device is /dev/video0
I think this script may not be what you hoped it was?
Most users of HomeKit are now using h264_v4l2m2m for their camera streams, that use 64bit os. HDMI ports are nothing todo with it?
Try clearing all build folders.
Ok, I will try that too.
Most users of HomeKit are now using h264_v4l2m2m for their camera streams,
I do live video streaming with 1280x720 and 4Mbps speed. May be others do lower resolution for which h264_v4l2m2m is ok. In my comparisson h264_v4l2m2m consume more CPU usage than h264_OMX
How ever I will give a try on h264_v4l2m2m again.
Again clean installation of Bullseye 32bit. sudo apt install libomxil-bellagio-dev -y No error untill this last one.
Extracting source code... ERROR: OpenMAX IL headers from raspberrypi/firmware not found
If you think configure made a mistake, make sure you are using the latest version from Git. If the latest version fails, report the problem to the ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.libera.chat. Include the log file "ffbuild/config.log" produced by configure as this will help solve the problem.
Start time: Mon 13 Feb 23:24:26 GMT 2023 End time: Mon 13 Feb 23:27:56 GMT 2023 Duration: 210 seconds Max jobs: 3 Option: 4
Errors occurred | Please check the logs and try again |
---|
Since I've been called - I'll leave a comment...
Last time I went down this road I learned that OMX is being phased out. It's not recommended for much of anything "new" anymore and files it depends on are bing moved around (first with 64 bit, now with 32 bit) to places where OMX doesn't know where to find them since OMX hasn't been updated in years.
How ever I will give a try on h264_v4l2m2m again
This was going to be my recommendation - try v4l or some other codecs. Surely some Linux wizard could get OMX working again but unfortunately I don't know the trick, I tried for a while before moving to v4l (and now just "copy" codec actually).
Another option... ffmpeg-for-homebridge
exists and (last I checked) comes built with OMX support. You could try that or other ffmpeg install options since building omx from source is going poorly.
@crxporter thanks. These are my 5 years experiance with omx and raspberry-pi feedback. 1) OmxPlayer and h264_omx are uncomparable and unbeatable. 2) VLC not stable for 24/7 and sucks lot of CPU. 3) h264_v4l2m2m no doubt may be better for encoding. But it can't be used as omxplayer or ffplay can't replace omxplayer. Omxplayer also to be used for previewing input video stream. (ffplay not as easy as Omxplayer) In older Buster 32bit Omx(player) works great, but h264_v4l2m2m failes as encoder. Eg: I set -i /dev/video0 but h264_v4l2m2m using /dev/video11 so no video. [h264_v4l2m2m @ 0x1065bf0] Using device /dev/video11 No solution found so far. Kindly see below result.
Stream mapping: Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (h264_v4l2m2m)) Stream #1:0 -> #0:1 (pcm_s16le (native) -> aac (native)) Press [q] to stop, [?] for help [swscaler @ 0x1080d10] deprecated pixel format used, make sure you did set range correctly [h264_v4l2m2m @ 0x1065bf0] driver 'uvcvideo' on card 'UVC Camera (534d:2109): FY HD v' Last message repeated 1 times [h264_v4l2m2m @ 0x1065bf0] driver 'bcm2835-codec' on card 'bcm2835-codec-image_fx' [h264_v4l2m2m @ 0x1065bf0] driver 'bcm2835-codec' on card 'bcm2835-codec-isp' [h264_v4l2m2m @ 0x1065bf0] driver 'bcm2835-isp' on card 'bcm2835-isp' Last message repeated 3 times [h264_v4l2m2m @ 0x1065bf0] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' [h264_v4l2m2m @ 0x1065bf0] Using device /dev/video11 [h264_v4l2m2m @ 0x1065bf0] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' [h264_v4l2m2m @ 0x1065bf0] Failed to set number of B-frames
4) All the latest ffmpeg from apt install using only 1 thread inspite of setting -threads 0 Where as my older ffmpeg built 2 years back on Buster works great with 4 threads without stuttering video. With same script if I build today same same Buster, it fails to build with tons of errors.
5) First of all any one successfull script to build ffmpeg for raspberry pi as on todays' date ?
Your knowledge of the topic is far more advanced than mine. This particular install script came about to be used mostly with home automation things (adding cameras to homekit). Of course it builds a fully functional ffmpeg - but anything more than basics is beyond my understanding...
That's probably not helpful to you, but I just wanted to add the context and note that you won't find many ffmpeg pros (except marcus and sometimes shaquu) around here.
I'm sure marcus will be back sometime soon with more comments - but I'm thinking you might want to find a more dedicated ffmpeg group to discuss things with?
This particular install script came about to be used mostly with home automation things
I don't blame this script. Even my own script also throw error at the same place I see errors on this script too. So the issue is with Linux community, they don't mind about backward compatibility.
1) Before finding better alternative to Omxplayer, which should they stop OMX in latest versions ? Millions of people use omxplayer still. My question is when I myself built ffmpeg successfully 1 year back with Buster 32bit. Why same script fails today. So they fiddled something in the latest update/upgrades. We need more time for the development, not fixing issues on the existing technology.
2) Omxplayer is a real GEM for most of the developers and there is no alternative till today. I use omxplayer for 24/7 365 days TV channel decoders running like charm.
I tried this is Raspberry Pi OS Bullseye (32bit) Lite I said YES to h264_OMX. I get the below error and stoped.
I tried few other script on the internet to build ffmpeg on Raspberry Pi OS Bullseye (32bit) Lite. Nothing works a on todays date. Most on the Mirror sites fails with Hash validation. "May be that's Linux" Repository path changes after some period of time and we face such issues.
2023-02-13 17:29:40 (5.34 MB/s) - ‘ffmpeg-snapshot.tar.bz2’ saved [12352077/12352077]
Extracting source code... ERROR: OpenMAX IL headers from raspberrypi/firmware not found