jellyfin / jellyfin-androidtv

Android TV Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
2.45k stars 415 forks source link

Starting a LiveTV stream causes a startup loop. #3392

Open coldshouldermedia opened 4 months ago

coldshouldermedia commented 4 months ago

Describe the bug

Opening some liveTV streams (and some liveTV recordings) causes a loop of the animation for the stream opening over and over.

It looks like it starts it at the correct resolution, then switches resolution so the gui appears small in the upper left hand of the screen. Then the screen goes black and starts over.

It appears to be almost unresponsive in this state, but repeatedly pressing the back button might get you back to the previous menu.

To log seems to repeat itself ~every second, so I just provided one loop. I can provide full logs if that would be more helpful.

Logs

[2024-02-21 12:57:53.077 -07:00] [INF] [3] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "User". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-02-21 12:57:53.077 -07:00] [INF] [3] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 3000000, RemoteIp: "192.168.1.110", IsInLocalNetwork: True
[2024-02-21 12:57:53.078 -07:00] [INF] [3] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="AndroidTV-ExoPlayer", Path="http://172.18.0.7:8096/LiveTv/LiveStreamFiles/8e6460f9eb60411c97853791b0f22835/stream.ts", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=ContainerNotSupported, AudioCodecNotSupported ) "media:/videos/eb21069b-1440-9882-58a6-77ff731b525a/master.m3u8?MediaSourceId=native_3fb398ff465fc5059d96610077747f74_a5f405776fe087e0869906bfec77f33d&VideoCodec=hevc,h264&AudioCodec=aac,mp3&AudioStreamIndex=-1&VideoBitrate=14274726&AudioBitrate=384000&MaxFramerate=59.94006&api_key=<token>&LiveStreamId=a17c75760a04e99b68cf766e11316e1c_09efa0d56b934a82adec00a87b837fb0_native_3fb398ff465fc5059d96610077747f74_a5f405776fe087e0869906bfec77f33d&RequireAvc=false&SegmentContainer=ts&BreakOnNonKeyFrames=False&mpeg2video-level=4&mpeg2video-videobitdepth=8&mpeg2video-profile=main&aac-audiochannels=2&TranscodeReasons=ContainerNotSupported,%20AudioCodecNotSupported"
[2024-02-21 12:57:53.301 -07:00] [INF] [25] Jellyfin.Api.Helpers.TranscodingJobHelper: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 3000000 -fflags +igndts -f mpegts -autorotate 0 -i \"http://172.18.0.7:8096/LiveTv/LiveStreamFiles/8e6460f9eb60411c97853791b0f22835/stream.ts\" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 libx265 -tag:v:0 hvc1 -preset superfast -crf 28 -maxrate 8000000 -bufsize 16000000 -x265-params:0 no-info=1 -force_key_frames:0 \"expr:gte(t,n_forced*3)\" -bf 0 -vf \"setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,min(1280\,720*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(1280/a\,720))/2)*2,format=yuv420p\" -flags -global_header -codec:a:0 libfdk_aac -ac 2 -ab 384000 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_base_url \"hls/5d2f4fbd842d07187e45269c01a89036/\" -hls_segment_filename \"/config/transcodes/5d2f4fbd842d07187e45269c01a89036%d.ts\" -hls_playlist_type event -hls_list_size 0 -y \"/config/transcodes/5d2f4fbd842d07187e45269c01a89036.m3u8\""
[2024-02-21 12:57:53.355 -07:00] [INF] [33] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Adding playback tracker : b9907d8edf12eae32b69ecbe7aaa8da83e0d409e-629fa603570848e8843770950ef9d7b3-eb21069b1440988258a677ff731b525a
[2024-02-21 12:57:53.355 -07:00] [INF] [33] Jellyfin.Plugin.PlaybackReporting.Data.PlaybackTracker: PlaybackTracker : Adding Start Event : 02/21/2024 12:57:53
[2024-02-21 12:57:53.355 -07:00] [INF] [33] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Creating StartPlaybackTimer Task
[2024-02-21 12:57:53.355 -07:00] [INF] [30] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Entered
[2024-02-21 12:57:53.492 -07:00] [ERR] [3] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request: "A task was canceled". URL "GET" "/videos/eb21069b-1440-9882-58a6-77ff731b525a/live.m3u8".
[2024-02-21 12:57:53.492 -07:00] [INF] [3] Jellyfin.Api.Helpers.TranscodingJobHelper: Stopping ffmpeg process with q command for "/config/transcodes/5d2f4fbd842d07187e45269c01a89036.m3u8"
[2024-02-21 12:57:53.561 -07:00] [INF] [15] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 0
[2024-02-21 12:57:53.561 -07:00] [INF] [15] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting partial stream file(s) "/config/transcodes/95f79c179ca0db51822ba8344e93fb8c.m3u8"
[2024-02-21 12:57:53.733 -07:00] [INF] [13] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "User". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-02-21 12:57:53.733 -07:00] [INF] [13] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 3000000, RemoteIp: "192.168.1.110", IsInLocalNetwork: True
[2024-02-21 12:57:53.733 -07:00] [INF] [13] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="AndroidTV-ExoPlayer", Path="http://192.168.1.40", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=ContainerBitrateExceedsLimit ) "media:/videos/eb21069b-1440-9882-58a6-77ff731b525a/master.m3u8?MediaSourceId=native_3fb398ff465fc5059d96610077747f74_a5f405776fe087e0869906bfec77f33d&VideoCodec=hevc,h264&AudioCodec=aac,mp3&AudioStreamIndex=-1&VideoBitrate=14210726&AudioBitrate=448000&api_key=<token>&RequireAvc=false&SegmentContainer=ts&BreakOnNonKeyFrames=False&aac-audiochannels=2&TranscodeReasons=ContainerBitrateExceedsLimit"
[2024-02-21 12:57:54.030 -07:00] [INF] [13] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: session.RemoteEndPoint : "192.168.1.110"
[2024-02-21 12:57:54.030 -07:00] [INF] [13] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_playing_id     = "eb21069b1440988258a677ff731b525a"
[2024-02-21 12:57:54.030 -07:00] [INF] [13] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id        = "629fa603570848e8843770950ef9d7b3"
[2024-02-21 12:57:54.030 -07:00] [INF] [13] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id_int    = 3
[2024-02-21 12:57:54.030 -07:00] [INF] [13] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_playing_id   = "eb21069b1440988258a677ff731b525a"
[2024-02-21 12:57:54.030 -07:00] [INF] [13] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_user_id      = "629fa603570848e8843770950ef9d7b3"
[2024-02-21 12:57:54.030 -07:00] [INF] [13] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : play_method          = "DirectPlay"
[2024-02-21 12:57:54.030 -07:00] [INF] [13] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.ClientName         = "Android TV"
[2024-02-21 12:57:54.030 -07:00] [INF] [13] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.DeviceName         = "Chromecast"
[2024-02-21 12:57:54.030 -07:00] [INF] [13] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemName             = "KDVR-DT"
[2024-02-21 12:57:54.030 -07:00] [INF] [13] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemId               = "eb21069b1440988258a677ff731b525a"
[2024-02-21 12:57:54.030 -07:00] [INF] [13] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemType             = "TvChannel"
[2024-02-21 12:57:54.030 -07:00] [INF] [13] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : All matches, playback registered
[2024-02-21 12:57:54.030 -07:00] [INF] [13] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Playback tracker found, adding playback info : "b9907d8edf12eae32b69ecbe7aaa8da83e0d409e-629fa603570848e8843770950ef9d7b3-eb21069b1440988258a677ff731b525a"
[2024-02-21 12:57:54.030 -07:00] [INF] [13] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Saving playback tracking activity in DB
[2024-02-21 12:57:54.044 -07:00] [INF] [13] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Exited
[2024-02-21 12:57:54.325 -07:00] [INF] [25] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "b9907d8edf12eae32b69ecbe7aaa8da83e0d409e-629fa603570848e8843770950ef9d7b3-eb21069b1440988258a677ff731b525a"
[2024-02-21 12:57:54.435 -07:00] [INF] [15] Emby.Server.Implementations.LiveTv.LiveTvManager: Opening channel stream from "Emby", external channel Id: "hdhr_31.1"
[2024-02-21 12:57:54.435 -07:00] [INF] [15] Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV: Streaming Channel "hdhr_31.1"
[2024-02-21 12:57:54.435 -07:00] [INF] [15] Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV: Live stream "native_3fb398ff465fc5059d96610077747f74_a5f405776fe087e0869906bfec77f33d" consumer count is now 40
[2024-02-21 12:57:54.436 -07:00] [INF] [30] Emby.Server.Implementations.Library.MediaSourceManager: Live tv media info probe took "0.0002596" seconds
[2024-02-21 12:57:54.436 -07:00] [INF] [30] Emby.Server.Implementations.Library.MediaSourceManager: Live stream opened: MediaSourceInfo { Protocol: Http, Id: "native_3fb398ff465fc5059d96610077747f74_a5f405776fe087e0869906bfec77f33d", Path: "http://172.18.0.7:8096/LiveTv/LiveStreamFiles/8e6460f9eb60411c97853791b0f22835/stream.ts", EncoderPath: null, EncoderProtocol: null, Type: Default, Container: "mpegts", Size: null, Name: null, IsRemote: False, ETag: null, RunTimeTicks: null, ReadAtNativeFramerate: False, IgnoreDts: True, IgnoreIndex: False, GenPtsInput: False, SupportsTranscoding: True, SupportsDirectStream: True, SupportsDirectPlay: False, IsInfiniteStream: True, RequiresOpening: True, OpenToken: null, RequiresClosing: True, LiveStreamId: "a17c75760a04e99b68cf766e11316e1c_09efa0d56b934a82adec00a87b837fb0_native_3fb398ff465fc5059d96610077747f74_a5f405776fe087e0869906bfec77f33d", BufferMs: 0, RequiresLooping: False, SupportsProbing: True, VideoType: null, IsoType: null, Video3DFormat: null, MediaStreams: [MediaStream { Codec: "mpeg2video", CodecTag: null, Language: null, ColorRange: "tv", ColorSpace: null, ColorTransfer: null, ColorPrimaries: null, DvVersionMajor: null, DvVersionMinor: null, DvProfile: null, DvLevel: null, RpuPresentFlag: null, ElPresentFlag: null, BlPresentFlag: null, DvBlSignalCompatibilityId: null, Comment: null, TimeBase: "1/90000", CodecTimeBase: null, Title: null, VideoRange: "SDR", VideoRangeType: "SDR", VideoDoViTitle: null, LocalizedUndefined: null, LocalizedDefault: null, LocalizedForced: null, LocalizedExternal: null, DisplayTitle: "720p MPEG2VIDEO SDR", NalLengthSize: null, IsInterlaced: False, IsAVC: null, ChannelLayout: null, BitRate: 8000000, BitDepth: 8, RefFrames: 1, PacketLength: null, Channels: null, SampleRate: null, IsDefault: False, IsForced: False, Height: 720, Width: 1280, AverageFrameRate: 59.94006, RealFrameRate: 59.94006, Profile: "Main", Type: Video, AspectRatio: "16:9", Index: -1, Score: null, IsExternal: False, DeliveryMethod: null, DeliveryUrl: null, IsExternalUrl: null, IsTextSubtitleStream: False, SupportsExternalStream: False, Path: null, PixelFormat: "yuv420p", Level: 4, IsAnamorphic: False }, MediaStream { Codec: "ac3", 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, Comment: null, TimeBase: "1/90000", CodecTimeBase: null, Title: null, VideoRange: null, VideoRangeType: null, VideoDoViTitle: null, LocalizedUndefined: null, LocalizedDefault: null, LocalizedForced: null, LocalizedExternal: null, DisplayTitle: "Dolby Digital - 5.1", NalLengthSize: null, IsInterlaced: False, IsAVC: null, ChannelLayout: "5.1", BitRate: 448000, BitDepth: null, RefFrames: null, PacketLength: null, Channels: 6, SampleRate: 48000, IsDefault: False, IsForced: False, Height: null, Width: null, AverageFrameRate: null, RealFrameRate: null, Profile: null, Type: Audio, 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 }], MediaAttachments: [], Formats: [], Bitrate: 8448000, Timestamp: null, RequiredHttpHeaders: [], TranscodingUrl: null, TranscodingSubProtocol: null, TranscodingContainer: null, AnalyzeDurationMs: 3000, TranscodeReasons: 0, DefaultAudioStreamIndex: null, DefaultSubtitleStreamIndex: null, VideoStream: MediaStream { Codec: "mpeg2video", CodecTag: null, Language: null, ColorRange: "tv", ColorSpace: null, ColorTransfer: null, ColorPrimaries: null, DvVersionMajor: null, DvVersionMinor: null, DvProfile: null, DvLevel: null, RpuPresentFlag: null, ElPresentFlag: null, BlPresentFlag: null, DvBlSignalCompatibilityId: null, Comment: null, TimeBase: "1/90000", CodecTimeBase: null, Title: null, VideoRange: "SDR", VideoRangeType: "SDR", VideoDoViTitle: null, LocalizedUndefined: null, LocalizedDefault: null, LocalizedForced: null, LocalizedExternal: null, DisplayTitle: "720p MPEG2VIDEO SDR", NalLengthSize: null, IsInterlaced: False, IsAVC: null, ChannelLayout: null, BitRate: 8000000, BitDepth: 8, RefFrames: 1, PacketLength: null, Channels: null, SampleRate: null, IsDefault: False, IsForced: False, Height: 720, Width: 1280, AverageFrameRate: 59.94006, RealFrameRate: 59.94006, Profile: "Main", Type: Video, AspectRatio: "16:9", Index: -1, Score: null, IsExternal: False, DeliveryMethod: null, DeliveryUrl: null, IsExternalUrl: null, IsTextSubtitleStream: False, SupportsExternalStream: False, Path: null, PixelFormat: "yuv420p", Level: 4, IsAnamorphic: False } }

