mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-01-24 07:30:57 +01:00
Make Jellyfin Debian package compatible with deb-multimedia repository #452
Labels
No labels
area:database
awaiting-feedback
backend
blocked
breaking change: web api
bug
build
ci
confirmed
discussion needed
dotnet future
downstream
duplicate
EFjellyfin.db
enhancement
feature
future
github-actions
good first issue
hdr
help wanted
invalid
investigation
librarydb
live-tv
lyrics
media playback
music
needs testing
nuget
performance
platform
pull-request
question
regression
release critical
requires-web
roadmap
security
security
stale
support
syncplay
ui & ux
upstream
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: starred/jellyfin#452
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @iacchi on GitHub (Feb 21, 2019).
Afer installing Jellyfin, I realised that the deb-multimedia repository was not in my sources.list file and I thought it would be a good idea to add it to get a more up-to-date version of a few programs (e.g. but not only ffmpeg). After adding the repo to my sources.list file, if I run apt-get dist-upgrade Jellyfin gets marked for removal, because apparently it's not compatible with some of the packages that get upgraded by the deb-multimedia repo.
I don't know if this incompatibility is real (then there would be more work to do if you want to fix this) or if it's just because compatible versions written in the Jellyfin deb packages are wrong (in which case you just need to fix the packaging), but either way would it be possible to make Jellyfin compatible with the use of the deb-multimedia repository?
@joshuaboniface commented on GitHub (Feb 22, 2019):
The incompatibility is real and the problem is
ffmpeg.In short, we're not compatible with
ffmpeg4.1. It causes numerous problems during playback. Our solution for standard Debian/Ubuntu distros is the error you see: we specify that weDependon eitherffmpeg<4.1, or onjellyfin-ffmpeg, which replaces theffmpegpackages provided by either Debian/Ubuntu themselves or by the Multimedia repository.The problem is the Debian packagers of
ffmpegare making (IMO) the really stupid decision to append increasing numbers at the beginning in order to forcibly "update" back to old version, which totally breaks any attempt to make this sort of compatibility sane. The exact compat line we use isffmpeg <7:4.1, but if they do something like10:3.3.2, that suddenly reports as being incompatible even though the actualffmpegversion isn't.I need to know exactly what the version string of the incompatible
ffmpegas well as ideally the entire output of yourdist-upgradeattempt and we can work from there.One potential solution is to forcibly pin away the Multimedia
ffmpegpackage using the following/etc/apt/preferences/ffmpeg-pinfile (assuming, I hope, that you usewww.deb-multimedia.orgas the mirror:Then install
jellyfin-ffmpegand you should be fine. Our binary package there providesffmpegandffprobe4.0.3 in the standard Debian locations under/usr/binand itProvides: ffmpegwhich should be compatible with every other piece offfmpeg-using software.@iacchi commented on GitHub (Feb 22, 2019):
Thank you, it's good to know that at least it's an actualy incompatibility. I will try to use that pin file to at least enable the rest of the deb-multimdia repository. One more question if possible: I read on the Jellyfin reddit a comment from one of the devs that jellyfin-ffmpeg currently is only installable on debian testing (buster) and not stable (stretch), is that correct? Before I read that I did try to install jellyfin-ffmpeg with dpkg on debian stable but I was getting some errors (I can re-create that if you want to see the error), it would be good to know if I should try again or not.
@joshuaboniface commented on GitHub (Feb 22, 2019):
It's build specifocally for Buster but should in theory work fine on Stretch, though the stock Stretch package of
ffmpegis compatible with JF, albeit a bit old. If you can post the error(s) you get I can see wwhat I can do!@skug67 commented on GitHub (Feb 22, 2019):
Pinning won't work for me because I have other packages (mythtv) which have the higher version of ffmpeg as a dependency. What if there was there were a jellyfin-ffmpeg-custom package that was an optional/alternative dependency and install the jellyfin-compatible version of ffmpeg in a custom location. The user could then manually select that custom location on the dashboard (assuming that changing the ffmpeg location in the configs is either impossible or too much of a pain from within the debian package itself).
@iacchi commented on GitHub (Feb 22, 2019):
I think that if you want to do that, you should be able to just unpack the deb file, copy the binaries somewhere and reference them within Jellyfin. I haven't had a look at what's inside the package (e.g. libraries that need to me in a specific location), but I think you should be able to do that. But indeed, it could be an option to have jellyfin-ffmpeg install stuff in
/usr/localrather than/usrand have both versions coexist.@iacchi commented on GitHub (Feb 22, 2019):
the pinning worked quite nicely for the deb-multimedia repo, thanks for that. When if comes to jellyfin-ffmpeg, this is the error that I get (translated from Italian, so the actual string might be slightly different from the standard English one):
I haven't googled yet to find how to force the installation of jellyfin-ffmpeg over ffmpeg, that's my next step. However, it would be good not to have such error during "normal" installation.
@joshuaboniface commented on GitHub (Feb 22, 2019):
Yup, you should be able to - I made it a static build to make this sort of thing really easy. The hope with
jellyfin-ffmpegwas to make life easier on a stock Buster system, but the sheer number offfmpegpackages out there make it a bit of a pain. The fact that JF looks forffmpegon the$PATHfirst (so it will always prefer/usr/bin/ffmpegunless explicitly overridden in the GUI or via the CLI arguments in/etc/default/jellyfin) is what drovejellyfin-ffmpegin its current form, so the extraction would be the next preferred option.Then update and uncomment
JELLYFIN_FFMPEG_OPTandJELLYFIN_FFPROBE_OPTin/etc/default/jellyfinto point at the new binaries.With that version you have, assuming you're not using other software that needs a newer version, your stock
3.2ffmpegshould work fine with JF. If not, you can try to remove the existingffmpegpackage and then installjellyfin-ffmpeg, since once the new package is installed it willProvidesffmpegfor other packages that depend on it.@iacchi commented on GitHub (Feb 22, 2019):
If you say it works fine then I won't touch it. I just thought maybe v.4.0.3 would work better? Uninstalling ffmpeg first and then installing jellyfin-ffmpeg is something I thought about, but Jellyfin would get uninstalled as well and so I haven't done it because I simply don't know (but maybe you could tell me) if, when I uninstall the jellyfin package, I will also remove all configuration and media library files, so that I will have to start from scratch when I re-install.
@joshuaboniface commented on GitHub (Feb 22, 2019):
Nope, as long as it's just a
remove(notpurge), your data/configs will all be there when you reinstall! 4.0.3 might work better for some features (stuff like hardware transcoding), but in my experience the 3.2 from Stretch worked just fine for basic usage/transcoding/subtitles/etc.@joshuaboniface commented on GitHub (Feb 22, 2019):
However I will say I'm glad for the feedback, I think I'm going to make some improvements to this whole setup for 10.2.2 (or 10.3.0, whichever comes first).
@iacchi commented on GitHub (Feb 22, 2019):
well, hardware transcoding is already a good enough reason for me :)
Anyway, thank you for all the help and the explanations! Glad that I could bring a final user point of view to the matter.
@iacchi commented on GitHub (Feb 22, 2019):
I just tried to install jellyfin-ffmpeg and it's officially not compatible with debian stable:
@joshuaboniface commented on GitHub (Feb 22, 2019):
Aah OK, that settles that then, the shdeplibs were built specifically for Buster. I'll see if I can get that fix up this weekend!
@skug67 commented on GitHub (Feb 22, 2019):
FYI, the problem on my end is not so much operational compatibility (I've jellyfin 10.1.0-1 installed and working fine with ffmpeg 4.1.1-dmo2 from deb-multimedia/buster -- I never do hardware transcoding so perhaps that's why I haven't had any issues). But as long as I've got packages with conflicting dependencies (mythtv and jellyfin), I'm going to be stuck on 10.1.0-1 forever. :(
@joshuaboniface commented on GitHub (Feb 22, 2019):
@skug67 Will MythTV not work with 4.0.3? I've never used that software before, but if it will work you should be able to gracefully remove
ffmpegand installjellyfin-ffmpeg, then install bothjellyfinandmythtvon top of that - this is definitely an experiment though I know another user had success doing that.@skug67 commented on GitHub (Feb 22, 2019):
Technically it's not mythtv that's throwing the incompatibility it's mythweb. When i try to remove the existing ffmpeg it insists on uninstalling mythweb. And mythweb is my primary interface for managing/scheduling recordings -- so deleting it really isn't an option. I'll see if a dpkg install with ignore-dependencies (instead of apt-get) leaves me in a stable situations....
@joshuaboniface commented on GitHub (Feb 22, 2019):
Thanks, if not, I'll make this a priority for a quick package update.
@skug67 commented on GitHub (Feb 22, 2019):
OK. That did work. I need to check that my auto-transcode jobs in mythtv (flag commercials and convert to MKVs with chapters to facilitate commercial skipping) still work.
PS -- would be awesome (but not a super-high priority) if the jellyfin web player obeyed MKV chapter lists.
@joshuaboniface commented on GitHub (Feb 22, 2019):
Great! I'm still going to try simplifying how this all works though, I think it's easy enough to just go all-in with
jellyfin-ffmpegand update the/etc/default/jellyfinto use it by default for the future.As for the MKV chapter lists, I'd definitely make a new issue for that or it will get lost, but that's a good suggestion!
@joshuaboniface commented on GitHub (Mar 1, 2019):
Corrected with 10.2.2.
jellyfin-ffmpegis now entirely separate fromffmpegproper.@iacchi commented on GitHub (Mar 1, 2019):
Great! Thank you!
@JustAMan commented on GitHub (Mar 5, 2019):
@iacchi pls don't forget to make an issue :)
@iacchi commented on GitHub (Mar 5, 2019):
That wasn't me, it was @skug67
@skug67 commented on GitHub (Mar 5, 2019):
Already submitted a feature request.
Sent from my iPad