AlexPresso/VideoStation-FFMPEG-Patcher

[XPenology] Enable iGPU / Hardware transcoding

alekc70 opened this issue · 4 comments

Please check the FAQ before posting any question.

Question
Hello!
First of all thank you for your work!
I would propose adding a wrapper function that includes the necessary commands to enable GPU usage for transcoding video with FFmpeg. You can find a description https://gist.github.com/danpawlik/d1ddd34e01e19d68fdc5890f1d343b95
The reason I'm suggesting this is that it would enable hardware acceleration on the SA6400 with CPU >= Gen11 or NVIDIA/AMD graphics.

I found one more interesting article https://timothybasanov.com/2018/12/08/hardware-accelerated-h264-encoding-synology-nas.html

Maybe problem in propriate synology ffmpeg library which have no necessary comands inside. Would be possible to change it to one from ds920+ or another one?

Hello @alekc70

Thank you for your issue, but there's something I don't understand, why do you want to enable GPU transcoding on a SA6400 ? this NAS model doesn't support it, it's having an AMD Epyc which is not having a iGPU

The wrapper itself is not built to enable hardware transcoding, it's here to change the VideoStation's ffmpeg parameters so that it delegates the transcoding to SynoCommunity ffmpeg and at same time does some tuning on ffmpeg parameters

By default, it's up to VideoStation to pass the original parameters (including GPU transcoding parameters, if available)

Hello @AlexPresso!

Because I want to build a NAS server with a modern CPU, I'm currently using an i5-12400. The DSM model SA6400 is the only one that supports an iGPU (Gen 11) due to its kernel 5.

However, a colleague found a solution that I'm currently testing: https://xpenology.com/forum/topic/70520-video-station-使用vaapi-硬解-的方法/

Hello,

Oh okay, I see, thank you very much for the feedback
Unfortunately, I'm not planning to support non-official distributions, sorry
I will keep this issue pinned, so other XPenology users can have a workaround, but it will not be included in the patcher itself