switch Posted June 19, 2019 Share Posted June 19, 2019 Hi, this is my first post here so here's hoping I'm in the correct forum. I've been scratching my head for two days now trying to get HW transcoding to work with Plex running as a Docker container. I have an ASRock J4105 miniITX board (integrated J4105 quadcore Celeron with UHD600 iGPU), so QuickSync is supported. I have of course modified my go & syslinux.cfg files to include support for the needed i915 drivers: #!/bin/bash #Setup drivers for hardware transcoding in Plex modprobe i915 chown -R nobody:users /dev/dri chmod -R 777 /dev/dri #Start the Management Utility /usr/local/sbin/emhttp & label Unraid OS menu default kernel /bzimage append pci=realloc=off initrd=/bzroot i915.alpha_support=1 I am passing /dev/dri to the container as a device and the devices are visible inside the container: root@532cd6092721:/# ls -la /dev/dri total 0 drwxr-xr-x 2 root root 80 Jun 19 11:05 . drwxr-xr-x 6 root root 360 Jun 19 11:05 .. crw-rw---- 1 root video 226, 0 Jun 19 11:05 card0 crwxrwxrwx 1 99 users 226, 128 Jun 19 11:05 renderD128 So far all looks good but when I force trasncoding by lowering the stream quality I get no video. It just seems to be buffering endlessly, yet in the dashboard, I can see HW transcoding is ongoing: I have also checked the Plex logs quite extensively and it appears that the transcoder is working fine and is actually using HW acceleration as well. Jun 19, 2019 15:38:32.248 [0x15102bbfd700] DEBUG - TPU: hardware transcoding: using hardware decode accelerator vaapi Jun 19, 2019 15:38:32.248 [0x15102bbfd700] DEBUG - [Universal] Using local file path instead of URL: /movies/Captain Marvel (2019)/Captain Marvel (2019) - Bluray-1080p.mkv Jun 19, 2019 15:38:32.249 [0x15102bbfd700] DEBUG - HTTP requesting GET http://127.0.0.1:32400/library/streams/181?X-Plex-Token=xxxxxxxxxxxxxxxxxxxx Jun 19, 2019 15:38:32.249 [0x151093dfe700] DEBUG - Auth: authenticated user 1 as obfuscated Jun 19, 2019 15:38:32.249 [0x15102b1f8700] DEBUG - Request: [127.0.0.1:34844 (Loopback)] GET /library/streams/181 (14 live) GZIP Signed-in Token (obfuscated) Jun 19, 2019 15:38:32.252 [0x15102b1f8700] DEBUG - Content-Length of /movies/Captain Marvel (2019)/Captain Marvel (2019) - Bluray-1080p.en.srt is 91753. Jun 19, 2019 15:38:32.253 [0x151093dfe700] DEBUG - Completed: [127.0.0.1:34844] 200 GET /library/streams/181 (14 live) GZIP 3ms 91753 bytes Jun 19, 2019 15:38:32.253 [0x15102bbfd700] DEBUG - HTTP 200 response from GET http://127.0.0.1:32400/library/streams/181?X-Plex-Token=xxxxxxxxxxxxxxxxxxxx Jun 19, 2019 15:38:32.253 [0x15102bbfd700] DEBUG - Detected character set of UTF-8. Jun 19, 2019 15:38:32.254 [0x15102bbfd700] DEBUG - Downloaded stream from [http://127.0.0.1:32400/library/streams/181?X-Plex-Token=xxxxxxxxxxxxxxxxxxxx] (codec: srt) to temporary file [/transcode/Transcode/Sessions/plex-transcode-jk19rtdgc5dtot7fu88d8gsy-ef1b128f-4370-4808-a01d-07825b462435/temp-0.srt] Jun 19, 2019 15:38:32.254 [0x15102bbfd700] DEBUG - TPU: hardware transcoding: zero-copy support present Jun 19, 2019 15:38:32.254 [0x15102bbfd700] DEBUG - TPU: hardware transcoding: using zero-copy transcoding Jun 19, 2019 15:38:32.254 [0x15102bbfd700] DEBUG - TPU: hardware transcoding: final decoder: vaapi, final encoder: vaapi Jun 19, 2019 15:38:32.255 [0x15102bbfd700] DEBUG - Job running: EAE_ROOT='/tmp/pms-85736070-8352-49fb-956e-d7be9ba4a099/EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='/config/Library/Application\ Support/Plex\ Media\ Server/Codecs/21b5515-2321-linux-x86_64/' XDG_CACHE_HOME='/config/Library/Application Support/Plex Media Server/Cache' XDG_DATA_HOME='/usr/lib/plexmediaserver/Resources' X_PLEX_TOKEN='xxxxxxxxxxxxxxxxxxxx' '/usr/lib/plexmediaserver/Plex Transcoder' '-codec:0' 'h264' '-hwaccel:0' 'vaapi' '-hwaccel_fallback_threshold:0' '10' '-hwaccel_output_format:0' 'vaapi' '-codec:1' 'dca' '-analyzeduration' '20000000' '-probesize' '20000000' '-i' '/movies/Captain Marvel (2019)/Captain Marvel (2019) - Bluray-1080p.mkv' '-analyzeduration' '20000000' '-probesize' '20000000' '-i' '/transcode/Transcode/Sessions/plex-transcode-jk19rtdgc5dtot7fu88d8gsy-ef1b128f-4370-4808-a01d-07825b462435/temp-0.srt' '-filter_complex' '[0:0]hwupload[0];[0]scale_vaapi=w=1278:h=538:format=nv12[1];[1]hwupload[2]' '-filter_complex' '[0:1] aresample=async=1:ocl='\''stereo'\'':osr=48000[3]' '-map' '[2]' '-metadata:s:0' 'language=eng' '-codec:0' 'h264_vaapi' '-b:0' '2717k' '-maxrate:0' '3623k' '-bufsize:0' '7246k' '-r:0' '23.975999999999999' '-force_key_frames:0' 'expr:gte(t,0+n_forced*5)' '-map' '[3]' '-metadata:s:1' 'language=eng' '-codec:1' 'aac' '-b:1' '148k' '-f' 'dash' '-min_seg_duration' '5000000' '-skip_to_segment' '1' '-time_delta' '0.0625' '-manifest_name' 'http://127.0.0.1:32400/video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/manifest' '-avoid_negative_ts' 'disabled' '-map_metadata' '-1' '-map_chapters' '-1' 'dash' '-map' '1:s:0' '-metadata:s:0' 'language=eng' '-codec:0' 'ass' '-f' 'segment' '-segment_format' 'ass' '-segment_time' '1' '-segment_header_filename' 'sub-header' '-segment_start_number' '0' '-segment_list' 'http://127.0.0.1:32400/video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/seglist?stream=subtitles' '-segment_list_type' 'csv' '-segment_list_size' '2147483647' '-segment_list_separate_stream_times' '1' '-segment_format_options' 'ignore_readorder=1' 'sub-chunk-%05d' '-start_at_zero' '-copyts' '-vsync' 'cfr' '-y' '-vaapi_device' '/dev/dri/renderD128' '-nostats' '-loglevel' 'quiet' '-loglevel_plex' 'error' '-progressurl' 'http://127.0.0.1:32400/video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress' Jun 19, 2019 15:38:32.256 [0x15102bbfd700] DEBUG - Jobs: Starting child process with pid 586 Jun 19, 2019 15:38:32.281 [0x15102adf6700] DEBUG - Request: [127.0.0.1:34846 (Loopback)] PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress?status=startup (15 live) Signed-in Token (obfuscated) Jun 19, 2019 15:38:32.282 [0x151093dfe700] DEBUG - Completed: [127.0.0.1:34846] 204 PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress?status=startup (15 live) 0ms 203 bytes (pipelined: 1) (range: bytes=0-) Jun 19, 2019 15:38:32.282 [0x1510916b8700] DEBUG - Request: [127.0.0.1:34846 (Loopback)] PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress?status=opening (15 live) Signed-in Token (obfuscated) Jun 19, 2019 15:38:32.282 [0x151093dfe700] DEBUG - Completed: [127.0.0.1:34846] 204 PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress?status=opening (15 live) 0ms 203 bytes (pipelined: 2) (range: bytes=0-) Jun 19, 2019 15:38:32.284 [0x15102aff7700] DEBUG - Request: [127.0.0.1:34846 (Loopback)] PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress?status=opened (15 live) Signed-in Token (obfuscated) Jun 19, 2019 15:38:32.284 [0x151093fff700] DEBUG - Completed: [127.0.0.1:34846] 204 PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress?status=opened (15 live) 0ms 203 bytes (pipelined: 3) (range: bytes=0-) Jun 19, 2019 15:38:32.284 [0x15102b9fc700] DEBUG - Request: [127.0.0.1:34846 (Loopback)] PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress/stream?index=0&id=0&codec=h264&type=video (14 live) Signed-in Token (obfuscated) Jun 19, 2019 15:38:32.285 [0x151093fff700] DEBUG - Completed: [127.0.0.1:34846] 206 PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress/stream?index=0&id=0&codec=h264&type=video (14 live) 0ms 256 bytes (pipelined: 4) (range: bytes=0-) Jun 19, 2019 15:38:32.285 [0x15102adf6700] DEBUG - Request: [127.0.0.1:34846 (Loopback)] PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress/stream?index=1&id=0&codec=dts&type=audio (14 live) Signed-in Token (obfuscated) Jun 19, 2019 15:38:32.285 [0x151093fff700] DEBUG - Completed: [127.0.0.1:34846] 206 PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress/stream?index=1&id=0&codec=dts&type=audio (14 live) 0ms 256 bytes (pipelined: 5) (range: bytes=0-) Jun 19, 2019 15:38:32.340 [0x1510916b8700] DEBUG - Request: [127.0.0.1:34846 (Loopback)] PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress/streamDetail?index=0&id=0&codec=h264&type=video&profile=High&language=eng&width=1920&height=808&interlaced=0&level=41&frameRate=23.9 Just an excerpt, full logs attached if anyone is interested in taking a look at them. Any ideas as to why I am not getting any video even though the transcoder appears to be working fine will be much appreciated Plex Media Server Logs_2019-06-19_16-27-36.zip Link to comment
Taddeusz Posted June 19, 2019 Share Posted June 19, 2019 With Unraid 6.7.0 you shouldn't need i915.alpha_support=1 in your syslinux.cfg file. The i915 driver has for a while directly supported up to 8th generation Coffee Lake. It doesn't yet support 9th generation Coffee Lake though. Beyond that I'm not sure what would prevent it from working? Link to comment
switch Posted June 20, 2019 Author Share Posted June 20, 2019 Thanks, Taddeusz. I've ommited that from syslinux.cfg and indeed the devices are still present. However no change with HW transcoding, still getting a black screen with the loading indicator The J4015 is 7th gen I guess (Gemini Lake) and I've seen people getting HW transcoding work on Unraid + Docker, as evidenced here: https://forums.plex.tv/t/geminilake-j4105-hw-transcoding-failing-on-win10/229306/2 I think this is probably an issue with Plex itself, was just curious if maybe someone around here has run into a similar issue... EDIT: Just did some more troubleshooting, this is the input of vainfo run inside the container: root@7011518d444b:/# vainfo error: XDG_RUNTIME_DIR not set in the environment. error: can't connect to X server! libva info: VA-API version 1.1.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_1_1 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.1 (libva 2.1.0) vainfo: Driver version: Intel i965 driver for Intel(R) Gemini Lake - 2.1.0 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264Main : VAEntrypointEncSliceLP VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264High : VAEntrypointEncSliceLP VAProfileH264MultiviewHigh : VAEntrypointVLD VAProfileH264MultiviewHigh : VAEntrypointEncSlice VAProfileH264StereoHigh : VAEntrypointVLD VAProfileH264StereoHigh : VAEntrypointEncSlice VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc VAProfileJPEGBaseline : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointEncPicture VAProfileVP8Version0_3 : VAEntrypointVLD VAProfileVP8Version0_3 : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointEncSlice VAProfileHEVCMain10 : VAEntrypointVLD VAProfileHEVCMain10 : VAEntrypointEncSlice VAProfileVP9Profile0 : VAEntrypointVLD VAProfileVP9Profile0 : VAEntrypointEncSlice VAProfileVP9Profile2 : VAEntrypointVLD However, as mentioned above, even though all seems to indicate that the transcoder sees the iGPU and is trying to use it, looking at the iGPU utilization through intel-igpu-tools, the device is idle EDIT2: Just tried the official plexinc docker image instead of linuxserver's and it behaves the same. Link to comment
psycmos Posted June 23, 2019 Share Posted June 23, 2019 I have the same issue in TVheadend with unraid 6.7. Transcoding not working too. I'm using one J4015M board and i lost transcoding after update from Unraid 6.6.6 to 6.7 ( 6.7.1 RC1 / 6.7.2 Rc2 have the same issue.), i reverted back to 6.6.6 and it are working again. So is confirmed that's an Unraid issue, not from Docker conteiners.( TVH and Plex) How cen we try find what are causing it? Best Regards, psycmos Link to comment
switch Posted June 25, 2019 Author Share Posted June 25, 2019 I think our best course of action would be to file a bug report with the unRAID dev team. I don't think this is something that can be fixed by us end users. BTW, has anyone tried if HW transcoding works with 6.7.1? Link to comment
ken-ji Posted June 26, 2019 Share Posted June 26, 2019 Would like to point out I'm not encountering issues with HW transcoding on my Pentium G4620 iGPU, but I'm using the official Emby docker. Link to comment
switch Posted June 27, 2019 Author Share Posted June 27, 2019 It almost seems to be HW specific, as I've only seen people with the J4105 CPU/UHD600 iGPU have this issue. Your CPU has UHD630 so maybe that could explain why it is working for you? Link to comment
Taddeusz Posted June 27, 2019 Share Posted June 27, 2019 It almost seems to be HW specific, as I've only seen people with the J4105 CPU/UHD600 iGPU have this issue. Your CPU has UHD630 so maybe that could explain why it is working for you?The Intel data sheet on the J4105 is weird. It doesn’t show list QuickSync support but I’ve seen other people that seem to be using it on that CPU. So it’s possible it doesn’t actually have QuickSync.Sent from my iPhone using Tapatalk Link to comment
switch Posted June 27, 2019 Author Share Posted June 27, 2019 It does. I forgot to mention that I got it to work without a hitch on unRAID 6.6.7. Link to comment
switch Posted July 1, 2019 Author Share Posted July 1, 2019 Another two affected users: Link to comment
ramblinreck47 Posted July 1, 2019 Share Posted July 1, 2019 Has anyone submitted a bug report for this yet? It seems to affect those on 6.7.x and using Plex. Are any older iGPU’s affected (older than the 7th and 8th gen one’s mentioned)? Link to comment
psycmos Posted July 2, 2019 Share Posted July 2, 2019 20 hours ago, ramblinreck47 said: Has anyone submitted a bug report for this yet? It seems to affect those on 6.7.x and using Plex. Are any older iGPU’s affected (older than the 7th and 8th gen one’s mentioned)? How can we report this for Unraid team? I have not reported it ... Link to comment
switch Posted July 2, 2019 Author Share Posted July 2, 2019 I will post to the bug reports forum on here and paste a link to the topic when I do. Please make sure to post there as well, more affected users = bigger chance for a fix. Link to comment
ramblinreck47 Posted July 2, 2019 Share Posted July 2, 2019 1 minute ago, psycmos said: How can we report this for Unraid team? I have not reported it ... I believe this (link below) is the proper place to let them know of any bugs that need to be fixed for the next release. I'm sure they'd appreciate as much information as possible. https://forums.unraid.net/bug-reports/stable-releases/ Link to comment
psycmos Posted July 2, 2019 Share Posted July 2, 2019 17 minutes ago, switch said: I will post to the bug reports forum on here and paste a link to the topic when I do. Please make sure to post there as well, more affected users = bigger chance for a fix. Great We will wait for news! Link to comment
switch Posted July 2, 2019 Author Share Posted July 2, 2019 21 hours ago, ramblinreck47 said: Has anyone submitted a bug report for this yet? It seems to affect those on 6.7.x and using Plex. Are any older iGPU’s affected (older than the 7th and 8th gen one’s mentioned)? So far this seems to be UHD600 iGPU / 7th gen Celeron Gemini Lake (J4105 namely) specific. I've opened a bug report, link one post above. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.