Phalcon 2 Posted April 27 Posted April 27 As much as I prefer Emby I guess I'll buy Plex instead before the price increase since the GPU is supported. I was really hoping for an update to drop before that price update, fingers crossed, there's still a few hours left.
AlienFarmer 3 Posted April 27 Author Posted April 27 (edited) 4 hours ago, Phalcon said: As much as I prefer Emby I guess I'll buy Plex instead before the price increase since the GPU is supported. I was really hoping for an update to drop before that price update, fingers crossed, there's still a few hours left. The fact that we are getting very little response from Emby Team and the lack of action is very disappointed. You can imagine when the next new CPU comes out, it will be the same thing again. Edited April 27 by AlienFarmer
toudou 1 Posted April 28 Posted April 28 Indeed I can confirm this is an Emby issue, transcoding via GPU on the same setup for me works with Plex without any problem see the screenshot attached
toudou 1 Posted April 28 Posted April 28 Hi @Lukedo you have any info on when you'll compile ffmpeg with the proper lib supported? If you want I can do some testings 1
PIkeoftheLake 13 Posted May 26 Posted May 26 Just checking in on this. Paging @Luke It has been 5 months since the original query and still nothing. Could we at least get a status report?
quorn23 13 Posted May 26 Posted May 26 (edited) Was about to order a N150 and did a quick check, found this thread. Luke, can you push a beta for the willing people to test? Edit: And if able, remove the "solution" tag from this thread? Edited May 26 by quorn23
Luke 41265 Posted May 26 Posted May 26 Just now, quorn23 said: Was about to order a N150 and did a quick check, found this thread. Luke, can you push a beta for the willing people to test? A beta of what?
quorn23 13 Posted May 26 Posted May 26 On 3/24/2025 at 7:59 PM, Luke said: Hi, we should have an updated ffmpeg build on the server beta channel in the very near future. Thanks guys. ^ As per your post here 2
TMCsw 216 Posted May 26 Posted May 26 Just updated to 4.9.1.0-beta (confused by the version #'ing??) Still no hardware transcoding.... hardware_detection-63883875063.txt
sukerbole1 2 Posted May 28 Posted May 28 Having the same issue with a N355 inside proxmox. I tried both the manual setups, and using the helper scripts of https://community-scripts.github.io/ProxmoxVE/scripts?id=emby Emby does not show any options at all, trying the same setup on Jellyfin and it just instantly picks it up.
PIkeoftheLake 13 Posted June 6 Posted June 6 I just upgraded to the Truenas app beta version 4.9.1.0 and still no hardware transcoding for N150. 1
MSDaniel 4 Posted June 7 Posted June 7 I'm interested in the solution for the Intel N150 processor too. This is mid-year of 2025, and the transcoding still is not working. 4
UDSteve 2 Posted June 15 Posted June 15 Hi @Luke, any update on this? I can get ffmpeg to work on my system and hardware transcode, but not through the docker image. I suspect this is because the intel-media-driver needs to be built with the latest version. Running on Ubuntu server 25.04, installing via packages would not work, but directly building the latest releases worked for me. To make the docker image work it is likely needed to build from latest version. 1 1
Luke 41265 Posted June 15 Posted June 15 We'll have an updated ffmpeg build on the server beta channel in the near future. Thanks. 1
AlienFarmer 3 Posted June 15 Author Posted June 15 55 minutes ago, Luke said: We'll have an updated ffmpeg build on the server beta channel in the near future. Thanks. Same response as a few months ago. Luke's definition of near future is worrisome. 2
Solution Ra'Jiska 16 Posted June 16 Solution Posted June 16 (edited) After many trial-and-error I've finally been able to get it working by rebuilding the `intel-media-driver` library with the latest version, the hard part was compiling this with dependencies having compatible ABI as the ones running on the Emby image (thanks closed source), which I found with image `ubuntu:18.04`. Sharing here to everyone who was stuck like me. To get this working you need to make your custom image of the emby image with the updated dependencies. The following steps took me 15 minutes to build on a 20 cores CPU, the build process will take longer with less cores (therefore, much longer on a N150 if you're compiling directly there). 1) Create an empty folder with a file `Dockerfile` file with the following content FROM ubuntu:18.04 AS builder WORKDIR /workspace RUN apt-get update && \ apt-get install -y \ build-essential \ git \ cmake \ automake \ autoconf \ libtool \ m4 \ pkg-config \ libdrm-dev RUN mkdir build build/usr build/lib # Libva RUN \ git clone https://github.com/intel/libva.git && \ cd libva && \ git checkout 2.22.0 && \ ./autogen.sh --prefix=/workspace/build/usr --libdir=/workspace/build/lib && \ make -j$(nproc) && \ make install && \ cd - # Gmmlib RUN \ git clone https://github.com/intel/gmmlib.git && \ cd gmmlib && \ git checkout intel-gmmlib-22.7.2 && \ mkdir build && \ cd build && \ cmake -DCMAKE_INSTALL_PREFIX=/workspace/build/usr -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_INSTALL_LIBDIR=/workspace/build/lib -DCMAKE_BUILD_TYPE=ReleaseInternal .. && \ make -j$(nproc) && \ make install && \ cd ../../ # Media Driver RUN \ git clone https://github.com/intel/media-driver.git && \ cd media-driver && \ mkdir build && \ cd build && \ export PKG_CONFIG_PATH=/workspace/build/lib/pkgconfig && \ cmake -DCMAKE_LIBRARY_PATH=/workspace/build/lib -DCMAKE_INSTALL_PREFIX=/workspace/build/usr -DCMAKE_INSTALL_LIBDIR=/workspace/build/lib .. && \ make -j$(nproc) && \ make install RUN find /workspace/build -name "*.so" -exec strip --strip-unneeded {} \; FROM emby/embyserver:4.9.1.0 AS emby COPY --from=builder /workspace/build/lib /lib 2) Build the image using `docker build -t emby-n150-fixed .` This will take a while, the more CPU cores you have the shorter (took me about 30 minutes with 20 cores) 3) Check that this is working by running `docker run --rm -it --device /dev/dri:/dev/dri --entrypoint vainfo emby-n150-fixed`, if this returns something as follows, then it worked: Trying display: drm libva info: VA-API version 1.22.0 libva info: Trying to open /lib/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.22 (libva 2.22.0) vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 25.2.5 (4b3a078bd) vainfo: Supported profile and entrypoints VAProfileNone : VAEntrypointVideoProc VAProfileNone : VAEntrypointStats VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264Main : VAEntrypointFEI VAProfileH264Main : VAEntrypointEncSliceLP VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264High : VAEntrypointFEI VAProfileH264High : VAEntrypointEncSliceLP VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointEncPicture VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointFEI VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP VAProfileVP8Version0_3 : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointFEI VAProfileHEVCMain : VAEntrypointEncSliceLP VAProfileHEVCMain10 : VAEntrypointVLD VAProfileHEVCMain10 : VAEntrypointEncSlice VAProfileHEVCMain10 : VAEntrypointEncSliceLP VAProfileVP9Profile0 : VAEntrypointVLD VAProfileVP9Profile0 : VAEntrypointEncSliceLP VAProfileVP9Profile1 : VAEntrypointVLD VAProfileVP9Profile1 : VAEntrypointEncSliceLP VAProfileVP9Profile2 : VAEntrypointVLD VAProfileVP9Profile2 : VAEntrypointEncSliceLP VAProfileVP9Profile3 : VAEntrypointVLD VAProfileVP9Profile3 : VAEntrypointEncSliceLP VAProfileHEVCMain12 : VAEntrypointVLD VAProfileHEVCMain12 : VAEntrypointEncSlice VAProfileHEVCMain422_10 : VAEntrypointVLD VAProfileHEVCMain422_10 : VAEntrypointEncSlice VAProfileHEVCMain422_12 : VAEntrypointVLD VAProfileHEVCMain422_12 : VAEntrypointEncSlice VAProfileHEVCMain444 : VAEntrypointVLD VAProfileHEVCMain444 : VAEntrypointEncSliceLP VAProfileHEVCMain444_10 : VAEntrypointVLD VAProfileHEVCMain444_10 : VAEntrypointEncSliceLP VAProfileHEVCMain444_12 : VAEntrypointVLD VAProfileHEVCSccMain : VAEntrypointVLD VAProfileHEVCSccMain : VAEntrypointEncSliceLP VAProfileHEVCSccMain10 : VAEntrypointVLD VAProfileHEVCSccMain10 : VAEntrypointEncSliceLP VAProfileHEVCSccMain444 : VAEntrypointVLD VAProfileHEVCSccMain444 : VAEntrypointEncSliceLP VAProfileAV1Profile0 : VAEntrypointVLD VAProfileHEVCSccMain444_10 : VAEntrypointVLD VAProfileHEVCSccMain444_10 : VAEntrypointEncSliceLP You can compare and run the same command on the emby image, you should have a bunch of errors instead. 4) (OPTIONAL) For your convenience, I uploaded the image on DockerHub if you want an easy way to see if it works, use the image rajiska/emby-n150-fixed:4.9.1.0, though I'd recommend to build the image yourself Edited June 16 by Ra'Jiska Updated image to contain the tag 6 4
zeyoner 4 Posted June 18 Posted June 18 (edited) On 5/26/2025 at 2:57 PM, Luke said: A beta of what? Is he trolling? Responses are so meh. Lets not forget this is still a paid for product. The competition all already have this ability. It's like yea we know. It'll someday be in a beta in a galaxy far far away. Pretty poor approach to those who have been using Emby for some time. I don't think that we're asking for a lot here. Had there been an actual attempt to show that it is actually being worked on. I think we would all be happy. It's now been months and very little attempt shown we're being heard. A member has even complied a docker image. Having us beg for this is wild. Edited June 18 by zeyoner 4
sukerbole1 2 Posted June 18 Posted June 18 On 6/16/2025 at 3:45 PM, Ra'Jiska said: 4) (OPTIONAL) For your convenience, I uploaded the image on DockerHub if you want an easy way to see if it works, use the image rajiska/emby-n150-fixed:4.9.1.0, though I'd recommend to build the image yourself Thanks a lot! Just gave this a quick spin. I have an N355 and all is well now. Docker inside an LXC on Proxmox, and actually got video transcoding. 1 1
AlienFarmer 3 Posted June 19 Author Posted June 19 On 16/06/2025 at 09:45, Ra'Jiska said: After many trial-and-error I've finally been able to get it working by rebuilding the `intel-media-driver` library with the latest version, the hard part was compiling this with dependencies having compatible ABI as the ones running on the Emby image (thanks closed source), which I found with image `ubuntu:18.04`. Sharing here to everyone who was stuck like me. To get this working you need to make your custom image of the emby image with the updated dependencies. The following steps took me 15 minutes to build on a 20 cores CPU, the build process will take longer with less cores (therefore, much longer on a N150 if you're compiling directly there). 1) Create an empty folder with a file `Dockerfile` file with the following content FROM ubuntu:18.04 AS builder WORKDIR /workspace RUN apt-get update && \ apt-get install -y \ build-essential \ git \ cmake \ automake \ autoconf \ libtool \ m4 \ pkg-config \ libdrm-dev RUN mkdir build build/usr build/lib # Libva RUN \ git clone https://github.com/intel/libva.git && \ cd libva && \ git checkout 2.22.0 && \ ./autogen.sh --prefix=/workspace/build/usr --libdir=/workspace/build/lib && \ make -j$(nproc) && \ make install && \ cd - # Gmmlib RUN \ git clone https://github.com/intel/gmmlib.git && \ cd gmmlib && \ git checkout intel-gmmlib-22.7.2 && \ mkdir build && \ cd build && \ cmake -DCMAKE_INSTALL_PREFIX=/workspace/build/usr -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_INSTALL_LIBDIR=/workspace/build/lib -DCMAKE_BUILD_TYPE=ReleaseInternal .. && \ make -j$(nproc) && \ make install && \ cd ../../ # Media Driver RUN \ git clone https://github.com/intel/media-driver.git && \ cd media-driver && \ mkdir build && \ cd build && \ export PKG_CONFIG_PATH=/workspace/build/lib/pkgconfig && \ cmake -DCMAKE_LIBRARY_PATH=/workspace/build/lib -DCMAKE_INSTALL_PREFIX=/workspace/build/usr -DCMAKE_INSTALL_LIBDIR=/workspace/build/lib .. && \ make -j$(nproc) && \ make install RUN find /workspace/build -name "*.so" -exec strip --strip-unneeded {} \; FROM emby/embyserver:4.9.1.0 AS emby COPY --from=builder /workspace/build/lib /lib 2) Build the image using `docker build -t emby-n150-fixed .` This will take a while, the more CPU cores you have the shorter (took me about 30 minutes with 20 cores) 3) Check that this is working by running `docker run --rm -it --device /dev/dri:/dev/dri --entrypoint vainfo emby-n150-fixed`, if this returns something as follows, then it worked: Trying display: drm libva info: VA-API version 1.22.0 libva info: Trying to open /lib/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.22 (libva 2.22.0) vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 25.2.5 (4b3a078bd) vainfo: Supported profile and entrypoints VAProfileNone : VAEntrypointVideoProc VAProfileNone : VAEntrypointStats VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264Main : VAEntrypointFEI VAProfileH264Main : VAEntrypointEncSliceLP VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264High : VAEntrypointFEI VAProfileH264High : VAEntrypointEncSliceLP VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointEncPicture VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointFEI VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP VAProfileVP8Version0_3 : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointFEI VAProfileHEVCMain : VAEntrypointEncSliceLP VAProfileHEVCMain10 : VAEntrypointVLD VAProfileHEVCMain10 : VAEntrypointEncSlice VAProfileHEVCMain10 : VAEntrypointEncSliceLP VAProfileVP9Profile0 : VAEntrypointVLD VAProfileVP9Profile0 : VAEntrypointEncSliceLP VAProfileVP9Profile1 : VAEntrypointVLD VAProfileVP9Profile1 : VAEntrypointEncSliceLP VAProfileVP9Profile2 : VAEntrypointVLD VAProfileVP9Profile2 : VAEntrypointEncSliceLP VAProfileVP9Profile3 : VAEntrypointVLD VAProfileVP9Profile3 : VAEntrypointEncSliceLP VAProfileHEVCMain12 : VAEntrypointVLD VAProfileHEVCMain12 : VAEntrypointEncSlice VAProfileHEVCMain422_10 : VAEntrypointVLD VAProfileHEVCMain422_10 : VAEntrypointEncSlice VAProfileHEVCMain422_12 : VAEntrypointVLD VAProfileHEVCMain422_12 : VAEntrypointEncSlice VAProfileHEVCMain444 : VAEntrypointVLD VAProfileHEVCMain444 : VAEntrypointEncSliceLP VAProfileHEVCMain444_10 : VAEntrypointVLD VAProfileHEVCMain444_10 : VAEntrypointEncSliceLP VAProfileHEVCMain444_12 : VAEntrypointVLD VAProfileHEVCSccMain : VAEntrypointVLD VAProfileHEVCSccMain : VAEntrypointEncSliceLP VAProfileHEVCSccMain10 : VAEntrypointVLD VAProfileHEVCSccMain10 : VAEntrypointEncSliceLP VAProfileHEVCSccMain444 : VAEntrypointVLD VAProfileHEVCSccMain444 : VAEntrypointEncSliceLP VAProfileAV1Profile0 : VAEntrypointVLD VAProfileHEVCSccMain444_10 : VAEntrypointVLD VAProfileHEVCSccMain444_10 : VAEntrypointEncSliceLP You can compare and run the same command on the emby image, you should have a bunch of errors instead. 4) (OPTIONAL) For your convenience, I uploaded the image on DockerHub if you want an easy way to see if it works, use the image rajiska/emby-n150-fixed:4.9.1.0, though I'd recommend to build the image yourself Thanks buddy, your Docker image works wonders. Thanks very much! For the time being, I will use your image until the laid back Emby Team figures this out. 1
Ra'Jiska 16 Posted June 19 Posted June 19 19 hours ago, sukerbole1 said: Thanks a lot! Just gave this a quick spin. I have an N355 and all is well now. 10 hours ago, AlienFarmer said: Thanks buddy, your Docker image works wonders. Thanks very much! For the time being, I will use your image until the laid back Emby Team figures this out. Happy to know this could help you guys and that it works on other CPUs (I only have N150 to test on). Since I am not sure how long it will take Emby's team to update libraries, I made a Github repo with actions that automatically build an image with the updated libraries when a new Emby release is published. 3 1 1
quorn23 13 Posted June 20 Posted June 20 Thanks for the workaround Ra'Jiska, but i think it's a bad idea to label this as solution. It's a workaround, a solution would be an updated beta that works, as this is a half year old issue with people asking for something reasonable like support for "current" CPUs. Besides that, nice work, love the Repo with the workflow! 2
AlienFarmer 3 Posted June 20 Author Posted June 20 Agreed, but we have been begging too long for a real solution. So let's call it a temporary solution.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now