[Topic Unique] K7 serveur média

  • J'aime
Réactions: Titux
passthrough audio est à off ou on (c'est également dans les options de K7 dans Expérience -> Lecture vidéo)?
désactiver le HDMI AFR dans tes options de playback vidéo
Pas trouvé ni l'un ni l'autre :unsure:
Et tu peux me détailler quand est-ce que tes drops surviennent?
Bon, cela semble résolu, mais je reste prudent dans l'affirmation (vu deux vidéos hier soir). J'attends encore quelques visionnages avant de crier victoire.
Sur ma Shield j'ai activé HDR.
Sur K7 Serveur, j'ai vu que "Tonemapping HDR vers SDR" était activé (je ne sais si c'est par défaut ou si c'est moi qui l'ai activé…). Je l'ai désactivé et plus de soucis :).

tonemapping.png

Bon après ça transcode que sur l'audio donc ça coute pas cher à ta machine mais ce serait mieux si ça passait en direct surtout que la shield en est forcément capable
Bon, j'ai toujours du transcode quasi partout, j'ai fait le comparatif entre les rares qui n'en ont pas et les autres. Il paraît que ce soit dû au codec eac3 non supporté.

Transcode.png

la release de la version v1.17.1:
Mise à jour faite aussi sur le serveur et Android TV. En lisant le descriptif de modifs, je pensai que le souci des génériques de fin étaient pris en compte, mais rien de changé à ce niveau :

1793008857392.png

Autre souci d'ergonomie pour la lecture sur Android TV : la manipulation de la barre de lecture avec la télécommande n'est vraiment pas pratique et aucunement intuitif (contrairement aux autres clients de lecture vidéo). Sur le navigateur avec la souris pas de souci :), mais avec la télécommande très pénible (surtout quand il faut passer le générique de fin) :mad:


Voilà, si le phénomène "drops" a bien disparu avec ce réglage, le bon fonctionnement du serveur sera, dans l'ensemble, abouti 🍾🍾🍾
Reste à régler les petits problèmes d'ergonomie qui s'avèrent un peu agaçants à l'usage… et, ce sera parfait ;)
 
bonjour,

je n'ai pas trouvé l'application sur l'Apple Store ! comment faire pour installation sur Apple TV , je ne connais pas bien ..... ( je suis sous Android chez moi)

merci
 
Salut, perso depuis la mise à jour sur mon téléphone et l'application, j'ai une erreur HTTP 500 quand je me tente de me connecter.
J'ai tout supprimé, et réinstaller. J'ai supprimé dans K7 l'appareil Android. Soucis toujours là.
Mon compte à le MFA d'activer. Je me connecte via le navigateur sans souci (sur le téléphone et le PC). Aucun soucis sur l'app Win.

