This is something that has been increasingly prevalent with my server, for the longest time I could torrent, have two people watching and everything’s fine, but lately, especially with specific shows, it will take upwards of a minute for a show to start.

I’ve looked into it and the culprit is ffmpeg most of the time, I assume this has something to do with the specific files not having transcoding “baked in” but I don’t know enough to know if that’s the case. Can anyone help me optimize my pipeline at all?

  • empireOfLove2@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    23
    ·
    edit-2
    13 hours ago

    A. Run a batch transcode with Handbrake and make all your stored files compatible with your end players.
    It sounds like the more recent things you are downloading are in a codec that is not compatible with your playback devices. E.g, older torrents are frequently an H.264 stream in an MP4 container, which practically every device can play now. Many modern releases are being distributed in H.265 or AV1, as they have significant size and quality benefits, but many older devices don’t support them natively. so it is forcing Jellyfin to live transcode to h.264. Find out what older titles play without any buffer or playback lag/high CPU usage and check what codec those files are in. That is what you’ll need to batch encode everything over to.

    B. Sounds like you are still relying on CPU transcoding which is absolute dog. What mini pc specs do you have? If it’s an AMD or Intel CPU/APU then it should have hardware encode/decode included in it’s integrated GPU. When using hardware transcoding the CPU load is generally minimal for 1 to 2 streams. See the Jellyfin docs on hardware acceleration here.

    • StarvingMartist@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      9
      arrow-down
      1
      ·
      13 hours ago

      I’ve tried handbrake before, unfortunately the system DOES NOT have the horsepower to handle it, as in a batch of 30 episodes if I recall would have taken about 3 days

      As for the system itself here’s the spec sheet

      • DaGeek247@fedia.io
        link
        fedilink
        arrow-up
        21
        ·
        12 hours ago

        You should not be having transcode issues with anything less than four concurrent streams on that server. https://www.reddit.com/r/PleX/comments/1ae6683/intel_n100_vs_ryzen_7_1700_1st_gen_an_interesting/

        It’s likely that you have hardware transcoding disabled. Enable it, and these issues should go away. This forum post has good settings in jellyfin for an n100, https://forum.jellyfin.org/t-solved-correct-transcoding-settings-for-the-n100-processor

        You should be able to find instructions for enabling hardware encoding in your bios by searching for it with your specific device model.

        *edit

        Handbrake does a bad job of explaining the difference between software encoding and hardware encoding. Or at least, it felt that way to me when I last used it. You likely were trying to software encode your videos, which, while theoretically makes the end result better quality, definitely won’t be quick on an n100. You’ll want to pick the option that has intel quicksync/qsv in it in order to get the most speed out of your handbrake encodes. https://www.reddit.com/r/handbrake/comments/z2m814/comment/kxu2a8x/

      • surph_ninja@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        13 hours ago

        Do you have another system you can use? Maybe with a video card on it that can help with pre-transcoding files?

        This is what I ended up doing on mine. Was a big hit to my electric bill to pre-transcode the entire library (only for files that needed it), but now everything serves up in a flash. And the script runs as a nightly cron to catch any new stuff.

        If you have to, maybe just dedicate the system you have here to transcode certain problematic content. Other than finding another download in a different format, I’m not sure there’s anything else you can practically do.