Hermes Agent commited on
Commit
9f9c93c
·
1 Parent(s): 415ebcc

fix(playback): enable video encoding to eliminate black screen during video playback and fix _search_candidates import

Browse files
apex/combined-entrypoint.sh CHANGED
@@ -238,7 +238,7 @@ for bcfg in "$LOCAL_ROOT/config/branding.xml" "/data/jellyfin/config/branding.xm
238
  fi
239
  done
240
 
241
- # Configure encoding.xml for direct play / stream remuxing (prevents CPU-heavy video transcode)
242
  ENCODING_XML="$LOCAL_ROOT/config/encoding.xml"
243
  python3 - "$ENCODING_XML" <<'PY'
244
  import sys
@@ -253,7 +253,7 @@ content = """<?xml version="1.0" encoding="utf-8"?>
253
  <EnableThrottling>true</EnableThrottling>
254
  <ThrottleDelaySeconds>180</ThrottleDelaySeconds>
255
  <HardwareAccelerationType>none</HardwareAccelerationType>
256
- <EnableVideoEncoding>false</EnableVideoEncoding>
257
  <EnableAudioEncoding>true</EnableAudioEncoding>
258
  <AllowVideoStreamCopy>true</AllowVideoStreamCopy>
259
  <AllowAudioStreamCopy>true</AllowAudioStreamCopy>
@@ -263,7 +263,8 @@ path.parent.mkdir(parents=True, exist_ok=True)
263
  path.write_text(content.strip(), encoding="utf-8")
264
  PY
265
  cp -f "$ENCODING_XML" "/data/jellyfin/config/encoding.xml" 2>/dev/null || true
266
- echo "[JELLYFIN] Configured zero-CPU video encoding & direct stream remux in $ENCODING_XML"
 
267
 
268
  echo "[HEALTH] Jellyfin starting in background (local datadir)..."
269
  launch_jellyfin
 
238
  fi
239
  done
240
 
241
+ # Configure encoding.xml for direct play / stream remuxing and video playback
242
  ENCODING_XML="$LOCAL_ROOT/config/encoding.xml"
243
  python3 - "$ENCODING_XML" <<'PY'
244
  import sys
 
253
  <EnableThrottling>true</EnableThrottling>
254
  <ThrottleDelaySeconds>180</ThrottleDelaySeconds>
255
  <HardwareAccelerationType>none</HardwareAccelerationType>
256
+ <EnableVideoEncoding>true</EnableVideoEncoding>
257
  <EnableAudioEncoding>true</EnableAudioEncoding>
258
  <AllowVideoStreamCopy>true</AllowVideoStreamCopy>
259
  <AllowAudioStreamCopy>true</AllowAudioStreamCopy>
 
263
  path.write_text(content.strip(), encoding="utf-8")
264
  PY
265
  cp -f "$ENCODING_XML" "/data/jellyfin/config/encoding.xml" 2>/dev/null || true
266
+ sed -i 's|<EnableVideoEncoding>false</EnableVideoEncoding>|<EnableVideoEncoding>true</EnableVideoEncoding>|g' "$ENCODING_XML" "/data/jellyfin/config/encoding.xml" 2>/dev/null || true
267
+ echo "[JELLYFIN] Configured high-performance video encoding & direct stream remux in $ENCODING_XML"
268
 
269
  echo "[HEALTH] Jellyfin starting in background (local datadir)..."
270
  launch_jellyfin
apex/tg_streamer.py CHANGED
@@ -59,6 +59,7 @@ from apex_stream.organize import (
59
  tv_show_root,
60
  )
61
  from apex_stream.tmdb_meta import (
 
62
  best_tmdb_match,
63
  build_episode_nfo,
64
  build_movie_nfo,
 
59
  tv_show_root,
60
  )
61
  from apex_stream.tmdb_meta import (
62
+ _search_candidates,
63
  best_tmdb_match,
64
  build_episode_nfo,
65
  build_movie_nfo,
apex/ui/abyss.css CHANGED
@@ -3325,8 +3325,7 @@ header.MuiAppBar-root [class*="serverName"],
3325
  .cardPadder,
3326
  .cardBox,
3327
  .card-withdetails,
3328
- .innerCardContainer,
3329
- .backdropImage {
3330
  image-rendering: auto !important;
3331
  image-rendering: high-quality !important;
3332
  -webkit-backface-visibility: hidden;
@@ -3334,6 +3333,22 @@ header.MuiAppBar-root [class*="serverName"],
3334
  transform: translateZ(0);
3335
  }
3336
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3337
  /* 13. Android & Mobile Perfection */
3338
  @media (max-width: 959px) {
3339
  .MuiDrawer-modal .MuiDrawer-paper,
 
3325
  .cardPadder,
3326
  .cardBox,
3327
  .card-withdetails,
3328
+ .innerCardContainer {
 
3329
  image-rendering: auto !important;
3330
  image-rendering: high-quality !important;
3331
  -webkit-backface-visibility: hidden;
 
3333
  transform: translateZ(0);
3334
  }
3335
 
3336
+ .backdropImage {
3337
+ image-rendering: auto !important;
3338
+ image-rendering: high-quality !important;
3339
+ }
3340
+
3341
+ /* Ensure video player elements always render on top without backdrop interference */
3342
+ #videoOsdPage,
3343
+ .videoPlayerContainer,
3344
+ .htmlvideoplayer {
3345
+ z-index: 99999 !important;
3346
+ }
3347
+ body:has(#videoOsdPage) #abyss-spotlight-backdrop,
3348
+ body.videoPlayerContainerVisible #abyss-spotlight-backdrop {
3349
+ display: none !important;
3350
+ }
3351
+
3352
  /* 13. Android & Mobile Perfection */
3353
  @media (max-width: 959px) {
3354
  .MuiDrawer-modal .MuiDrawer-paper,
apex/ui/spotlight-loader.js CHANGED
@@ -49,7 +49,6 @@
49
  els[i].setAttribute(BACKDROP_MARK_ATTR, "true");
50
  els[i].style.backgroundImage = 'url("' + url + '")';
51
  els[i].style.imageRendering = 'auto';
52
- els[i].style.transform = 'translateZ(0)';
53
  }
54
  });
55
  }
 
49
  els[i].setAttribute(BACKDROP_MARK_ATTR, "true");
50
  els[i].style.backgroundImage = 'url("' + url + '")';
51
  els[i].style.imageRendering = 'auto';
 
52
  }
53
  });
54
  }