Code:
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
2026/10/26 14:24:27    stdout       at Serilog.AspNetCore.RequestLoggingMiddleware.Invoke(HttpContext httpContext)
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.HandleException(HttpContext context, ExceptionDispatchInfo edi)
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.HandleException(HttpContext context, ExceptionDispatchInfo edi)
2026/10/26 14:24:27    stdout       --- End of inner exception stack trace ---
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context)
2026/10/26 14:24:27    stdout       at K7.Server.Web.Middleware.SetupRequiredMiddleware.InvokeAsync(HttpContext context, ISetupService setupService) in /src/src/Server/Web/Middleware/SetupRequiredMiddleware.cs:line 14
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
2026/10/26 14:24:27    stdout       at K7.Server.Web.Middleware.LinkPreviewDocumentMiddleware.InvokeAsync(HttpContext context, ISender sender, IServerSettingsService serverSettings, IMemoryCache memoryCache) in /src/src/Server/Web/Middleware/LinkPreviewDocumentMiddleware.cs:line 25
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
2026/10/26 14:24:27    stdout       at K7.Server.Web.Middleware.AuthFlowLoggingMiddleware.InvokeAsync(HttpContext context) in /src/src/Server/Web/Middleware/AuthFlowLoggingMiddleware.cs:line 19
2026/10/26 14:24:27    stdout       at K7.Server.Web.Middleware.AuthFlowLoggingMiddleware.ReadReturnUrl(HttpRequest request) in /src/src/Server/Web/Middleware/AuthFlowLoggingMiddleware.cs:line 48
2026/10/26 14:24:27    stdout       at K7.Server.Web.Middleware.AuthFlowLoggingMiddleware.ReadFormValue(HttpRequest request, String key) in /src/src/Server/Web/Middleware/AuthFlowLoggingMiddleware.cs:line 79
2026/10/26 14:24:27    stdout     ---> System.InvalidOperationException: This form is being accessed with an invalid anti-forgery token. Validate the `IAntiforgeryValidationFeature` on the request before reading from the form.
2026/10/26 14:24:27    stdout    System.InvalidOperationException: The exception handler configured on ExceptionHandlerOptions produced a 404 status response. This InvalidOperationException containing the original exception was thrown since this is often due to a misconfigured ExceptionHandlingPath. If the exception handler is expected to return 404 status responses then set AllowStatusCode404Response to true.
2026/10/26 14:24:27    stdout    [13:24:27 ERR] Connection id "Je_Masque", Request id "Je_Masque:00000001": An unhandled exception was thrown by the application.
2026/10/26 14:24:27    stdout       at Serilog.AspNetCore.RequestLoggingMiddleware.Invoke(HttpContext httpContext)
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.HandleException(HttpContext context, ExceptionDispatchInfo edi)
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.HandleException(HttpContext context, ExceptionDispatchInfo edi)
2026/10/26 14:24:27    stdout       --- End of inner exception stack trace ---
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context)
2026/10/26 14:24:27    stdout       at K7.Server.Web.Middleware.SetupRequiredMiddleware.InvokeAsync(HttpContext context, ISetupService setupService) in /src/src/Server/Web/Middleware/SetupRequiredMiddleware.cs:line 14
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
2026/10/26 14:24:27    stdout       at K7.Server.Web.Middleware.LinkPreviewDocumentMiddleware.InvokeAsync(HttpContext context, ISender sender, IServerSettingsService serverSettings, IMemoryCache memoryCache) in /src/src/Server/Web/Middleware/LinkPreviewDocumentMiddleware.cs:line 25
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
2026/10/26 14:24:27    stdout       at K7.Server.Web.Middleware.AuthFlowLoggingMiddleware.InvokeAsync(HttpContext context) in /src/src/Server/Web/Middleware/AuthFlowLoggingMiddleware.cs:line 19
2026/10/26 14:24:27    stdout       at K7.Server.Web.Middleware.AuthFlowLoggingMiddleware.ReadReturnUrl(HttpRequest request) in /src/src/Server/Web/Middleware/AuthFlowLoggingMiddleware.cs:line 48
2026/10/26 14:24:27    stdout       at K7.Server.Web.Middleware.AuthFlowLoggingMiddleware.ReadFormValue(HttpRequest request, String key) in /src/src/Server/Web/Middleware/AuthFlowLoggingMiddleware.cs:line 79
2026/10/26 14:24:27    stdout     ---> System.InvalidOperationException: This form is being accessed with an invalid anti-forgery token. Validate the `IAntiforgeryValidationFeature` on the request before reading from the form.
2026/10/26 14:24:27    stdout    System.InvalidOperationException: The exception handler configured on ExceptionHandlerOptions produced a 404 status response. This InvalidOperationException containing the original exception was thrown since this is often due to a misconfigured ExceptionHandlingPath. If the exception handler is expected to return 404 status responses then set AllowStatusCode404Response to true.
2026/10/26 14:24:27    stdout    [13:24:27 ERR] HTTP POST /sign-in responded 500 in 2.2170 ms
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context)
2026/10/26 14:24:27    stdout       at K7.Server.Web.Middleware.SetupRequiredMiddleware.InvokeAsync(HttpContext context, ISetupService setupService) in /src/src/Server/Web/Middleware/SetupRequiredMiddleware.cs:line 14
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
2026/10/26 14:24:27    stdout       at K7.Server.Web.Middleware.LinkPreviewDocumentMiddleware.InvokeAsync(HttpContext context, ISender sender, IServerSettingsService serverSettings, IMemoryCache memoryCache) in /src/src/Server/Web/Middleware/LinkPreviewDocumentMiddleware.cs:line 25
2026/10/26 14:24:27    stdout       at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
2026/10/26 14:24:27    stdout       at K7.Server.Web.Middleware.AuthFlowLoggingMiddleware.InvokeAsync(HttpContext context) in /src/src/Server/Web/Middleware/AuthFlowLoggingMiddleware.cs:line 19
2026/10/26 14:24:27    stdout       at K7.Server.Web.Middleware.AuthFlowLoggingMiddleware.ReadReturnUrl(HttpRequest request) in /src/src/Server/Web/Middleware/AuthFlowLoggingMiddleware.cs:line 48
2026/10/26 14:24:27    stdout       at K7.Server.Web.Middleware.AuthFlowLoggingMiddleware.ReadFormValue(HttpRequest request, String key) in /src/src/Server/Web/Middleware/AuthFlowLoggingMiddleware.cs:line 79
2026/10/26 14:24:27    stdout    System.InvalidOperationException: This form is being accessed with an invalid anti-forgery token. Validate the `IAntiforgeryValidationFeature` on the request before reading from the form.
2026/10/26 14:24:27    stdout    [13:24:27 ERR] An unhandled exception has occurred while executing the request.
2026/10/26 14:24:24    stdout    [13:24:24 INF] Auth GET /connect/authorize 302 cookie True returnUrl empty location custom-scheme client k7-native grant - redirectHost - locationHost -
2026/10/26 14:24:24    stdout    [13:24:24 INF] Auth POST /sign-in 302 cookie True returnUrl local-authorize location local-authorize client - grant - redirectHost - locationHost -
2026/10/26 14:24:24    stdout    [13:24:24 INF] User logged in. ReturnUrlKind local-authorize
2026/10/26 14:24:20    stdout    [13:24:20 INF] Auth GET /sign-in 200 cookie False returnUrl local-authorize location empty client - grant - redirectHost - locationHost -
2026/10/26 14:24:20    stdout    [13:24:20 INF] Auth GET /welcome 302 cookie False returnUrl local-authorize location sign-in client - grant - redirectHost - locationHost -
2026/10/26 14:24:20    stdout    [13:24:20 INF] Auth GET /connect/authorize 302 cookie True returnUrl empty location welcome client k7-native grant - redirectHost - locationHost k7.autant.pro
2026/10/26 14:24:19    stdout    [13:24:19 INF] Native auth challenge-ready device anonymous: -
2026/10/26 14:24:18    stdout    [13:24:18 INF] Native auth login-start device anonymous: k7.****.***
 
Pas trouvé ni l'un ni l'autre :unsure:
Tu ne les trouveras que directement sur ton application android tv dans Paramètres -> Lecture vidéo -> Avancé (car c'est uniquement configurable par appareil), je doute franchement que ce soit le tonemapping qui te génère des pertes mais je vais creuser quand même
1793037157147.png

Bon, j'ai toujours du transcode quasi partout, j'ai fait le comparatif entre les rares qui n'en ont pas et les autres. Il paraît que ce soit dû au codec eac3 non supporté.
Je constate la même chose, c'est uniquement ma sonde eac3 qui semble échouer, je vais vois si on peut tenter de corriger ça 👍

Mise à jour faite aussi sur le serveur et Android TV. En lisant le descriptif de modifs, je pensai que le souci des génériques de fin étaient pris en compte, mais rien de changé à ce niveau :
Oui j'ai constaté que certaines de mes séries n'avaient pas l'intro ou l'outro dans certains cas donc j'ai fait des correctifs qui en corrigent un bon paquet mais j'ai encore des loupés malheureusement (il faut aller dans diagnostics et faire "Tout corriger" sur la tuile Intro/outro manquantes si c'était pas déjà fait), je vais tenter d'améliorer encore plus la détection 👍

Autre souci d'ergonomie pour la lecture sur Android TV : la manipulation de la barre de lecture avec la télécommande n'est vraiment pas pratique et aucunement intuitif (contrairement aux autres clients de lecture vidéo). Sur le navigateur avec la souris pas de souci :), mais avec la télécommande très pénible (surtout quand il faut passer le générique de fin) :mad:
Tu peux me décrire ce qui te gêne que je puisse tenter de corriger?
Aujourd'hui:
- si l'overlay n'est pas affiché et que tu fais fleche droite une fois, ca avance de la durée configurée dans tes paramètres (avance rapide)
- si l'overlay n'est pas affiché et que tu restes appuyé sur fleche droite, ca te fait naviguer sur la barre et il faut presser "ok" pour confirmer ou "retour" pour annuler le déplacement
- si l'overlay est affiché, il faut naviguer sur la barre, faire "ok" puis naviguer avec les fleches

A la rigueur ce que je pourrais faire c'est implémenter les boutons "fast forward" de la télécommande pour permettre directement un saut vers le prochain épisode

je n'ai pas trouvé l'application sur l'Apple Store ! comment faire pour installation sur Apple TV , je ne connais pas bien ..... ( je suis sous Android chez moi)
En effet pour l'instant l'application n'est déployée sur aucun store (encore moins le store apple car ça coute un abonnement annuel et j'en ai pas l'usage personnel..), seuls les utilisateurs avancés qui savent comment installer l'application en mode debug peuvent l'utiliser sur l'écosystème apple à ce jour
Ceci étant dit, vu que tu es sous android je comprends pas bien ton intérêt 🤔

Salut, perso depuis la mise à jour sur mon téléphone et l'application, j'ai une erreur HTTP 500 quand je me tente de me connecter.
J'ai tout supprimé, et réinstaller. J'ai supprimé dans K7 l'appareil Android. Soucis toujours là.
Mon compte à le MFA d'activer. Je me connecte via le navigateur sans souci (sur le téléphone et le PC). Aucun soucis sur l'app Win.
Coucou @Titux! Merci pour tes logs ça m'a aidé à comprendre, à priori le soucis ne vient pas de la dernière release. Est-ce que tu as bien persisté le volume
/data/config (ou si tu l'as changé, la valeur de Paths__Config)? Parce que ça ressemble plus à une perte de tes dataprotection-keys 🤔

Sinon dans le doute d'après tes erreurs j'ai au moins un fix que j'ai pu faire, est-ce que tu peux mettre à jour ton serveur avec cette image ghcr.io/kaybi-gh/k7:sha-d61d3de et me dire si c'est mieux pour toi?
 
  • J'aime
Réactions: morgyann
Coucou @Titux! Merci pour tes logs ça m'a aidé à comprendre, à priori le soucis ne vient pas de la dernière release. Est-ce que tu as bien persisté le volume
/data/config (ou si tu l'as changé, la valeur de Paths__Config)? Parce que ça ressemble plus à une perte de tes dataprotection-keys 🤔

Sinon dans le doute d'après tes erreurs j'ai au moins un fix que j'ai pu faire, est-ce que tu peux mettre à jour ton serveur avec cette image ghcr.io/kaybi-gh/k7:sha-d61d3de et me dire si c'est mieux pour toi?
J'ai simplement :
Code:
volumes:
      # Config, métadonnées, logs et cache de transcodage de K7.
      - "/volume2/docker/K7/k7-data:/data"
      # Bind mounts en lecture seule (ro) vers les dossiers du NAS.
      # K7 ne pourra ni écrire ni supprimer/renommer quoi que ce soit dans ces dossiers.
      - "/volume1/Donnees/Videos/Films:/media/movies:ro"
      - "/volume1/Donnees/Videos/Series TV:/media/series:ro"
      - "/volume1/Donnees/Videos/Films-PC:/media/movies-pc:ro"
      - "/volume1/Donnees/Videos/Serie_tv-PC:/media/series-pc:ro"
    environment:
      Database__Provider: Postgres
      Database__UserID: ${POSTGRES_USER}
      Database__Password: ${POSTGRES_PASSWORD}
      Database__Server: postgres
      Database__Port: "5432"
      Database__Name: ${POSTGRES_DB}
      Security__ApiKeys__HashSecret: ${SECURITY__APIKEYS__HASHSECRET}
      Paths__Config: /data/config
      Paths__Metadatas: /data/metadatas
      Paths__Logs: /data/logs
      Paths__Transcoding: /data/transcoding
      # A adapter à l'utilisateur Synology propriétaire/lecteur des dossiers vidéo (voir "id" en SSH).
      PUID: ${PUID:-1026}
      PGID: ${PGID:-100}
J'ai bien un fichier datant de septembre dans le dossier /docker/K7/k7-data/config/dataprotection-keys.
Je viens de passer la mise à jour, vider le cache du navigateur sur le téléphone et même soucis.
Là, je vais jouer à COD 4 et je re-test après.
Merci.
 
J'ai bien un fichier datant de septembre dans le dossier /docker/K7/k7-data/config/dataprotection-keys.
Je viens de passer la mise à jour, vider le cache du navigateur sur le téléphone et même soucis.
Là, je vais jouer à COD 4 et je re-test après.
Merci.
Top merci ça enlève au moins cette possibilité!
Tu pourras m'envoyer les nouveaux logs? Avec le fix que tu as déployé normalement j'aurai un peu plus d'infos
Je te débloque dès qu'on aura trouvé le coupable (pas d'urgence de mon côté évidemment c'est plutôt pour toi) 👌
 
  • J'aime
Réactions: Titux
Top merci ça enlève au moins cette possibilité!
Tu pourras m'envoyer les nouveaux logs? Avec le fix que tu as déployé normalement j'aurai un peu plus d'infos
Je te débloque dès qu'on aura trouvé le coupable (pas d'urgence de mon côté évidemment c'est plutôt pour toi) 👌
Je te fais un DM ;-)
 
  • Merci
Réactions: Kaybi
sur ton application android tv
Ok trouvé, je vais voir tout à l'heure (sachant qu'hier pas de souci).

faire "Tout corriger" sur la tuile Intro/outro manquantes si c'était pas déjà fait), je vais tenter d'améliorer encore plus la détection
J'ai relancé la détection (te dirai si c'est mieux).
NB Sur les autres Serveur/Lecteur, le bouton de sauter le générique de fin, apparaît généralement bien avant que le générique soit en cours, ce qui permet, au moment qu'il apparaît que cliquer sur le bouton (déjà présent en mode "caché avec la barre").

