5 hours ago
Hello,
I have an issue with AndroidTV playback with Jellyfin. Whenever any media is paused, the audio continues choppy still. When unpaused, the video skips to that audio.
This issue occurs just on AndroidTV. Web and iOS clients work correctly. I noticed that this issue reduces a bit (but still happens) when I disable "Prefer FFmpeg for audio playback" in AndroidTV client developer settings.
My server side settings are pretty much default, the only thing I configured is Hardware acceleration.
AndroidTV client:
client: Jellyfin for Android TV
client_version: 0.19.2
JellyFin server:
Server version: 10.11.2
Web version: 10.11.2
Build version: 10.11.2
Host:
Running in k3s cluster on ASUS NUC host:
OS: Ubuntu 24.04.3 LTS x86_64
Host: NUC14MNK-B2 90AR00M2-M000F0
Kernel: 6.14.0-29-generic
CPU: Intel N150 (4) @ 3.600GHz
GPU: Intel Graphics
Memory: 3627MiB / 15597MiB
When using external player (Kodi) the issue is not present, but I would prefer to use native JellyFin app.
Issue showcase: https://streamable.com/ohrcbk
Logs:
upload_Jellyfin Android TV_0.19.2_20251107130010_07f5f2ddad1d4544932ad713152368f6.log
log_20251108.log
FFmpeg.DirectStream-2025-11-08_12-54-36_ba3ad267bcce4126858da297d9c48608_dce67202.log
FFmpeg.DirectStream-2025-11-08_12-54-35_ba3ad267bcce4126858da297d9c48608_c3f17dee.log
system.xml
encoding.xml
k3s deployment.yaml
Thanks for help!
I have an issue with AndroidTV playback with Jellyfin. Whenever any media is paused, the audio continues choppy still. When unpaused, the video skips to that audio.
This issue occurs just on AndroidTV. Web and iOS clients work correctly. I noticed that this issue reduces a bit (but still happens) when I disable "Prefer FFmpeg for audio playback" in AndroidTV client developer settings.
My server side settings are pretty much default, the only thing I configured is Hardware acceleration.
AndroidTV client:
client: Jellyfin for Android TV
client_version: 0.19.2
JellyFin server:
Server version: 10.11.2
Web version: 10.11.2
Build version: 10.11.2
Host:
Running in k3s cluster on ASUS NUC host:
OS: Ubuntu 24.04.3 LTS x86_64
Host: NUC14MNK-B2 90AR00M2-M000F0
Kernel: 6.14.0-29-generic
CPU: Intel N150 (4) @ 3.600GHz
GPU: Intel Graphics
Memory: 3627MiB / 15597MiB
When using external player (Kodi) the issue is not present, but I would prefer to use native JellyFin app.
Issue showcase: https://streamable.com/ohrcbk
Logs:
upload_Jellyfin Android TV_0.19.2_20251107130010_07f5f2ddad1d4544932ad713152368f6.log
log_20251108.log
FFmpeg.DirectStream-2025-11-08_12-54-36_ba3ad267bcce4126858da297d9c48608_dce67202.log
FFmpeg.DirectStream-2025-11-08_12-54-35_ba3ad267bcce4126858da297d9c48608_c3f17dee.log
system.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<ServerConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<LogFileRetentionDays>3</LogFileRetentionDays>
<IsStartupWizardCompleted>true</IsStartupWizardCompleted>
<EnableMetrics>false</EnableMetrics>
<EnableNormalizedItemByNameIds>true</EnableNormalizedItemByNameIds>
<IsPortAuthorized>true</IsPortAuthorized>
<QuickConnectAvailable>true</QuickConnectAvailable>
<EnableCaseSensitiveItemIds>true</EnableCaseSensitiveItemIds>
<DisableLiveTvChannelUserDataName>true</DisableLiveTvChannelUserDataName>
<MetadataPath />
<PreferredMetadataLanguage>en</PreferredMetadataLanguage>
<MetadataCountryCode>US</MetadataCountryCode>
<SortReplaceCharacters>
<string>.</string>
<string>+</string>
<string>%</string>
</SortReplaceCharacters>
<SortRemoveCharacters>
<string>,</string>
<string>&</string>
<string>-</string>
<string>{</string>
<string>}</string>
<string>'</string>
</SortRemoveCharacters>
<SortRemoveWords>
<string>the</string>
<string>a</string>
<string>an</string>
</SortRemoveWords>
<MinResumePct>5</MinResumePct>
<MaxResumePct>90</MaxResumePct>
<MinResumeDurationSeconds>300</MinResumeDurationSeconds>
<MinAudiobookResume>5</MinAudiobookResume>
<MaxAudiobookResume>5</MaxAudiobookResume>
<InactiveSessionThreshold>0</InactiveSessionThreshold>
<LibraryMonitorDelay>60</LibraryMonitorDelay>
<LibraryUpdateDuration>30</LibraryUpdateDuration>
<CacheSize>200</CacheSize>
<ImageSavingConvention>Legacy</ImageSavingConvention>
<MetadataOptions>
<MetadataOptions>
<ItemType>Book</ItemType>
<DisabledMetadataSavers />
<LocalMetadataReaderOrder />
<DisabledMetadataFetchers />
<MetadataFetcherOrder />
<DisabledImageFetchers />
<ImageFetcherOrder />
</MetadataOptions>
<MetadataOptions>
<ItemType>Movie</ItemType>
<DisabledMetadataSavers />
<LocalMetadataReaderOrder />
<DisabledMetadataFetchers />
<MetadataFetcherOrder />
<DisabledImageFetchers />
<ImageFetcherOrder />
</MetadataOptions>
<MetadataOptions>
<ItemType>MusicVideo</ItemType>
<DisabledMetadataSavers />
<LocalMetadataReaderOrder />
<DisabledMetadataFetchers>
<string>The Open Movie Database</string>
</DisabledMetadataFetchers>
<MetadataFetcherOrder />
<DisabledImageFetchers>
<string>The Open Movie Database</string>
</DisabledImageFetchers>
<ImageFetcherOrder />
</MetadataOptions>
<MetadataOptions>
<ItemType>Series</ItemType>
<DisabledMetadataSavers />
<LocalMetadataReaderOrder />
<DisabledMetadataFetchers />
<MetadataFetcherOrder />
<DisabledImageFetchers />
<ImageFetcherOrder />
</MetadataOptions>
<MetadataOptions>
<ItemType>MusicAlbum</ItemType>
<DisabledMetadataSavers />
<LocalMetadataReaderOrder />
<DisabledMetadataFetchers>
<string>TheAudioDB</string>
</DisabledMetadataFetchers>
<MetadataFetcherOrder />
<DisabledImageFetchers />
<ImageFetcherOrder />
</MetadataOptions>
<MetadataOptions>
<ItemType>MusicArtist</ItemType>
<DisabledMetadataSavers />
<LocalMetadataReaderOrder />
<DisabledMetadataFetchers>
<string>TheAudioDB</string>
</DisabledMetadataFetchers>
<MetadataFetcherOrder />
<DisabledImageFetchers />
<ImageFetcherOrder />
</MetadataOptions>
<MetadataOptions>
<ItemType>BoxSet</ItemType>
<DisabledMetadataSavers />
<LocalMetadataReaderOrder />
<DisabledMetadataFetchers />
<MetadataFetcherOrder />
<DisabledImageFetchers />
<ImageFetcherOrder />
</MetadataOptions>
<MetadataOptions>
<ItemType>Season</ItemType>
<DisabledMetadataSavers />
<LocalMetadataReaderOrder />
<DisabledMetadataFetchers />
<MetadataFetcherOrder />
<DisabledImageFetchers />
<ImageFetcherOrder />
</MetadataOptions>
<MetadataOptions>
<ItemType>Episode</ItemType>
<DisabledMetadataSavers />
<LocalMetadataReaderOrder />
<DisabledMetadataFetchers />
<MetadataFetcherOrder />
<DisabledImageFetchers />
<ImageFetcherOrder />
</MetadataOptions>
</MetadataOptions>
<SkipDeserializationForBasicTypes>true</SkipDeserializationForBasicTypes>
<ServerName>jellyfin-k3s</ServerName>
<UICulture>en-US</UICulture>
<SaveMetadataHidden>false</SaveMetadataHidden>
<ContentTypes />
<RemoteClientBitrateLimit>0</RemoteClientBitrateLimit>
<EnableFolderView>false</EnableFolderView>
<EnableGroupingMoviesIntoCollections>false</EnableGroupingMoviesIntoCollections>
<EnableGroupingShowsIntoCollections>false</EnableGroupingShowsIntoCollections>
<DisplaySpecialsWithinSeasons>true</DisplaySpecialsWithinSeasons>
<CodecsUsed />
<PluginRepositories>
<RepositoryInfo>
<Name>Jellyfin Stable</Name>
<Url>https://repo.jellyfin.org/files/plugin/manifest.json</Url>
<Enabled>true</Enabled>
</RepositoryInfo>
</PluginRepositories>
<EnableExternalContentInSuggestions>true</EnableExternalContentInSuggestions>
<ImageExtractionTimeoutMs>0</ImageExtractionTimeoutMs>
<PathSubstitutions />
<EnableSlowResponseWarning>true</EnableSlowResponseWarning>
<SlowResponseThresholdMs>500</SlowResponseThresholdMs>
<CorsHosts>
<string>*</string>
</CorsHosts>
<ActivityLogRetentionDays>30</ActivityLogRetentionDays>
<LibraryScanFanoutConcurrency>0</LibraryScanFanoutConcurrency>
<LibraryMetadataRefreshConcurrency>0</LibraryMetadataRefreshConcurrency>
<AllowClientLogUpload>true</AllowClientLogUpload>
<DummyChapterDuration>0</DummyChapterDuration>
<ChapterImageResolution>MatchSource</ChapterImageResolution>
<ParallelImageEncodingLimit>0</ParallelImageEncodingLimit>
<CastReceiverApplications>
<CastReceiverApplication>
<Id>F007D354</Id>
<Name>Stable</Name>
</CastReceiverApplication>
<CastReceiverApplication>
<Id>6F511C87</Id>
<Name>Unstable</Name>
</CastReceiverApplication>
</CastReceiverApplications>
<TrickplayOptions>
<EnableHwAcceleration>false</EnableHwAcceleration>
<EnableHwEncoding>false</EnableHwEncoding>
<EnableKeyFrameOnlyExtraction>false</EnableKeyFrameOnlyExtraction>
<ScanBehavior>NonBlocking</ScanBehavior>
<ProcessPriority>BelowNormal</ProcessPriority>
<Interval>10000</Interval>
<WidthResolutions>
<int>320</int>
</WidthResolutions>
<TileWidth>10</TileWidth>
<TileHeight>10</TileHeight>
<Qscale>4</Qscale>
<JpegQuality>90</JpegQuality>
<ProcessThreads>1</ProcessThreads>
</TrickplayOptions>
<EnableLegacyAuthorization>true</EnableLegacyAuthorization>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>
<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>qsv</HardwareAccelerationType>
<EncoderAppPathDisplay>/usr/lib/jellyfin-ffmpeg/ffmpeg</EncoderAppPathDisplay>
<VaapiDevice>/dev/dri/renderD128</VaapiDevice>
<QsvDevice>/dev/dri/renderD128</QsvDevice>
<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 xsi:nil="true" />
<DeinterlaceDoubleRate>false</DeinterlaceDoubleRate>
<DeinterlaceMethod>yadif</DeinterlaceMethod>
<EnableDecodingColorDepth10Hevc>true</EnableDecodingColorDepth10Hevc>
<EnableDecodingColorDepth10Vp9>true</EnableDecodingColorDepth10Vp9>
<EnableDecodingColorDepth10HevcRext>false</EnableDecodingColorDepth10HevcRext>
<EnableDecodingColorDepth12HevcRext>false</EnableDecodingColorDepth12HevcRext>
<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>
<string>hevc</string>
<string>av1</string>
<string>vp9</string>
<string>vp8</string>
<string>mpeg2video</string>
</HardwareDecodingCodecs>
<AllowOnDemandMetadataBasedKeyframeExtractionForExtensions>
<string>mkv</string>
</AllowOnDemandMetadataBasedKeyframeExtractionForExtensions>k3s deployment.yaml
Code:
apiVersion: apps/v1
kind: Deployment
metadata:
name: jellyfin
namespace: media
labels:
app: jellyfin
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: jellyfin
template:
metadata:
labels:
app: jellyfin
spec:
# Pin to the node with iGPU (same pattern you use for Jellyfin)
nodeSelector:
kubernetes.io/hostname: asusnuc
# Make /dev/dri accessible and ensure file/group ownership inside the pod
securityContext:
fsGroup: 1100
supplementalGroups:
- 44 # video
- 992 # render
containers:
- name: jellyfin
securityContext:
privileged: true
seccompProfile:
type: Unconfined
appArmorProfile:
type: Unconfined
image: jellyfin/jellyfin:10.11.2
imagePullPolicy: IfNotPresent
env:
- name: PUID
value: "1100"
- name: PGID
value: "1100"
- name: GIDLIST
value: "44,992"
- name: TZ
value: "Europe/Bratislava"
- name: UMASK
value: "022"
- name: LIBVA_DRIVER_NAME
value: iHD
ports:
- containerPort: 80
name: http
- containerPort: 7359
name: http-udp
volumeMounts:
- name: config
mountPath: /config
- name: movies
mountPath: /data/Movies
- name: tvshows
mountPath: /data/TVShows
- name: dev-dri
mountPath: /dev/dri
livenessProbe:
httpGet: { path: /health, port: 8096 }
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
readinessProbe:
httpGet: { path: /health, port: 8096 }
periodSeconds: 5
timeoutSeconds: 5
failureThreshold: 6
startupProbe:
httpGet: { path: /health, port: 8096 }
periodSeconds: 5
timeoutSeconds: 5
failureThreshold: 60
resources:
requests:
cpu: "200m"
memory: "512Mi"
limits:
cpu: "2"
memory: "4Gi"
securityContext:
privileged: true
allowPrivilegeEscalation: true
readOnlyRootFilesystem: false
seccompProfile: { type: Unconfined }
volumes:
# Config on host for easy backup (matches your /k3s-data pattern)
- name: config
persistentVolumeClaim:
claimName: jellyfin-config
- name: tvshows
persistentVolumeClaim:
claimName: sonarr-tvshows-host
- name: movies
persistentVolumeClaim:
claimName: radarr-movies-host
- name: dev-dri
hostPath:
path: /dev/dri
type: DirectoryThanks for help!

