I’m hoping someone could shed some light as to what’s going on here.

I was able to get Handbrake installed on my Synology DS920+ NAS with Intel Quick Sync support. Using the exact same settings that I do on my local installation of Handbrake, the file size and end results appear vastly different.

I’ve tested different video files, but also the exact same one.

For example:

  • Original file H.264 1.3 GiB 18.1MBits/s bitrate
  • Handbrake local H.265 459 MiB 6.42 Mbits/s bitrate
  • Handbrake docker H.265 973 MiB 13.6 Mbits/s bitrate

My settings are:

  • Video encoder: H.265 (Intel QSV)
  • Framerate: Same as source
  • Variable framerate
  • Preset: Quality
  • Constant Quality: ICQ 32
  • Multi-pass encoding enabled.
  • Profile: Auto
  • Level: Auto
  • Filters: off
  • Dimensions: default (no resize, rescale, etc.)
  • Audio: AAC (avcodec) (mono)
  • Web optimized: Yes
  • Align A/V start: Yes
  • Passthrough Common Metadata: Yes

Is there an oversight that I’m missing that could explain this? I’d rather use the Docker version, since it doesn’t tie up my main laptop.

  • bigredgiraffe@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    3 days ago

    I had a few ideas, I’m suspicious that handbrake is falling back to CPU, maybe check the logs of the container to make sure it isn’t falling back to CPU decoding. Otherwise here are a few things I would check next:

    • If you are not using docker locally so you are already doing this, you will need to configure the docker container to pass through the GPU for quicksync to work inside the container.
    • If you are already doing that then I would make sure the device is the same name on the synology, it probably is but just to be sure.
    • you will likely need to add your user to the video and/or render group on the synology if you haven’t, especially if you are running the container as your user instead of root
    • make sure you are reading and writing to volumes that use bind mounts and not docker volumes, overlayfs is not what I would call fast and writing especially.
    • Showroom7561@lemmy.caOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      3 days ago

      Thanks for the ideas.

      GPU does seem to be passed onto the docker container, not only because of the dramatic increase in speed, but also because the CPU isn’t being maxed out like it was before adding the GPU hardware line.

      Volumes are bind mounts.

      I experimented with permissions and user groups, and noticed no difference to the behaviour in render output.

      For these videos, quality isn’t super important, but file size is. I spent most of yesterday tweaking settings on my local Handbrake install to get the right balance. So, I assumed transferring the settings over would give the same results.

      • e0qdk@reddthat.com
        link
        fedilink
        English
        arrow-up
        3
        ·
        3 days ago

        Are you running different versions of the software? (e.g. different versions of ffmpeg, maybe?)

        • Showroom7561@lemmy.caOP
          link
          fedilink
          English
          arrow-up
          3
          ·
          3 days ago

          Same version of Handbrake (1.9.2), but I’m not even sure how to check for the ffmpeg version on my NAS, or what Handbrake is using. The system panel in the Handbrake info window doesn’t list ffmpeg at all.