implémenter les boutons "fast forward" de la télécommande
Ces boutons fonctionnent bien sur ma télécommande avec K7.

Tu peux me décrire ce qui te gêne que je puisse tenter de corriger?
Sur la plupart des lecteurs, tu as une barre de progression et quand tu es dessus, tu avances ou recules sur la vidéo, avec la souris sur PC et la télécommande pour TV.

Sur K7 Android TV → quand tu te déplaces sur la barre
1. C'est d'abord le bouton du début Play/Pause qui est sélectionné ou les boutons de l'autre côté (???)
2. puis, tu te diriges sur la barre et elle affiche un encadré (overlay)
3. tu sélectionnes l'encadré et tu te déplaces…
4. Tu désélectionnes l'encadré pour sortir

Sur les autres lecteurs : les boutons de contrôle sont en dessous (ou au dessus) de la barre et pas sur les côtés (donc pas obligé de passer par eux pour aller sur la barre)
1. tu vas (ou tu y es directement suivant les lecteurs) sur la barre et tu te déplaces
2. tu te déplaces hors de la barre… Terminé

NB en écrivant, je vérifie en direct sur 3 lecteurs différents pour comparer.

Bon, nous sommes maintenant dans le détail et confort ergonomique. Le principal (lecture et scan) semblent être au point (y) Donc pas d'urgence.
 
  • J'aime
Réactions: Kaybi
Ces boutons fonctionnent bien sur ma télécommande avec K7.
Les boutons qui sont censés te permettre de passer à l'épisode suivant? Moi ça marche pas chez moi

Sur les autres lecteurs : les boutons de contrôle sont en dessous (ou au dessus) de la barre et pas sur les côtés (donc pas obligé de passer par eux pour aller sur la barre)
1. tu vas (ou tu y es directement suivant les lecteurs) sur la barre et tu te déplaces
2. tu te déplaces hors de la barre… Terminé
Je vois l'idée mais vu qu'on peut faire directement flèche gauche ou droite maintenue sans même accéder à l'overlay, c'est selon moi encore plus efficace 🤔
Ce qu'il manque peut-être c'est un démonstrateur de comment fonctionne le player et ses différents contrôles (quels boutons de la télécommande sont implémentés, quelles gestures on a sur téléphone, quelles touches de clavier font quoi etc)