Most compatible container and format - ghiamar - 2024-07-24
Hi! I'm searching for the most compatible format and container to use on iOS, Android and Shield TV Pro 2019 clients. I'm using Jellyfin Server 10.9.8 (Docker) and the official clients for those platforms. For this I read https://jellyfin.org/docs/general/clients/codec-support/ and decided to use Handbrake to transcode some test videos to MP4 (HB created .m4v files then renamed to .mp4) container with h264 8bit (I think) video and two channels of AAC audio and two channels for subtitles with following results:
Logged in clients with administrator user account and transcode options disabled:- Allow audio playback that requires transcoding
- Allow video playback that requires transcoding
Bluey (2018) s01e01.mp4- Web client 10.9.8 (Firefox): Play method Direct playing (plays after 2 to 3 minutes)
- Android client 2.6.2: Play method Remux (After triggering remux, plays very quickly and creates mp4 cache files in /cache/transcodes/, see attachment)
- iOS client 1.5.0: No go with error "Playback failed because the media is not supported by this client." After a while (about after 2 to 3 minutes), the file plays in direct play mode
- Shield TV Pro 2019 0.16.11: Works right away, no remux, nothing, as it should I guess...
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
Bluey (2018) s01e02.mp4- Web client 10.9.8 (Firefox): Play method Direct playing (plays after 2 to 3 minutes)
- Android client 2.6.2: Play method Remux (After triggering remux, plays very quickly and creates mp4 cache files in /cache/transcodes/, see attachment)
- iOS client 1.5.0: No go with error "Playback failed because the media is not supported by this client." After a while (about after 2 to 3 minutes), the file plays in direct play mode
- Shield TV Pro 2019 0.16.11: Works right away, no remux, nothing, as it should I guess...
Code: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/martinb/.01-media/Season 01 remaster/Bluey (2018) s01e02.mp4':
Metadata:
major_brand : mp42
minor_version : 512
compatible_brands: mp42iso2avc1mp41
creation_time : 2024-07-24T16:18:38.000000Z
title : Bluey - T01E02 - Stranno
artist : Dave McCormack,Melanie Zanetti,Brad Elliot,Hsiao-Ling Tang
encoder : HandBrake 1.5.1 2022030700
description : Mientras juegan a los hospitales, el padre queda en manos de la doctora Bluey, m
Duration: 00:07:18.02, start: 0.000000, bitrate: 1515 kb/s
Chapters:
Chapter #0:0: start 0.000000, end 421.421000
Metadata:
title : Intro
Chapter #0:1: start 421.421000, 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], 1183 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc (default)
Metadata:
creation_time : 2024-07-24T16:18:38.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-24T16:18:38.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-24T16:18:38.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-24T16:18:38.000000Z
handler_name : English [CC]
Stream #0:4(spa): Subtitle: mov_text (tx3g / 0x67337874), 1920x162, 0 kb/s
Metadata:
creation_time : 2024-07-24T16:18:38.000000Z
handler_name : Español (Latinoamericano) [CC]
Stream #0:5(eng): Data: bin_data (text / 0x74786574)
Metadata:
creation_time : 2024-07-24T16:18:38.000000Z
handler_name : SubtitleHandler
Bluey (2018) s01e03.mp4- Web client 10.9.8 (Firefox): Play method Direct playing (plays after 2 to 3 minutes)
- Android client 2.6.2: Play method Remux (After triggering remux, plays very quickly and creates mp4 cache files in /cache/transcodes/, see attachment)
- iOS client 1.5.0: No go with error "Playback failed because the media is not supported by this client." After a while (about after 2 to 3 minutes), the file plays in direct play mode
- Shield TV Pro 2019 0.16.11: Works right away, no remux, nothing, as it should I guess...
Code: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/martinb/.01-media/Season 01 remaster/Bluey (2018) s01e03.mp4':
Metadata:
major_brand : mp42
minor_version : 512
compatible_brands: mp42iso2avc1mp41
creation_time : 2024-07-24T16:19:51.000000Z
title : Bluey - T01E03 - Stranno
artist : Dave McCormack,Melanie Zanetti,Brad Elliot,Hsiao-Ling Tang
encoder : HandBrake 1.5.1 2022030700
description : La madre de Bluey le sugiere que use el globo que les queda para jugar a 'Que no
Duration: 00:07:18.02, start: 0.000000, bitrate: 1861 kb/s
Chapters:
Chapter #0:0: start 0.000000, end 421.504000
Metadata:
title : Intro
Chapter #0:1: start 421.504000, 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], 1529 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc (default)
Metadata:
creation_time : 2024-07-24T16:19:51.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-24T16:19:51.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-24T16:19:51.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-24T16:19:51.000000Z
handler_name : English [CC]
Stream #0:4(spa): Subtitle: mov_text (tx3g / 0x67337874), 1920x162, 0 kb/s
Metadata:
creation_time : 2024-07-24T16:19:51.000000Z
handler_name : Español (Latinoamericano) [CC]
Stream #0:5(eng): Data: bin_data (text / 0x74786574)
Metadata:
creation_time : 2024-07-24T16:19:51.000000Z
handler_name : SubtitleHandler
RE: Most compatible container and format - TheDreadPirate - 2024-07-25
If its direct playing, it shouldn't take 2 to 3 minutes to start. Can you share your full jellyfin log via pastebin?
RE: Most compatible container and format - ghiamar - 2024-07-26
Bump, sorry
(2024-07-25, 12:12 AM)TheDreadPirate Wrote: If its direct playing, it shouldn't take 2 to 3 minutes to start. Can you share your full jellyfin log via pastebin?
Sorry, didn't see this message, please tell me how can I obtain the full JF log and will share it right away
RE: Most compatible container and format - TheDreadPirate - 2024-07-26
Its in the same directory as the ffmpeg logs you attached in your first post.
RE: Most compatible container and format - ghiamar - 2024-07-26
Ok, I think I got them, uploading 3 logs
log_20240724.log: https://pastebin.com/raw/rKYEtr3G
log_20240725.log: https://pastebin.com/raw/ZXVz7ExT
log_20240726.log: https://pastebin.com/raw/FvFeZz37
RE: Most compatible container and format - ghiamar - 2024-07-26
Just to mention that I've enabled HW accel with this guide https://elblogdelazaro.org/posts/2020-04-13-docker-trancodificacion-por-hardware-en-jellyfin/ and this reddit thread https://www.reddit.com/r/jellyfin/comments/ehb8b3/how_can_i_identify_if_transcoding_is_being/ resulting in this docker compose file and attached JF transcoding config (see attachment):
Code: services:
jellyfin:
image: 'jellyfin/jellyfin:10.9.8'
container_name: jellyfin
restart: always
volumes:
- /XXXX/XXXX/jellyfin/config:/config
- /XXXX/XXXX/jellyfin/config/web-config.json:/jellyfin/jellyfin-web/config.json
- /XXXX/XXXX/jellyfin/cache:/cache
- type: bind
source: /XXXX/XXXX/jellyfin/media
target: /media
# user: 0:0
network_mode: 'host'
# Optional - alternative address used for autodiscovery
environment:
- JELLYFIN_PublishedServerUrl=https://XXXXXXX.XXXXXXXX.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
RE: Most compatible container and format - TheDreadPirate - 2024-07-26
Two things.
What is the point of this line?
Code: - /XXXX/XXXX/jellyfin/config/web-config.json:/jellyfin/jellyfin-web/config.json
And can you change your media mount from a bind to a volume mount?
Code: - /XXXX/XXXX/jellyfin/media:/media
For some reason bind mounts sometimes cause weird problems that are hard to explain.
One thing I noticed in your log is that your remuxes are outputting in a weird format. The output of the remux might be the cause of the issue you are experiencing.
Code: [2024-07-26 01:42:46.640 +00:00] [INF] [186] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2 -i file:\"/media/TV Shows/Petit (2018)/Season 01/Petit (2018) s01e01 - Mi mascota imaginaria existe.mp4\" -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -map_metadata -1 -map_chapters -1 -threads 0 -codec:a:0 copy -y \"/cache/transcodes/8d08736382a730bd1bc933c1ff91bc79.mov
I've seen this happen for another user. Normally transcodes are written to /config/transcodes instead of /cache/transcodes. Since you have /config, essentially, mounted twice I'm wondering if that is causing some weird issues with how and where transcodes are written.
Comment out the web-config.json line, restart jellyfin, and try again.
RE: Most compatible container and format - ghiamar - 2024-07-26
(2024-07-26, 04:06 PM)TheDreadPirate Wrote: What is the point of this line?
Code: - /XXXX/XXXX/jellyfin/config/web-config.json:/jellyfin/jellyfin-web/config.json
Read about that here https://jellyfin.org/docs/general/clients/web-config/#docker, but I really didn't changed anything in that file, removing...
(2024-07-26, 04:06 PM)TheDreadPirate Wrote: And can you change your media mount from a bind to a volume mount?
Code: - /XXXX/XXXX/jellyfin/media:/media
Think I nailed it, changed this
Quote: - type: bind
source: /media/data/jellyfin/media
target: /media
to this
Quote: - /media/data/jellyfin/media:/media
(2024-07-26, 04:06 PM)TheDreadPirate Wrote: Comment out the web-config.json line, restart jellyfin, and try again.
Done, will try and let you know
RE: Most compatible container and format - ghiamar - 2024-07-26
Well, tried some not played before tracks and for one got a remux, https://pastebin.com/raw/29UN0vHv for the test files (e01, e02, e03) the play starts right away (because I guess there's some cache somewhere, don't know where).
If I re enable Allow audio playback that requires transcoding and Allow video playback that requires transcoding, transcoding kicks in now with hardware acceleration (I guess because transcoding FPS went up to > 300 ) but de playback start delay persists (about 1 min in web player, didn't tested it in my other clients), logs https://pastebin.com/raw/d1m2CUXq and https://pastebin.com/raw/pYLKBk7J
Re uploaded today's log https://pastebin.com/raw/H8RjybiF
RE: Most compatible container and format - ghiamar - 2024-07-26
After several tries in iOS client with error "Playback failed because the media is not supported by this client.", I got the file playing, see logs
https://pastebin.com/raw/gfkB2aUw
https://pastebin.com/raw/RZJTvdM4
https://pastebin.com/raw/WkCbwZdF
https://pastebin.com/raw/rUZs5E84
Log https://pastebin.com/j3LHqypR
|