-
-
Notifications
You must be signed in to change notification settings - Fork 134
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
Add rkmpp support #160
Add rkmpp support #160
Conversation
#161 has been merged, you can rebase to avoid the CI error. |
Can we rebase and squash before merging please :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apply these suggestions and squash this PR to one commit.
4de4a3f
to
63943f2
Compare
Squashed! |
Once the CI is done, you need to verify that artifact works on a rockchip SBC. |
I've installed the artifact, how do I test it? |
https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/rkmppdec.c /usr/lib/jellyfin-ffmpeg/ffmpeg -decoders | grep rkmpp hwdec: swdec: |
(WIP) Decoders
H264 hw decode
|
Add https://github.com/rockchip-linux/mpp/blob/786b79f9767d24bed618be60046546b508f9190e/inc/mpp_err.h#L27 Actually I'm not familiar with rkmpp. You have to debug on your own. |
I doubt mpp support can be added straight out of jellyfin's setup. Fortunately armbian maintains a legacy build for that kernel which makes the initial setup easy, but without this very specific kernel, the mpp library will fail to initialize. (Mainline linux doesn't have /dev/vpu_service available) Assuming that full rkmpp integration is just a holygrail, would there be a way to force jellyfin to "try" to use ffmpeg's mpp codec? So far, I got a custom ffmpeg build with mpp enabled. |
I'm pretty sure that's what this PR is trying to do, I guess I got stalled because I'm not using that specific kernel. |
This PR has just enabled rkmpp encoder in our custom ffmpeg. To utilize rkmpp you still need to modify the source code of Jellyfin to add support for it. Or use a ffmpeg wrapper to replace the software encoder libx264 with rkmpp encoder. |
Thanks, I wasn't sure if I was missing anything obvious. I suppose the solution doesn't necessarily need to be specific for rkmpp. Adding the ability to define ffmpeg's encoder/decoder wouldn't be a terrible idea. I'm thinking that if we can define decoder/encoder separately, it could leverage 2 separate hardware. The reason I'm thinking like this is because on RK3399, hevc and h264 shares the same VPU. Which limits its transcoding capability to 1080p@30fps if i'm not mistaken. (I read that somewhere, sorry I don't have the source) I might be thinking too far ahead. I just thought I'd share the thought. Jumps down the rabbit hole |
Hey, is this going anywhere, or am I able to test it out somehow? |
I have a FriendlyElec NanoPi R6s. Is there any way I can help with testing? Hardware accellerated transcoding would be really neat! :) |
|
Superseded by #318 |
TODO:
Changes
Issues
Fixes #34