-
-
Notifications
You must be signed in to change notification settings - Fork 519
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
jellyfin-androidtv requesting transcoding inappropriately #3010
Comments
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. |
Linking this with #2601. |
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. |
Describe the bug
I noticed that my Android TV 0.16.0-beta.3 running on a Xiaomi Mi Box S is requesting (that's the architecture, right?) transcoding for video files that I didn't think needed it when I was on a stable release (0.15.11)
In the server dashboard I get the message "Reason for transcoding: The video's bitrate exceeds the limit"
I have checked that jellyfin-androidtv is set to "Auto" (both in the popup menu while watching the video, and in the Preferences > Playback > Max Streaming Bitrate location)
If I set either of those settings to "120 Mbit/s" I see "Direct playing" in the server dashboard.
I'd consider this a useable workaround.
(Setting it in the Preferences menu leads to 120Mbit/s being selected in any video I play, and then selecting Auto in the video fails to reproduce the transcoding behavior.)
Could "Auto" be accidently treated as "0 Mbit/s" or something like that?
Also, while reproducing this behavior, I noticed the following text in the server dashboard > active devices > info dialogue box:
"The media is being converted into a format that is compatible with the device that is playing the media. Framerate: 263fps"
That fps number strikes me as ... unusual.
I don't know if it is just an output bug (26.3 fps getting written to the web interface incorrectly), or if it is jellyfin-androidtv misunderstanding the framerate and choking, causing the transcoding.
I also noticed that one transcoded video looped it's last ~15 seconds of audio 5 or 6 times (over a frozen frame from 30 sec earlier) before finally exiting. While it was doing this the timer displayed "35:53 / 35:46" (not a type, the current position exceeded the total runtime!)
This behavior is not present when direct playing, so I think it's ffmpeg related, and hope it's rare!
(I'll keep an eye out and file separately if I can reproduce it)
Included jellyfin*.log shows playback beginning and requesting transcoding, then after I set "Auto" to "120Mbit/s" playback without transcoding.
If I can provide any other logs or answer any questions, don't hesitate to ask.
Logs
[2023-08-29 12:16:12.140 -04:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-08-29 12:16:12.140 -04:00] [INF] StreamBuilder.BuildVideoItem( Profile="AndroidTV-libVLC", Path="\server\video.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=ContainerBitrateExceedsLimit ) "media:/videos/865291d0-a786-3b48-e73f-4d99e44607ad/stream.mkv?MediaSourceId=865291d0a7863b48e73f4d99e44607ad&VideoCodec=h264&AudioCodec=aac,mp3&AudioStreamIndex=1&VideoBitrate=914317&AudioBitrate=256000&MaxFramerate=23.976025&api_key=&CopyTimestamps=true&RequireAvc=false&Tag=e6dffb7056912b019f87070c529e03d9&hevc-level=120&hevc-videobitdepth=10&hevc-profile=main10&aac-audiochannels=8&TranscodeReasons=ContainerBitrateExceedsLimit"
[2023-08-29 12:16:12.223 -04:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-08-29 12:16:12.223 -04:00] [INF] StreamBuilder.BuildVideoItem( Profile="AndroidTV-ExoPlayer", Path="\server\video.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=ContainerBitrateExceedsLimit ) "media:/videos/865291d0-a786-3b48-e73f-4d99e44607ad/master.m3u8?MediaSourceId=865291d0a7863b48e73f4d99e44607ad&VideoCodec=hevc,h264,hevc&AudioCodec=eac3&AudioStreamIndex=1&VideoBitrate=914317&AudioBitrate=256000&AudioSampleRate=48000&MaxFramerate=23.976025&api_key=&RequireAvc=false&Tag=e6dffb7056912b019f87070c529e03d9&SegmentContainer=ts&BreakOnNonKeyFrames=False&hevc-level=120&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&aac-audiochannels=8&TranscodeReasons=ContainerBitrateExceedsLimit"
[2023-08-29 12:16:12.768 -04:00] [INF] "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -f matroska,webm -autorotate 0 -i file:"/video.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset veryfast -crf 23 -maxrate 914317 -bufsize 1828634 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames:0 "expr:gte(t,0+n_forced3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw,iha),640)/2)*2:trunc(ow/a/2)*2,format=yuv420p" -codec:a:0 copy -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_segment_filename "/var/lib/jellyfin/transcodes/e0927821b000644103a982bb4293d90d%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/var/lib/jellyfin/transcodes/e0927821b000644103a982bb4293d90d.m3u8""
[2023-08-29 12:16:12.869 -04:00] [INF] Started user data sync
[2023-08-29 12:16:12.901 -04:00] [INF] User Data Sync: User "jellyfin" ("9f6cc02b10894c6fa0a5b39987e405fb") posted 2 updates
[2023-08-29 12:16:12.901 -04:00] [INF] Finished user data sync, taking "00:00:00.0322248"
[2023-08-29 12:16:13.497 -04:00] [WRN] Slow HTTP Response from "http://server:8096/videos/865291d0-a786-3b48-e73f-4d99e44607ad/hls1/main/0.ts?DeviceId=8fd59dcba67f08f3da458771350e16fbb03ce4a4&MediaSourceId=865291d0a7863b48e73f4d99e44607ad&VideoCodec=hevc,h264,hevc&AudioCodec=eac3&AudioStreamIndex=1&VideoBitrate=914317&AudioBitrate=256000&AudioSampleRate=48000&MaxFramerate=23.976025&PlaySessionId=cfc73f5c753d430d93574c4b131062ec&api_key=5aaa87f7c52f450d9f6ae5560584fa92&RequireAvc=false&Tag=e6dffb7056912b019f87070c529e03d9&SegmentContainer=ts&BreakOnNonKeyFrames=False&hevc-level=120&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&aac-audiochannels=8&TranscodeReasons=ContainerBitrateExceedsLimit&runtimeTicks=0&actualSegmentLengthTicks=30000000" to "192.168.1.128" in 0:00:00.7348776 with Status Code 200
[2023-08-29 12:16:25.908 -04:00] [INF] Stopping ffmpeg process with q command for "/var/lib/jellyfin/transcodes/e0927821b000644103a982bb4293d90d.m3u8"
[2023-08-29 12:16:25.921 -04:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-08-29 12:16:25.921 -04:00] [INF] StreamBuilder.BuildVideoItem( Profile="AndroidTV-libVLC", Path="\server\video.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/865291d0-a786-3b48-e73f-4d99e44607ad/stream.mkv?MediaSourceId=865291d0a7863b48e73f4d99e44607ad&Static=true&VideoCodec=hevc&AudioCodec=eac3&AudioStreamIndex=1&api_key=&Tag=e6dffb7056912b019f87070c529e03d9"
[2023-08-29 12:16:25.983 -04:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-08-29 12:16:25.983 -04:00] [INF] StreamBuilder.BuildVideoItem( Profile="AndroidTV-ExoPlayer", Path="\server\video.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/865291d0-a786-3b48-e73f-4d99e44607ad/stream.mkv?MediaSourceId=865291d0a7863b48e73f4d99e44607ad&Static=true&VideoCodec=hevc&AudioCodec=eac3&AudioStreamIndex=1&api_key=&Tag=e6dffb7056912b019f87070c529e03d9"
[2023-08-29 12:16:26.001 -04:00] [INF] FFmpeg exited with code 0
[2023-08-29 12:16:26.001 -04:00] [INF] Deleting partial stream file(s) "/var/lib/jellyfin/transcodes/e0927821b000644103a982bb4293d90d.m3u8"
[2023-08-29 12:16:26.559 -04:00] [INF] Started user data sync
[2023-08-29 12:16:26.590 -04:00] [INF] User Data Sync: User "jellyfin" ("9f6cc02b10894c6fa0a5b39987e405fb") posted 2 updates
[2023-08-29 12:16:26.590 -04:00] [INF] Finished user data sync, taking "00:00:00.0311605"
[2023-08-29 12:16:27.508 -04:00] [INF] Playback stopped reported by app "Android TV" "0.16.0-beta.3" playing "video.mkv". Stopped at "5004" ms
[2023-08-29 12:16:27.551 -04:00] [WRN] Slow HTTP Response from "http://server:8096/Sessions/Playing/Stopped" to "192.168.1.128" in 0:00:01.6440617 with Status Code 204
[2023-08-29 12:16:28.046 -04:00] [INF] Started user data sync
[2023-08-29 12:16:28.096 -04:00] [INF] User Data Sync: User "jellyfin" ("9f6cc02b10894c6fa0a5b39987e405fb") posted 2 updates
[2023-08-29 12:16:28.096 -04:00] [INF] Finished user data sync, taking "00:00:00.0494597"
Application version
0.16.0-beta.3
Where did you install the app from?
Google Play
Device information
Xiaomi Mi Box S
Android version
Android 9 - July 5 2021 patches on 4.9.113 Kernel
Jellyfin server version
10.8.10
The text was updated successfully, but these errors were encountered: