>>102436714
On Linux, for videos that can't be decoded by built-in decoders, libavcodec from ffmpeg is loaded at runtime to try to decode said media.
To see what versions of libavcodec your firefox build will try to load, you can run this (`strings` is a part of `binutils`):
strings /path/to/libxul.so |grep -E 'libavcodec.*so'
It's highly unlikely that your installed ffmpeg version is not one that firefox tries to load.
Which leaves option 2, which is what >>102436871 alluded to, you have a retardedly limited ffmpeg version. In the case of fedora, you need to install ffmpeg from the rpmfusion repo so you get a "freeworld" libavcodec.