More > JRiver Media Center 29 for Linux
Docker Images for MC29
cncb:
Unfortunately, changing the permissions did not make a difference.
I really appreciate your help and patience, but I think I will give up for now.
max096:
--- Quote from: cncb on June 17, 2022, 03:48:50 pm ---Unfortunately, changing the permissions did not make a difference.
I really appreciate your help and patience, but I think I will give up for now.
--- End quote ---
Yeah, i'll try to make it work for nvidia cards. Well see maybe that fixes that for intel too, but I have my doubts because the setup is quite different.
max096:
So the GPU is useable in the container, but depends on what you are doing and wether or not all the required libraries are installed.
MC still does not use it. I did install jellyfins ffmpeg version for testing purposes as the one that gets installed from the debian repos by default does not include nvenc (not really worth it compiling my own at this point).
When I playback a h264 1080p video on my host directly it uses almost 0% cpu.
When I play the same file within the container CPU utilization is at around 30% (however I do see the MC process popping up in nvidia-smi). It does not use the GPU for decoding.
In the MC logs it also sais that it failed to find GPU 0.
--- Code: ---1789472: 140125191772096: Playback: CJRVideoRendererCore::PLLog: Probing for vulkan devices:
1789477: 140125191772096: Playback: CJRVideoRendererCore::PLLog: GPU 0: llvmpipe (LLVM 11.0.1, 256 bits) (software)
1789477: 140125191772096: Playback: CJRVideoRendererCore::PLLog: uuid: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
--- End code ---
How do you determine that there is a GPU available? The detection might just not work for however nvidia-container-toolkit manages to make the GPU available. I copied this random ffmpeg command from the nvidia docs (no idea what it does tbh, but it does utilize the gpu).
--- Code: ---ffmpeg -y -vsync 0 -c:v h264_cuvid -i /data/movies/Aquaman\ \(2018\).mkv /tmp/output.yuv
--- End code ---
When I run this it reports around 30-50% Video Engine Utilization in NVIDIA settings.
I attached the ffmpeg configuration of my host (where its working), the current container (might also be missing something required for intel hardware acceleration not sure at this point), the jellyfin ffmpeg version and logs from playing back a video on the host and the container (with jellyfin ffmpeg).
If you want I can build you the image with jellyfins ffmpeg version and instruction how to setup nvidia gpu for testing this. Im not sure at this point that there is anything I can do because as far as I can tell the GPU is available and useable, but MC will refuse to use it.
Hendrik:
According to your container log, it actually uses NVDEC for decoding, but the video rendering is using a software device - which would probably be rather slow. So it might be missing proper access to either Vulkan or OpenGL.
max096:
--- Quote from: Hendrik on June 19, 2022, 11:17:12 am ---According to your container log, it actually uses NVDEC for decoding, but the video rendering is using a software device - which would probably be rather slow. So it might be missing proper access to either Vulkan or OpenGL.
--- End quote ---
Oh yeah.... I suppose if I play 1080p at it's original resolution I won't see much decoding action regardless. That VNC can use the GPU is not all that important as long as it can do it over media network. Sure it would be nice for general gui responsiveness, but nobody is realistically gonna watch a movie over VNC.
Seems like thats on the right track then. I tried to stream from it at 480p. Still missing some codecs. The ffmpeg version i have only has these (for h264)
--- Code: --- VFS..D h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
V..... h264_v4l2m2m V4L2 mem2mem H.264 decoder wrapper (codec h264)
V....D h264_qsv H264 video (Intel Quick Sync Video acceleration) (codec h264)
V..... h264_cuvid Nvidia CUVID H264 decoder (codec h264)
--- End code ---
--- Code: ---0009247: 140479555417856: Encoders: CFFmpegTranscoder::AVLog: [h264_nvenc @ 00007FC3E0137880] Loaded Nvenc version 11.1
0009247: 140479555417856: Encoders: CFFmpegTranscoder::AVLog: [h264_nvenc @ 00007FC3E0137880] Nvenc initialized successfully
0009247: 140479555417856: Encoders: CFFmpegTranscoder::AVLog: [h264_nvenc @ 00007FC3E0137880] The selected preset is deprecated. Use p1 to p7 + -tune or fast/medium/slow.
0009260: 140479555417856: Encoders: CFFmpegTranscoder::AVLog: [h264_nvenc @ 00007FC3E0137880] 1 CUDA capable devices found
0009261: 140479555417856: Encoders: CFFmpegTranscoder::AVLog: [h264_nvenc @ 00007FC3E0137880] [ GPU #0 - < NVIDIA GeForce GTX 1070 > has Compute SM 6.1 ]
0009297: 140479026939648: Sharing Plugins: CUDPSocketReader::Accept: Finish (74 ms)
0009297: 140478364452608: Sharing Plugins: CHTTPListenerWorker::HandleConnection: Start
0009297: 140478364452608: Sharing Plugins: CHTTPListenerWorker::HandleRequest: UDP: 172.17.0.1: : http://127.0.0.1
0009297: 140478364452608: Sharing Plugins: CHTTPListenerWorker::HandleConnection: Finish (0 ms)
0009307: 140479026939648: Sharing Plugins: CUDPSocketReader::Accept: Start
0009307: 140479026939648: Sharing Plugins: CUDPSocketReader::Accept: Description: CListenerBase::CListenerBase [UDP]
0009314: 140479555417856: Encoders: CFFmpegTranscoder::AVLog: [h264_nvenc @ 00007FC3E0137880] supports NVENC
0009314: 140479555417856: Encoders: CFFmpegTranscoder::AVLog: [h264_nvenc @ 00007FC3E0137880] Specified rc mode is deprecated.
0009314: 140479555417856: Encoders: CFFmpegTranscoder::AVLog: [h264_nvenc @ 00007FC3E0137880] Use -rc constqp/cbr/vbr, -tune and -multipass instead.
0009314: 140479555417856: Encoders: CFFmpegTranscoder::AVLog: [h264_nvenc @ 00007FC3E0137880] Lookahead enabled: depth 8, scenecut enabled, B-adapt enabled.
0009316: 140479555417856: Encoders: CFFmpegTranscoder::AVLog: [h264_nvenc @ 00007FC3E0137880] InitializeEncoder failed: invalid param (8): Presets P1 to P7 are not supported with older 2 Pass RC Modes(CBR_HQ, VBR_HQ) and cbr lowdelay.
Enable NV_ENC_RC_PARAMS::multiPass flag for two pass encoding a
0009344: 140479555417856: Encoders: CFFmpegTranscoder::AVLog: [h264_nvenc @ 00007FC3E0137880] Nvenc unloaded
0009344: 140479555417856: Encoders: CFFmpegTranscoder::CreateVideoStream: Opening codec 'h264_nvenc' failed
--- End code ---
Do you have a list of codecs that MC will attempt to use? So I can make sure they are all there and not just the once I happened to run across by chance? Or is this a possibly all of them situation and you don't know until its needed?
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version