New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to get handbrake container to use Synology’s hardware acceleration #238
Comments
I'm having similar issues trying various combinations of solutions in the issues.
I noticed a PR in the handbrake repository that may be related: I tried various versions of the docker image: 1.23.x through latest with the same problem. Maybe this is a problem with handbrake itself. Any other suggestions I can try? Update |
I've got a similar problem with the DS920+ (Intel Celeron J4125). Happens with every QSV profile, with and without
|
Did you look at the container's log ( |
@shrugal I have the same configuration as you and my QSV works. Here's my services:
handbrake:
image: jlesage/handbrake
container_name: handbrake
environment:
- USER_ID=0 # User has to be root or QSV doesn't seem to work
- GROUP_ID=100 # Skip this if you don't care about your files being accessible to other user groups
ports:
- "5800:5800"
volumes:
- "/volume1/Docker/handbrake:/config:rw"
- "/volume1/V/Transcode/storage:/storage:ro"
- "/volume1/V/Transcode/watch:/watch:rw"
- "/volume1/V/Transcode/output:/output:rw"
devices:
- /dev/dri:/dev/dri
restart: unless-stopped |
Do you still have this issue with the latest Docker image ? |
Hello there,
I need a hand please, I have a DS718+ Synology NAS and I have Handbreak running on a docker container, auto convert from the watch folder works perfectly but it is using a lot of CPU, so I’ve been looking into existing posts about issues with transcoding and QSV H.265 but I can’t get my container to use the hardware acceleration.
Here is the docker command I’m using:
sudo docker run -d -p 5800:5800 --name=handbrake1 --device /dev/dri/renderD128:/dev/dri/renderD128 --device /dev/dri/card0:/dev/dri/card0 -e USER_ID=0 -e GROUP_ID=101 -v /volume1/docker/Handbrake/Config:/config:rw -v /volume1/docker/Handbrake/Storage:/storage:ro -v /volume1/Movies/Watch:/watch:rw -v /volume1/Movies/Output:/output:rw jlesage/handbrake
I’m using the preset: Hardware/H.265 QSV 1080p
Here is the conversion error I’m getting.
[15:42:18] Starting Task: Encoding Pass
[15:42:18] Skipping vfr filter
[15:42:18] Skipping crop/scale filter
[15:42:18] job configuration:
[15:42:18] * source
[15:42:18] + /watch/Twister (1996).mp4
[15:42:18] + title 1, chapter(s) 1 to 1
[15:42:18] + container: mov,mp4,m4a,3gp,3g2,mj2
[15:42:18] + data rate: 1962 kbps
[15:42:18] * destination
[15:42:18] + /output/.tPZkmO/Twister (1996).mp4
[15:42:18] + container: MPEG-4 (libavformat)
[15:42:18] * video track
[15:42:18] + decoder: h264 10-bit (yuv420p10le)
[15:42:18] + bitrate 1575 kbps
[15:42:18] + filters
[15:42:18] + Format (format=yuv420p)
[15:42:18] + Output geometry
[15:42:18] + storage dimensions: 1920 x 794
[15:42:18] + pixel aspect ratio: 1 : 1
[15:42:18] + display dimensions: 1920 x 794
[15:42:18] + encoder: H.265 (Intel Media SDK)
[15:42:18] + preset: speed
[15:42:18] + profile: auto
[15:42:18] + level: auto
[15:42:18] + quality: 22.00 (ICQ)
[15:42:18] + color profile: 1-1-1
[15:42:18] + chroma location: left
[15:42:18] * audio track 1
[15:42:18] + decoder: Unknown (AC3) (5.1 ch) (384 kbps) (track 1, id 0x1)
[15:42:18] + bitrate: 384 kbps, samplerate: 48000 Hz
[15:42:18] + mixdown: Stereo
[15:42:18] + encoder: AAC (libfdk_aac)
[15:42:18] + bitrate: 160 kbps, samplerate: 48000 Hz
[15:42:19] sync: expecting 162614 video frames
[15:42:19] hb_display_init: using VA driver 'iHD'
libva info: VA-API version 1.14.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
ERROR: encqsvInit: MFXVideoENCODE_Init failed (-3)
[15:42:19] encqsvInit: using encode-only (LowPower) path
[15:42:19] encqsvInit: H.265/HEVC (null) profile @ level (null)
[15:42:19] encqsvInit: TargetUsage 7 AsyncDepth 6
[15:42:19] encqsvInit: GopRefDist 3 GopPicSize 24 NumRefFrame 1
[15:42:19] encqsvInit: BFramesMax 2 BRefType off
[15:42:19] encqsvInit: RateControlMethod ICQ ICQQuality 22
ERROR: Failure to initialise thread 'Quick Sync Video encoder (Intel Media SDK)'
[15:42:19] ac3-decoder done: 0 frames, 0 decoder errors
[15:42:19] h264-decoder done: 0 frames, 0 decoder errors
[15:42:19] sync: got 0 frames, 162614 expected
[15:42:20] Finished work at: Sat Nov 12 15:42:20 2022
[15:42:20] libhb: work result = 3
Encode failed (error 3).
HandBrake has exited.
I know my device supports this but any idea how to enable it and make it visible to the docker container?
Thank you.
The text was updated successfully, but these errors were encountered: