RE: Most compatible container and format - TheDreadPirate - 2024-07-26
Can you share your latest docker compose?
Also run this command and share the output.
Code: sudo docker exec jellyfin env
And also this.
Code: sudo cat /media/data/jellyfin/config/config/encoding.xml
And I see you are using VAAPI instead of Intel Quick Sync. Switch to Quick Sync and make sure you only check boxes that your CPU supports.
https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video#Hardware_decoding_and_encoding
The Coffee Lake column.
RE: Most compatible container and format - ghiamar - 2024-07-26
Docker compose
Code: services:
jellyfin:
image: 'jellyfin/jellyfin:10.9.8'
container_name: jellyfin
restart: always
volumes:
- /media/data/jellyfin/config:/config
- /media/data/jellyfin/cache:/cache
- /media/data/jellyfin/media:/media
# user: 0:0
network_mode: 'host'
# Optional - alternative address used for autodiscovery
environment:
- JELLYFIN_PublishedServerUrl=https://media.mgscreativa.com
# Optional - may be necessary for docker healthcheck to pass if running in host network mode
extra_hosts:
- 'host.docker.internal:host-gateway'
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
sudo docker exec jellyfin env
Code: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=xxxx
JELLYFIN_PublishedServerUrl=https://xxxx.xxxx.com
HEALTHCHECK_URL=http://localhost:8096/health
DEBIAN_FRONTEND=noninteractive
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
LANGUAGE=en_US:en
JELLYFIN_DATA_DIR=/config
JELLYFIN_CACHE_DIR=/cache
JELLYFIN_CONFIG_DIR=/config/config
JELLYFIN_LOG_DIR=/config/log
JELLYFIN_WEB_DIR=/jellyfin/jellyfin-web
JELLYFIN_FFMPEG=/usr/lib/jellyfin-ffmpeg/ffmpeg
XDG_CACHE_HOME=/cache
MALLOC_TRIM_THRESHOLD_=131072
NVIDIA_VISIBLE_DEVICES=all
NVIDIA_DRIVER_CAPABILITIES=compute,video,utility
HOME=/root
sudo cat /media/data/jellyfin/config/config/encoding.xml
Code: <?xml version="1.0" encoding="utf-8"?>
<EncodingOptions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<EncodingThreadCount>-1</EncodingThreadCount>
<TranscodingTempPath>/cache/transcodes</TranscodingTempPath>
<FallbackFontPath />
<EnableFallbackFont>false</EnableFallbackFont>
<EnableAudioVbr>false</EnableAudioVbr>
<DownMixAudioBoost>2</DownMixAudioBoost>
<DownMixStereoAlgorithm>None</DownMixStereoAlgorithm>
<MaxMuxingQueueSize>2048</MaxMuxingQueueSize>
<EnableThrottling>false</EnableThrottling>
<ThrottleDelaySeconds>180</ThrottleDelaySeconds>
<EnableSegmentDeletion>false</EnableSegmentDeletion>
<SegmentKeepSeconds>720</SegmentKeepSeconds>
<HardwareAccelerationType>vaapi</HardwareAccelerationType>
<EncoderAppPathDisplay>/usr/lib/jellyfin-ffmpeg/ffmpeg</EncoderAppPathDisplay>
<VaapiDevice>/dev/dri/renderD128</VaapiDevice>
<EnableTonemapping>false</EnableTonemapping>
<EnableVppTonemapping>false</EnableVppTonemapping>
<EnableVideoToolboxTonemapping>false</EnableVideoToolboxTonemapping>
<TonemappingAlgorithm>bt2390</TonemappingAlgorithm>
<TonemappingMode>auto</TonemappingMode>
<TonemappingRange>auto</TonemappingRange>
<TonemappingDesat>0</TonemappingDesat>
<TonemappingPeak>100</TonemappingPeak>
<TonemappingParam>0</TonemappingParam>
<VppTonemappingBrightness>16</VppTonemappingBrightness>
<VppTonemappingContrast>1</VppTonemappingContrast>
<H264Crf>23</H264Crf>
<H265Crf>28</H265Crf>
<EncoderPreset />
<DeinterlaceDoubleRate>false</DeinterlaceDoubleRate>
<DeinterlaceMethod>yadif</DeinterlaceMethod>
<EnableDecodingColorDepth10Hevc>true</EnableDecodingColorDepth10Hevc>
<EnableDecodingColorDepth10Vp9>true</EnableDecodingColorDepth10Vp9>
<EnableEnhancedNvdecDecoder>true</EnableEnhancedNvdecDecoder>
<PreferSystemNativeHwDecoder>true</PreferSystemNativeHwDecoder>
<EnableIntelLowPowerH264HwEncoder>false</EnableIntelLowPowerH264HwEncoder>
<EnableIntelLowPowerHevcHwEncoder>false</EnableIntelLowPowerHevcHwEncoder>
<EnableHardwareEncoding>true</EnableHardwareEncoding>
<AllowHevcEncoding>false</AllowHevcEncoding>
<AllowAv1Encoding>false</AllowAv1Encoding>
<EnableSubtitleExtraction>true</EnableSubtitleExtraction>
<HardwareDecodingCodecs>
<string>h264</string>
<string>vc1</string>
</HardwareDecodingCodecs>
<AllowOnDemandMetadataBasedKeyframeExtractionForExtensions>
<string>mkv</string>
</AllowOnDemandMetadataBasedKeyframeExtractionForExtensions>
For new QS settings, see attachment
Tested on Shield TV Pro 2019 client and playback starts right away, testes on never played track, no remux, updated log https://pastebin.com/raw/v9U4vsEp
RE: Most compatible container and format - TheDreadPirate - 2024-07-26
At the top, you can check all the boxes except AV1. Also check Allow encoding in HEVC, Enable VPP tone mapping, Enable Tone mapping, Enable VBR audio, Throttle Transcodes, Delete Segments.
Change the transcode path to /config/transcodes.
Save and try again.
RE: Most compatible container and format - ghiamar - 2024-07-26
Done, see attachment
Tried on another track in web player, triggered remux, long playback start delay, updating logs.
Remux https://pastebin.com/6wsmzDy7
Log https://pastebin.com/EfkgbpHM
RE: Most compatible container and format - TheDreadPirate - 2024-07-26
I have a file with the exact same codecs and containers. When I disable transcoding and only allow remuxing it remuxes correctly into a MP4 instead of .MOV like yours does. I think the reason it takes so long to start is because .MOV doesn't support segmentation so you have to wait for the remux to fully complete before it starts.
Let's try rebuilding the docker container.
Code: sudo docker compose down jellyfin
sudo docker system prune -a
sudo docker compose up -d jellyfin
We are stopping Jellyfin, then pruning the virtual file system it creates and the image. This does NOT delete your permanent config files or media. Then starting jellyfin again. It will re-pull the image and rebuild the container.
RE: Most compatible container and format - ghiamar - 2024-07-26
I'm using portainer so I've stopped the jellyfin container, then in the host cmd ran sudo docker system prune -a and then deployed the stack again. Tried to play track #27 and that created two remux logs:
https://pastebin.com/raw/F2cxBRPy
https://pastebin.com/raw/mv40sDYV
And the delay stayed, then I realized that I haven't mapped the domain used for jellyfin locally to the host server local IP (since all clients are in my home network), changed that in my router to point my jellyfin domain name to the local server IP address and the delay went away, no remuxes since then... ¿¿??
Current JF log
https://pastebin.com/raw/Q6yhkKE0
Is there a way somehow going into internet to query the JF local server through JF configured domain caused the remux and the slowness? (the slowness I can get it because of the internet loop, but the remux ¿¿??)
Another one. ¿can I be certain that a Handbrake transcoded video with this result is compatible enough to get Direct playing in all clients?
Code: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Season 01 remaster/Bluey (2018) s01e01.mp4':
Metadata:
major_brand : mp42
minor_version : 512
compatible_brands: mp42iso2avc1mp41
creation_time : 2024-07-24T14:35:07.000000Z
title : Bluey - T01E01 - Stranno
artist : Dave McCormack,Melanie Zanetti,Brad Elliot,Hsiao-Ling Tang
encoder : HandBrake 1.5.1 2022030700
description : Bluey y Bingo sacan un xilófono mágico que tiene el poder de congelar a su padre
Duration: 00:07:18.02, start: 0.000000, bitrate: 1558 kb/s
Chapters:
Chapter #0:0: start 0.000000, end 420.503000
Metadata:
title : Intro
Chapter #0:1: start 420.503000, end 437.937000
Metadata:
title : Credits
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 1226 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc (default)
Metadata:
creation_time : 2024-07-24T14:35:07.000000Z
handler_name : VideoHandler
vendor_id : [0][0][0][0]
Stream #0:1(spa): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)
Metadata:
creation_time : 2024-07-24T14:35:07.000000Z
handler_name : Español (Latinoamericano)
vendor_id : [0][0][0][0]
Stream #0:2(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s
Metadata:
creation_time : 2024-07-24T14:35:07.000000Z
handler_name : English
vendor_id : [0][0][0][0]
Stream #0:3(eng): Subtitle: mov_text (tx3g / 0x67337874), 1920x162, 0 kb/s (default)
Metadata:
creation_time : 2024-07-24T14:35:07.000000Z
handler_name : English [CC]
Stream #0:4(spa): Subtitle: mov_text (tx3g / 0x67337874), 1920x162, 0 kb/s
Metadata:
creation_time : 2024-07-24T14:35:07.000000Z
handler_name : Español (Latinoamericano) [CC]
Stream #0:5(eng): Data: bin_data (text / 0x74786574)
Metadata:
creation_time : 2024-07-24T14:35:07.000000Z
handler_name : SubtitleHandler
RE: Most compatible container and format - ghiamar - 2024-07-26
iOS delay also gone, no remux at all
RE: Most compatible container and format - TheDreadPirate - 2024-07-27
The only issue I see are the subtitles. For max compatibility, SRT subs are recommended.
RE: Most compatible container and format - ghiamar - 2024-07-28
Great! Can I transcode subs to SRT in handbrake? Or I have to export/convert/inserting Handbrake or just leave them beside the video files in media folder?
|