Error while starting direct play on everything after update - sk1036 - 2024-10-31
Hi,
Running Ubuntu 24.04.1
Jellyfin installed 'bare', no docker.
Just updated to 10.10 from 10.9.11 (I think)
I do have hardware transcode enabled, seems to work. Issue persists if I turn it off (CPU struggles though!)
I also have a reverse proxy, but this issue exists locally so don't think that's an issue.
The device I tend to use is LG using webOS app. Streaming from my phone also appears to have the same issue.
Previously I could stream to a device in my local network and as long as the file was suitable it would direct play all as expected.
Now, every.single.file seems to take an age to start playing and when it does start the playback info indicates it is transcoding.
As the title suggests; the reason is given as 'Error while starting direct play'.
Once files are playing it seems fine, except I lose and HDR/dovi on account of the transcode.
I think I've got the pertinent points from logs below but either I am missing something or they're not being helpful.
I don't know how to troubleshoot this further or maybe there's a nugget in the below logs.
Any kind soul willing to part some wisdom has my gratitude!
The jellyfin log:
Code: [2024-10-31 20:59:36.367 +00:00] [INF] Watching directory "/media/nas/movies_nas"
[2024-10-31 20:59:36.703 +00:00] [INF] Watching directory "/media/nas/tv_nas"
[2024-10-31 21:01:33.325 +00:00] [INF] Playback stopped reported by app "Jellyfin Web" "10.10.0" playing "Your media". Stopped at "13800" ms
The ffmpeg log:
Code: ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 13 (Ubuntu 13.2.0-23ubuntu4)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
Input #0, matroska,webm, from 'file:/media/nas/movies_nas/your media.mkv':
skip metadata...
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x816 [SAR 1:1 DAR 40:17], 23.98 fps, 23.98 tbr, 1k tbn (default)
Metadata:
title : your media
_STATISTICS_WRITING_APP: mkvmerge v7.1.0 ('Good Love') 64bit built on Jul 27 2014 13:06:55
_STATISTICS_WRITING_APP-eng: mkvmerge v7.1.0 ('Good Love') 64bit built on Jul 27 2014 13:06:55
_STATISTICS_WRITING_DATE_UTC: 2014-08-17 11:23:26
_STATISTICS_WRITING_DATE_UTC-eng: 2014-08-17 11:23:26
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
BPS : 5266421
BPS-eng : 5266421
DURATION : 01:35:43.571000000
DURATION-eng : 01:35:43.571000000
NUMBER_OF_FRAMES: 137708
NUMBER_OF_FRAMES-eng: 137708
NUMBER_OF_BYTES : 3781008444
NUMBER_OF_BYTES-eng: 3781008444
Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s (default)
Metadata:
title : English Ac3 5.1 chnls 640 kbps
_STATISTICS_WRITING_APP: mkvmerge v7.1.0 ('Good Love') 64bit built on Jul 27 2014 13:06:55
_STATISTICS_WRITING_APP-eng: mkvmerge v7.1.0 ('Good Love') 64bit built on Jul 27 2014 13:06:55
_STATISTICS_WRITING_DATE_UTC: 2014-08-17 11:23:26
_STATISTICS_WRITING_DATE_UTC-eng: 2014-08-17 11:23:26
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
BPS : 640000
BPS-eng : 640000
DURATION : 01:35:52.640000000
DURATION-eng : 01:35:52.640000000
NUMBER_OF_FRAMES: 179770
NUMBER_OF_FRAMES-eng: 179770
NUMBER_OF_BYTES : 460211200
NUMBER_OF_BYTES-eng: 460211200
Stream #0:2(ita): Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s
Metadata:
title : Italian Ac3 5.1 chnls 640 kbps
_STATISTICS_WRITING_APP: mkvmerge v7.1.0 ('Good Love') 64bit built on Jul 27 2014 13:06:55
_STATISTICS_WRITING_APP-eng: mkvmerge v7.1.0 ('Good Love') 64bit built on Jul 27 2014 13:06:55
_STATISTICS_WRITING_DATE_UTC: 2014-08-17 11:23:26
_STATISTICS_WRITING_DATE_UTC-eng: 2014-08-17 11:23:26
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
BPS : 640000
BPS-eng : 640000
DURATION : 01:35:53.792000000
DURATION-eng : 01:35:53.792000000
NUMBER_OF_FRAMES: 179806
NUMBER_OF_FRAMES-eng: 179806
NUMBER_OF_BYTES : 460303360
NUMBER_OF_BYTES-eng: 460303360
Stream #0:3(eng): Subtitle: subrip (srt)
Metadata:
title : english
BPS : 71
BPS-eng : 71
DURATION : 01:32:41.054000000
DURATION-eng : 01:32:41.054000000
NUMBER_OF_FRAMES: 1543
NUMBER_OF_FRAMES-eng: 1543
NUMBER_OF_BYTES : 49542
NUMBER_OF_BYTES-eng: 49542
_STATISTICS_WRITING_APP: mkvmerge v7.1.0 ('Good Love') 64bit built on Jul 27 2014 13:06:55
_STATISTICS_WRITING_APP-eng: mkvmerge v7.1.0 ('Good Love') 64bit built on Jul 27 2014 13:06:55
_STATISTICS_WRITING_DATE_UTC: 2014-08-17 11:23:26
_STATISTICS_WRITING_DATE_UTC-eng: 2014-08-17 11:23:26
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:4(ita): Subtitle: subrip (srt)
Metadata:
title : italian
BPS : 55
BPS-eng : 55
DURATION : 01:29:10.510000000
DURATION-eng : 01:29:10.510000000
NUMBER_OF_FRAMES: 1045
NUMBER_OF_FRAMES-eng: 1045
NUMBER_OF_BYTES : 36851
NUMBER_OF_BYTES-eng: 36851
_STATISTICS_WRITING_APP: mkvmerge v7.1.0 ('Good Love') 64bit built on Jul 27 2014 13:06:55
_STATISTICS_WRITING_APP-eng: mkvmerge v7.1.0 ('Good Love') 64bit built on Jul 27 2014 13:06:55
_STATISTICS_WRITING_DATE_UTC: 2014-08-17 11:23:26
_STATISTICS_WRITING_DATE_UTC-eng: 2014-08-17 11:23:26
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:5(ita): Subtitle: subrip (srt)
Metadata:
title : italian forced
BPS : 1
BPS-eng : 1
DURATION : 01:29:10.510000000
DURATION-eng : 01:29:10.510000000
NUMBER_OF_FRAMES: 23
NUMBER_OF_FRAMES-eng: 23
NUMBER_OF_BYTES : 706
NUMBER_OF_BYTES-eng: 706
_STATISTICS_WRITING_APP: mkvmerge v7.1.0 ('Good Love') 64bit built on Jul 27 2014 13:06:55
_STATISTICS_WRITING_APP-eng: mkvmerge v7.1.0 ('Good Love') 64bit built on Jul 27 2014 13:06:55
_STATISTICS_WRITING_DATE_UTC: 2014-08-17 11:23:26
_STATISTICS_WRITING_DATE_UTC-eng: 2014-08-17 11:23:26
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_qsv))
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
Output #0, hls, to '/var/cache/jellyfin/transcodes/29c4a6c98633cfe4dfd446040b049ba5.m3u8':
Metadata:
encoder : Lavf61.1.100
Stream #0:0: Video: h264, qsv(bt709, progressive), 1920x816 [SAR 1:1 DAR 40:17], q=2-31, 6539 kb/s, 23.98 fps, 90k tbn (default)
Metadata:
encoder : Lavc61.3.100 h264_qsv
Side data:
cpb: bitrate max/min/avg: 6539300/0/6539300 buffer size: 13078600 vbv_delay: N/A
Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s (default)
[hls @ 0x5a7d08012440] Opening '/var/cache/jellyfin/transcodes/29c4a6c98633cfe4dfd446040b049ba50.ts' for writing
[hls @ 0x5a7d08012440] Opening '/var/cache/jellyfin/transcodes/29c4a6c98633cfe4dfd446040b049ba51.ts' for writing
frame= 153 fps=0.0 q=18.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x
frame= 191 fps=191 q=23.0 size=N/A time=00:00:01.58 bitrate=N/A speed=1.58x
transcode data follows running approx 11x
RE: Error while starting direct play on everything after update - TheDreadPirate - 2024-11-01
What are the client devices?
RE: Error while starting direct play on everything after update - sk1036 - 2024-11-01
Thanks for looking.
I should clarify the reason for transcoding on playback info is:
'There was an error starting direct playback'
I have spotted some more 'interesting' behaviour. for a Dolby vision file I also see transcoding but the reason in this case:
'The videos' range type is not supported'
It was before.
On LG OLED55G26LA:
Streaming through webOS app, I am struggling to find a version for it but suffice to say it is the latest.
Accessing through the smart web browser has the same behaviour.
This worked on a previous version so I am confident the hardware is all capable.
The change is the jellyfin update but appears to be isolated to me so I am inclined to believe it's 'something' on my host machine setup.
I am aware the ffmpeg version has changed, I have crudely tried uninstalling/reinstalling between jellyfin-ffmpeg6 and 7 to no avail. As a test I will try initiating streams using the different versions again and see if logs yield some clues.
To me it looks like ffmpeg is just transcoding by default; I see no errors and yet all my transcodes have something along the lines of:
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_qsv))
But no indication as to why, the only thing I can infer is the aforementioned playback info errors...
RE: Error while starting direct play on everything after update - TheDreadPirate - 2024-11-01
Can you share your full jellyfin log via pastebin? And provide a movie name that you'd had issues with.
RE: Error while starting direct play on everything after update - sk1036 - 2024-11-01
Sure:
https://pastebin.com/Lcn5tNXm
I've actually just tried starting the whole OS from scratch, fresh install EVERYTHING.
But I have the same behavior and know a little more:
Even playing from the device in firefox will not play, HOWEVER, jellyfin dashboard suggests it is AND it is direct playing. This points to a host-side issue methinks.
If I am quick to view the playback info, it claims to be direct playing before showing a transcode. is this the default showing before being updated or is it falling back? there are no direct play logs in my directory, only transcodes....
if ffmpeg7 were the root cause everyone would be having this issue, I wonder if some intel iGPU configuration is getting in the way...
RE: Error while starting direct play on everything after update - TheDreadPirate - 2024-11-01
What are your hardware specs? And it looks like you are using vaapi instead of QSV now?
RE: Error while starting direct play on everything after update - sk1036 - 2024-11-02
Yes on this latest run I am currently set to vaapi.
My understanding is QSV should work out the box, vaapi needs some setup (which I have followed the jellyfin guide for). I changed to see if vaapi would behave better, it doesn't.
So I get the same behaviour with QSC, vaapi & none/software.
Hardware is
CPU: intel i5-7260
iGPU: Iris plus graphics 640
RAM: 8GB
SSD: 64GB
no dedicated GPU
My libraries are connected through an NFS mount
RE: Error while starting direct play on everything after update - sk1036 - 2024-11-02
SOLVED
While I don't know the underlying problem Jellyfin & my NAS were not playing nicely.
Had to modify a setting for my NAS NFS mounts to be in kernel mode.
Streams now load as expected and direct play available.
Before this change my mount appeared OK, as in I could access, read write etc. so not sure if there is a specific Jellyfin problem with asynchronous NAS connections or there is an inherent challenge in this setting that only surfaces when streaming data in the way Jellyfin tends to do.
Either way, in this instance it would have been useful for the logs to show why a directplay error had occurred.
Many thanks rubber duck
|