What codecs does Kodi need from ffmpeg?
#1
I build my own Kodi from source along with ffmpeg on Slackware and I am looking for which codecs/dependencies that Kodi requires from ffmpeg. The next Slackware release will be shipping a pretty generic ffmpeg and on the stable release I build my own ffmpeg with just about everything. I guess that I am looking for if ffmpeg needs specific codecs built into ffmpeg to function properly/completely. I suppose that even just a list of supported formats/options would be helpful.
Reply
#2
Not sure about the codec question but recommend that you build with the internal ffmpeg.  See how Arch ARM does it: https://github.com/archlinuxarm/PKGBUILD...#L134-L166
Need help programming a Streamzap remote?
Reply
#3
(2021-08-06, 22:33)graysky Wrote: Not sure about the codec question but recommend that you build with the internal ffmpeg.  See how Arch ARM does it: https://github.com/archlinuxarm/PKGBUILD...#L134-L166

Not really a big fan of building things with "internal dependencies", but that did give me another idea. I can dig into the kodi source and see what they have in there. Thanks!
Reply
#4
Perhaps, but kodi has versioned dependencies for ffmpeg amount others.  If you run a newer external one, it may not behave as expected.  Further it can cause the need to rebuild things.  Better to stick with internal ffmpeg.  This was the major reason why Arch Linux shifted to an internal ffmpeg and other deps a few years ago.
Need help programming a Streamzap remote?
Reply
#5
(2021-08-06, 22:59)graysky Wrote: Perhaps, but kodi has versioned dependencies for ffmpeg amount others.  If you run a newer external one, it may not behave as expected.  Further it can cause the need to rebuild things.  Better to stick with internal ffmpeg.  This was the major reason why Arch Linux shifted to an internal ffmpeg and other deps a few years ago.

I have no problem maintaining specific versions of dependencies. It's just that "internal dependencies" tend to be huge static libs that do not much more than take up space (I know HDD's are cheap nowadays, call me old-school) and it seems that there is not much there aside from dav1d, libass and maybe a couple of others. Most of the other deps are already in Slackware, so why have duplicates? That's how Widows does things.
Reply
#6
Again, the ffmpeg stuff but you can setup your system as you wish.
Need help programming a Streamzap remote?
Reply
#7
(2021-08-06, 23:12)graysky Wrote: Again, the ffmpeg stuff but you can setup your system as you wish.

I do appreciate the advice. Looking at Arch's script, they are pulling in their own builds of dav1d, libass, plus others but still building with the "internal" ffmpeg. If I run into problems it would only be a flip of a switch to change to the internal version.
Reply
#8
@xXskaendoXx
Ffmpeg used by Kodi has a bunch of extra patches and Kodi is tightly coupled to ffmpeg apis, it's not only codecs, it's mostly everything.
And be aware that if a distro bumps ffmpeg version without corresponding ffmpeg version bump in Kodi which won't happen in point releases (eg Kodi 19.x versions won't have ffmpeg bumped, bump will happen in the next major release if needed) you will end up having problems.
First Kodi might not build at all with newer ffmpeg without patching Kodi code which is not an easy task without deep knowledge of Kodi itself.
Second such distro patched Kodi packages or Kodi packages with unsupported ffmpeg versions will have no or very limited support here and users will probably get asked to seek help from their distro's support forums and/or package maintainer(s).
Reply
#9
(2021-08-06, 23:36)asavah Wrote: @xXskaendoXx
Ffmpeg used by Kodi has a bunch of extra patches and Kodi is tightly coupled to ffmpeg apis, it's not only codecs, it's mostly everything.
And be aware that if a distro bumps ffmpeg version without corresponding ffmpeg version bump in Kodi which won't happen in point releases (eg Kodi 19.x versions won't have ffmpeg bumped, bump will happen in the next major release if needed) you will end up having problems.
First Kodi might not build at all with newer ffmpeg without patching Kodi code which is not an easy task without deep knowledge of Kodi itself.
Second such distro patched Kodi packages or Kodi packages with unsupported ffmpeg versions will have no or very limited support here and users will probably get asked to seek help from their distro's support forums and/or package maintainer(s).

Again, I do appreciate the feedback.

I have been building Kodi with ffmpeg 4.4 and have not had any issues thus far. If I do run into issues, like I said earlier it is only the flip of a build option to use the internal ffmpeg-4.3.2.

A side note, ffmpeg should be bumped to the next version when it is released, ie; 4.5 since avresample has been depreciated, unmaintained, disabled by default in the current release (4.4), completely removed in the next and could be a possible security issue.

See these commits for more info:
https://github.com/FFmpeg/FFmpeg/commit/...d136749c0f
https://github.com/FFmpeg/FFmpeg/commit/...f79b43bdf7
Reply
#10
(2021-08-06, 23:59)xXskaendoXx Wrote: A side note, ffmpeg should be bumped to the next version when it is released

4.5 (master) is dropping a lot of sttuff, not only avresample, many software packages that depend on ffmpeg currently do not build against ffmpeg master.
It will be a very bumpy bump (pun intended).
Reply
#11
(2021-08-07, 00:02)asavah Wrote:
(2021-08-06, 23:59)xXskaendoXx Wrote: A side note, ffmpeg should be bumped to the next version when it is released

4.5 (master) is dropping a lot of sttuff, not only avresample, many software packages that depend on ffmpeg currently do not build against ffmpeg master.
It will be a very bumpy bump (pun intended).
LOL

Yea, I've found that this tends to be common when trying to use the "master" branch with a lot, if not most things. I try to avoid them but there are some that cannot be avoided. ffmpeg however I would never attempt to use the master branch. I even stay away from development builds of stuff that "should" work but might be buggy. I don't claim to be a tester.

Sounds like fun ahead though!
Reply
#12
Well, it turns out that after a test build Kodi is not even using my ffmpeg after all. That's fine. It's also not using my rapidjson even though it's the same version that Kodi uses. But everything else of mine is being picked up.

Both of which are a little concerning though. Where can I inspect the source code for those two? Not that I don't trust Kodi or the devs, but I would like to know what changes are being made.

EDIT: I found them.
Reply

Logout Mark Read Team Forum Stats Members Help
What codecs does Kodi need from ffmpeg?0