FFmpeg logs

/videos/cda10c0a-8b5c-5372-5d0b-b3aa3716cb2f/live.m3u8

{"Protocol":1,"Id":"native_b23ebc9442ec90ed5f591ef1683972b1_a5f405776fe087e0869906bfec77f33d","Path":"http://172.18.0.7:8096/LiveTv/LiveStreamFiles/4f4441cafbb74a9792e6b34b16e51842/stream.ts","EncoderPath":null,"EncoderProtocol":null,"Type":0,"Container":"mpegts","Size":null,"Name":null,"IsRemote":false,"ETag":null,"RunTimeTicks":null,"ReadAtNativeFramerate":false,"IgnoreDts":true,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":false,"IsInfiniteStream":true,"RequiresOpening":true,"OpenToken":null,"RequiresClosing":true,"LiveStreamId":"a17c75760a04e99b68cf766e11316e1c_09efa0d56b934a82adec00a87b837fb0_native_b23ebc9442ec90ed5f591ef1683972b1_a5f405776fe087e0869906bfec77f33d","BufferMs":0,"RequiresLooping":false,"SupportsProbing":true,"VideoType":null,"IsoType":null,"Video3DFormat":null,"MediaStreams":[{"Codec":"mpeg2video","CodecTag":null,"Language":null,"ColorRange":"tv","ColorSpace":null,"ColorTransfer":null,"ColorPrimaries":null,"DvVersionMajor":null,"DvVersionMinor":null,"DvProfile":null,"DvLevel":null,"RpuPresentFlag":null,"ElPresentFlag":null,"BlPresentFlag":null,"DvBlSignalCompatibilityId":null,"Comment":null,"TimeBase":"1/90000","CodecTimeBase":null,"Title":null,"VideoRange":"SDR","VideoRangeType":"SDR","VideoDoViTitle":null,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"DisplayTitle":"720p MPEG2VIDEO SDR","NalLengthSize":null,"IsInterlaced":false,"IsAVC":null,"ChannelLayout":null,"BitRate":8000000,"BitDepth":8,"RefFrames":1,"PacketLength":null,"Channels":null,"SampleRate":null,"IsDefault":false,"IsForced":false,"Height":720,"Width":1280,"AverageFrameRate":59.94006,"RealFrameRate":59.94006,"Profile":"Main","Type":1,"AspectRatio":"16:9","Index":-1,"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":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,"Comment":null,"TimeBase":"1/90000","CodecTimeBase":null,"Title":null,"VideoRange":null,"VideoRangeType":null,"VideoDoViTitle":null,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"DisplayTitle":"Dolby Digital - 5.1","NalLengthSize":null,"IsInterlaced":false,"IsAVC":null,"ChannelLayout":"5.1","BitRate":384000,"BitDepth":null,"RefFrames":null,"PacketLength":null,"Channels":6,"SampleRate":48000,"IsDefault":false,"IsForced":false,"Height":null,"Width":null,"AverageFrameRate":null,"RealFrameRate":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}],"MediaAttachments":[],"Formats":[],"Bitrate":8384000,"Timestamp":null,"RequiredHttpHeaders":{},"TranscodingUrl":null,"TranscodingSubProtocol":null,"TranscodingContainer":null,"AnalyzeDurationMs":3000,"DefaultAudioStreamIndex":null,"DefaultSubtitleStreamIndex":null}

/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 3000000 -fflags +igndts -f mpegts -autorotate 0 -i "http://172.18.0.7:8096/LiveTv/LiveStreamFiles/4f4441cafbb74a9792e6b34b16e51842/stream.ts" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 libx265 -tag:v:0 hvc1 -preset superfast -crf 28 -maxrate 8000000 -bufsize 16000000 -x265-params:0 no-info=1 -force_key_frames:0 "expr:gte(t,n_forced*3)" -bf 0 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,min(1280\,720*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(1280/a\,720))/2)*2,format=yuv420p" -flags -global_header -codec:a:0 libfdk_aac -ac 2 -ab 384000 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_base_url "hls/cf668d3610668d9b295c499aa4f3e2ce/" -hls_segment_filename "/config/transcodes/cf668d3610668d9b295c499aa4f3e2ce%d.ts" -hls_playlist_type event -hls_list_size 0 -y "/config/transcodes/cf668d3610668d9b295c499aa4f3e2ce.m3u8"

