![]() |
Haswell Hardware Transcoding? - Printable Version +- Jellyfin Forum (https://forum.jellyfin.org) +-- Forum: Support (https://forum.jellyfin.org/f-support) +--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting) +--- Thread: Haswell Hardware Transcoding? (/t-haswell-hardware-transcoding) |
Haswell Hardware Transcoding? - JdeFalconr - 2025-05-19 Thanks in advance for your help. I'm hoping for some help getting some form of hardware transcoding working with my antiquated E3-1265Lv3; anything will be better than the alternative. From what I've read elsewhere others have gotten Haswell CPUs to work. This page seems to say that Haswell ought to support a few forms of VAAPI encoding and decoding. While QSV would be very nice - and it's theoretically supported - I'm not trying for it at this time. My platform is Ubuntu Server 24.04.2 LTS in a VMWare VM. I've gone through the official install instructions, confirming I see a renderD128 device, and I've made sure to add the jellyfin user to the render user group. v24.35.30872.22 of the intel-opencl-icd is installed (step #5) and I've run the installation in step 6 (sudo apt install -y intel-opencl-icd). I'm wondering if the issue is drivers. Trouble is, I'm not sure which drivers I should install or where to get them. Anyhow, in the official Jellyfin docs for setting up hardware transcoding on Linux Step 7 is where things break down: Code: sudo /usr/lib/jellyfin-ffmpeg/vainfo --display drm --device /dev/dri/renderD128 Step 8: Code: sudo /usr/lib/jellyfin-ffmpeg/ffmpeg -v verbose -init_hw_device vaapi=va:/dev/dri/renderD128 -init_hw_device opencl@va Probably unsurprisingly videos don't play at all for me; here's a ffmpeg.transcode log from an attempt: Code: {"Protocol":0,"Id":"a0e33ea8281c901d7f3fe7ff64487c88","Path":"/var/lib/jellyfin/data/livetv/recordings/Saturday Night Live/Season 50/Saturday Night Live S50E21 Scarlett Johansson; Bad Bunny.ts","EncoderPath":null,"EncoderProtocol":null,"Type":0,"Container":"ts","Size":4753439168,"Name":"Saturday Night Live S50E21 Scarlett Johansson; Bad Bunny","IsRemote":false,"ETag":"15f27c6c9cb9f506fce7ca9d861fef21","RunTimeTicks":56393006110,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"UseMostCompatibleTranscodingProfile":false,"RequiresOpening":false,"OpenToken":null,"RequiresClosing":false,"LiveStreamId":null,"BufferMs":null,"RequiresLooping":false,"SupportsProbing":true,"VideoType":0,"IsoType":null,"Video3DFormat":null,"MediaStreams":[{"Codec":"mpeg2video","CodecTag":null,"Language":null,"ColorRange":null,"ColorSpace":null,"ColorTransfer":null,"ColorPrimaries":null,"DvVersionMajor":null,"DvVersionMinor":null,"DvProfile":null,"DvLevel":null,"RpuPresentFlag":null,"ElPresentFlag":null,"BlPresentFlag":null,"DvBlSignalCompatibilityId":null,"Rotation":null,"Comment":null,"TimeBase":"1/90000","CodecTimeBase":null,"Title":null,"VideoRange":1,"VideoRangeType":1,"VideoDoViTitle":null,"AudioSpatialFormat":0,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"LocalizedHearingImpaired":null,"DisplayTitle":"1080i MPEG2VIDEO SDR","NalLengthSize":null,"IsInterlaced":true,"IsAVC":false,"ChannelLayout":null,"BitRate":6743303,"BitDepth":8,"RefFrames":1,"PacketLength":null,"Channels":null,"SampleRate":null,"IsDefault":false,"IsForced":false,"IsHearingImpaired":false,"Height":1080,"Width":1920,"AverageFrameRate":29.97003,"RealFrameRate":59.94006,"ReferenceFrameRate":29.97003,"Profile":"Main","Type":1,"AspectRatio":"16:9","Index":0,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":"yuv420p","Level":4,"IsAnamorphic":false},{"Codec":"ac3","CodecTag":"AC-3","Language":"eng","ColorRange":null,"ColorSpace":null,"ColorTransfer":null,"ColorPrimaries":null,"DvVersionMajor":null,"DvVersionMinor":null,"DvProfile":null,"DvLevel":null,"RpuPresentFlag":null,"ElPresentFlag":null,"BlPresentFlag":null,"DvBlSignalCompatibilityId":null,"Rotation":null,"Comment":null,"TimeBase":"1/90000","CodecTimeBase":null,"Title":null,"VideoRange":0,"VideoRangeType":0,"VideoDoViTitle":null,"AudioSpatialFormat":0,"LocalizedUndefined":null,"LocalizedDefault":"Default","LocalizedForced":null,"LocalizedExternal":"External","LocalizedHearingImpaired":null,"DisplayTitle":"English - Dolby Digital - 5.1","NalLengthSize":null,"IsInterlaced":false,"IsAVC":false,"ChannelLayout":"5.1","BitRate":384000,"BitDepth":null,"RefFrames":null,"PacketLength":null,"Channels":6,"SampleRate":48000,"IsDefault":false,"IsForced":false,"IsHearingImpaired":false,"Height":null,"Width":null,"AverageFrameRate":null,"RealFrameRate":null,"ReferenceFrameRate":null,"Profile":null,"Type":0,"AspectRatio":null,"Index":1,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":null,"Level":0,"IsAnamorphic":null},{"Codec":"ac3","CodecTag":"AC-3","Language":"spa","ColorRange":null,"ColorSpace":null,"ColorTransfer":null,"ColorPrimaries":null,"DvVersionMajor":null,"DvVersionMinor":null,"DvProfile":null,"DvLevel":null,"RpuPresentFlag":null,"ElPresentFlag":null,"BlPresentFlag":null,"DvBlSignalCompatibilityId":null,"Rotation":null,"Comment":null,"TimeBase":"1/90000","CodecTimeBase":null,"Title":null,"VideoRange":0,"VideoRangeType":0,"VideoDoViTitle":null,"AudioSpatialFormat":0,"LocalizedUndefined":null,"LocalizedDefault":"Default","LocalizedForced":null,"LocalizedExternal":"External","LocalizedHearingImpaired":null,"DisplayTitle":"Spanish - Dolby Digital - Stereo","NalLengthSize":null,"IsInterlaced":false,"IsAVC":false,"ChannelLayout":"stereo","BitRate":128000,"BitDepth":null,"RefFrames":null,"PacketLength":null,"Channels":2,"SampleRate":48000,"IsDefault":false,"IsForced":false,"IsHearingImpaired":false,"Height":null,"Width":null,"AverageFrameRate":null,"RealFrameRate":null,"ReferenceFrameRate":null,"Profile":null,"Type":0,"AspectRatio":null,"Index":2,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":null,"Level":0,"IsAnamorphic":null}],"MediaAttachments":[],"Formats":[],"Bitrate":7255303,"FallbackMaxStreamingBitrate":null,"Timestamp":0,"RequiredHttpHeaders":{},"TranscodingUrl":null,"TranscodingSubProtocol":0,"TranscodingContainer":null,"AnalyzeDurationMs":null,"DefaultAudioStreamIndex":null,"DefaultSubtitleStreamIndex":null,"HasSegments":false} RE: Haswell Hardware Transcoding? - nyanmisaka - 2025-05-19 VAAPI cannot access iGPU video codecs in VMware virtual machines. A bare metal Linux installation is required. RE: Haswell Hardware Transcoding? - JdeFalconr - 2025-05-19 (2025-05-19, 04:43 AM)nyanmisaka Wrote: VAAPI cannot access iGPU video codecs in VMware virtual machines. A bare metal Linux installation is required. Thank you, I really appreciate the reply. Is that even with passthrough or SR-IOV? If I added a discrete GPU to the host and passed it through to the VM is there a reason that wouldn't work? RE: Haswell Hardware Transcoding? - nyanmisaka - 2025-05-19 I suspect that this iGPU does not support SRIOV. https://www.intel.com/content/www/us/en/support/articles/000093216/graphics/processor-graphics.html RE: Haswell Hardware Transcoding? - tollgate - 2025-06-15 Just to add to this - I have an i5-4570T (Haswell). Jellyfin installed bare metal. VAAPI is all set up and working. But the quality when a hardware transcode occurs is pretty poor, especially on faster moving scenes. In fact I've turned off hardware transcoding and rely on software transcoding which just about keeps up. |