ffmpeg version 5.1.4-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 10 (Debian 10.2.1-6)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libsvtav1 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
[mpeg2video @ 0x5590a662da00] Invalid frame dimensions 0x0.
    Last message repeated 42 times
Input #0, mpegts, from 'http://172.18.0.7:8096/LiveTv/LiveStreamFiles/4f4441cafbb74a9792e6b34b16e51842/stream.ts':
  Duration: N/A, start: 65995.636856, bitrate: N/A
  Program 6 
  Stream #0:0[0x61]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, progressive), 1280x720 [SAR 1:1 DAR 16:9], Closed Captions, 59.94 fps, 59.94 tbr, 90k tbn
    Side data:
      cpb: bitrate max/min/avg: 17588800/0/0 buffer size: 7995392 vbv_delay: N/A
  Stream #0:1[0x64](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), fltp, 384 kb/s
  Stream #0:2[0x65](spa): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, fltp, 192 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video (native) -> hevc (libx265))
  Stream #0:1 -> #0:1 (ac3 (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help

[q] command received. Exiting.

Finishing stream 0:0 without any data written to it.
x265 [info]: HEVC encoder version 3.4
x265 [info]: build info [Linux][GCC 9.3.0][64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [info]: Main profile, Level-4 (High tier)
x265 [info]: Thread pool created using 16 threads
x265 [info]: Slices                              : 1
x265 [info]: frame threads / pool features       : 4 / wpp(23 rows)
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
set_mempolicy: Operation not permitted
x265 [info]: Coding QT: max CU size, min CU size : 32 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : hex / 57 / 1 / 2
x265 [info]: Keyframe min / max / scenecut / bias  : 25 / 250 / 40 / 5.00 
x265 [info]: Lookahead / bframes / badapt        : 10 / 0 / 0
x265 [info]: b-pyramid / weightp / weightb       : 0 / 0 / 0
x265 [info]: References / ref-limit  cu / depth  : 1 / off / off
x265 [info]: AQ: mode / str / qg-size / cu-tree  : 1 / 0.0 / 32 / 1
x265 [info]: Rate Control / qCompress            : CRF-28.0 / 0.60
x265 [info]: VBV/HRD buffer / max-rate / init    : 16000 / 8000 / 0.750
x265 [info]: tools: rd=2 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp
x265 [info]: tools: fast-intra strong-intra-smoothing lslices=4 deblock
Finishing stream 0:1 without any data written to it.
Output #0, hls, to '/config/transcodes/cf668d3610668d9b295c499aa4f3e2ce.m3u8':
  Metadata:
    encoder         : Lavf59.27.100
  Stream #0:0: Video: hevc (hvc1 / 0x31637668), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 59.94 fps, 90k tbn
    Metadata:
      encoder         : Lavc59.37.100 libx265
    Side data:
      cpb: bitrate max/min/avg: 8000000/0/0 buffer size: 16000000 vbv_delay: N/A
  Stream #0:1: Audio: aac, 48000 Hz, stereo, s16, 384 kb/s
    Metadata:
      encoder         : Lavc59.37.100 libfdk_aac
[libfdk_aac @ 0x5590a6753080] Trying to remove 1024 samples, but the queue is empty
[hls @ 0x5590a6633400] Timestamps are unset in a packet for stream 1. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
[hls @ 0x5590a6633400] Encoder did not produce proper pts, making some up.
[libfdk_aac @ 0x5590a6753080] Trying to remove 1024 samples, but the queue is empty
[hls @ 0x5590a6633400] Opening '/config/transcodes/cf668d3610668d9b295c499aa4f3e2ce0.ts' for writing
[hls @ 0x5590a6633400] Opening '/config/transcodes/cf668d3610668d9b295c499aa4f3e2ce.m3u8.tmp' for writing
frame=    0 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
video:0kB audio:2kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

encoded 0 frames

Media info of the file

It's a default liveTV stream from an HDHomerun.

Application version

0.16.5

Device information

Chromecast with Google TV

Android version

TV 12

Jellyfin server version

10.8.13

coldshouldermedia commented 4 months ago

I'm not sure if this is related, but when I checked in on my server this morning, there were two .ts files in \jellyfin\config\transcodes which were nearly 100GB and still growing. My HDHomerun showed that both tuners were still active. I'm confident no clients were in use.

I restarted the jellyfin container, and manually deleted the files. When starting a stream on desktop, the files appear, and when closing the stream they are deleted. I have not tested the Chromecast again yet.

nielsvanvelzen commented 4 months ago

No client logs so this is all guess work but it feels like the issue is on the serverside. 100GB transcode files are not normal.

coldshouldermedia commented 4 months ago

The AndroidTV app is the only client that seems to give me any problems, and the large transocde files seems to start when the AndroidTV app crashes.

How do I move forward with this issue?

nielsvanvelzen commented 4 months ago

If you could provide logs (crash logs uploaded to your server or runtime logs you capture manually) I might be able to see what goes wrong.

You'll need to use logcat to get the logs from a device: https://wiki.lineageos.org/how-to/logcat. Make sure to reproduce the issue just before getting the logs.

jellyfin-bot commented 2 weeks ago

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.