Nextcloud lecteur vidéo : formats, vignettes et mise en mémoire tampon avec Galerie vidéo

Guide pratique de Galerie vidéo pour Nextcloud : fichier intact, remux, audio seul ou réencodage selon le fichier, mesure de la connexion, chronologie par date de prise de vue et séries lues dans l’ordre.

Si votre lecteur vidéo Nextcloud saccade, refuse de démarrer ou affiche une mur de cases grises à la place des vignettes, la cause est souvent la même : le navigateur reçoit un fichier qu’il ne sait pas décoder. La visionneuse intégrée de Nextcloud convient pour un clip de téléphone en H.264, mais donnez-lui un MKV, un fichier HEVC ou 10 bits, un rip VC-1 ou MPEG-2, ou un fichier avec de l’audio DTS ou TrueHD, et le lecteur se bloque ou reste noir. Galerie vidéo est un plugin Nextcloud qui règle le problème à la source. Il indexe toutes les vidéos du compte, lit les formats qu’un navigateur ne peut pas ouvrir seul et choisit pour chaque fichier la manière de l’envoyer, afin de ne pas payer un réencodage complet quand un simple repaquetage suffit. Ce tutoriel s’adresse à ceux qui hébergent leur propre instance et veulent un lecteur qui se comporte correctement.

Ce que vous obtenez

Galerie vidéo (videogallery) trouve tous les fichiers vidéo d’un compte — dossier personnel, dossiers partagés, stockage externe —, les classe par date de prise de vue réelle et lit chacun d’eux dans le navigateur. Il gère HEVC, 10 bits, VC-1, MPEG-2, DTS, TrueHD, AVI et MKV. Pour chaque fichier et chaque navigateur, il décide d’envoyer le fichier intact, de le repaqueter (conteneur changé, flux copiés), de convertir uniquement le son ou de le réencoder sur la carte graphique. Cette décision par fichier est le cœur de la solution : un fichier qui se lit déjà n’est jamais touché, et un fichier qui ne peut pas se lire n’est converti que dans la mesure nécessaire.

Prérequis

  • Nextcloud 34 et PHP 8.4 ou plus récent. L’application refuse de s’activer en dessous de 8.4.
  • ffmpeg sur le serveur : sudo apt install ffmpeg (Debian, Ubuntu), sudo dnf install ffmpeg (Fedora, RHEL) ou sudo apk add ffmpeg (Alpine).
  • Des tâches de fond Nextcloud (Cron) fonctionnelles pour l’indexation et la génération des aperçus.
  • Facultatif mais recommandé : une carte graphique pour la conversion (NVIDIA NVENC, Intel Quick Sync, VA-API pour Intel/AMD). Sans elle, la conversion se fait sur le processeur.
  • Recommandé : un disque rapide, idéalement NVMe et distinct du disque système, pour les fichiers temporaires.

Étape 1 — Installer et activer l’application

Téléchargez l’archive videogallery-x.y.z.tar.gz depuis votre compte MediaLab Works sous Licences, puis extrayez-la dans le dossier apps/ (ou custom_apps/) de Nextcloud pour obtenir apps/videogallery/, propriété de l’utilisateur du serveur web :

cd /var/www/nextcloud/apps
sudo tar -xzf ~/videogallery-x.y.z.tar.gz
sudo chown -R www-data:www-data videogallery

Activez-la :

sudo -u www-data php occ app:enable videogallery

Ouvrez ensuite Paramètres d’administration → Galerie vidéo → Licence, collez votre clé de licence et enregistrez. L’application contacte le serveur de licences, lie la clé à cette instance et affiche la licence comme Active.

Étape 2 — Construire la bibliothèque maintenant plutôt que d’attendre

Cron finira par indexer vos fichiers, mais vous pouvez démarrer immédiatement :

sudo -u www-data php occ videogallery:scan

Vous pouvez passer un nom d’utilisateur pour analyser un seul compte. Si de nouvelles vidéos n’apparaissent pas plus tard, la cause habituelle est que les tâches de fond ne tournent pas ; appuyez sur Rechercher de nouveaux fichiers sous La bibliothèque dans les paramètres, ou relancez la commande d’analyse.

Étape 3 — Placer les fichiers temporaires sur un disque rapide

Ouvrez Paramètres d’administration → Galerie vidéo. L’application trouve ffmpeg, teste ce que la machine peut réellement faire et choisit elle-même un répertoire de travail ; la page vous indique en une phrase ce qui manque et la commande qui le corrige. Sous Fichiers de travail, placez le répertoire de travail sur un disque rapide qui n’est pas le disque système. L’application ne supprime jamais que dans son propre répertoire marqué, vos médias ne sont donc jamais en danger.

Étape 4 — Mesurer la machine et configurer le GPU

Sous Ce serveur, vous voyez les encodeurs qui fonctionnent réellement ici : NVENC, Quick Sync, VA-API, VideoToolbox ou logiciel. Lancez Mesurer cette machine : l’outil teste la carte graphique avec un échantillon exigeant et conserve la meilleure combinaison fonctionnelle de préréglages et de chemin de décodage. Chaque valeur peut être remplacée manuellement. Si vous avez plusieurs cartes, activez ou désactivez chacune sous Cartes graphiques, ou donnez à chacune sa propre limite.

De nombreuses distributions démarrent PHP-FPM avec PrivateDevices=true, ce qui masque la carte — vous obtenez « no CUDA-capable device is detected » alors que cela fonctionne depuis un shell. Pour NVIDIA, ajoutez un drop-in avec sudo systemctl edit php8.4-fpm (utilisez votre version de PHP) :

[Service]
PrivateDevices=no
DevicePolicy=closed
DeviceAllow=/dev/nvidia0 rw
DeviceAllow=/dev/nvidiactl rw
DeviceAllow=/dev/nvidia-uvm rw
DeviceAllow=/dev/nvidia-uvm-tools rw
DeviceAllow=/dev/nvidia-modeset rw

Pour Intel et AMD : sudo usermod -aG render www-data. Puis sudo systemctl daemon-reload && sudo systemctl restart php8.4-fpm. Après un changement de pilotes, appuyez sur Tester à nouveau le matériel.

Étape 5 — Laisser mesurer la connexion

Sous Qualité et connexion, activez la mesure de la connexion avant lecture et l’ajustement continu pendant la lecture. L’application mesure le lien avant et pendant la lecture, de sorte qu’un fichier à haut débit n’est envoyé intact que si la connexion peut le supporter, et la qualité suit la connexion. Dans le lecteur, le menu de qualité indique ce qui a été choisi, par exemple Automatique (4,0 Mbit/s) ; choisissez-y une qualité fixe si vous préférez.

Étape 6 — Bien régler la chronologie et les vignettes

La chronologie est construite à partir des dates de prise de vue réelles lues dans le fichier, puis du nom de fichier, puis de son horodatage. C’est pourquoi une bibliothèque copiée ne semble plus avoir été entièrement filmée le jour de la migration. Vous pouvez aussi trier par ajout récent, tournage récent, nom, durée ou taille ; le choix est conservé sur le compte, sur tous les appareils. Sous Aperçus, réglez la durée et la hauteur du clip au survol ainsi que l’espace réservé aux aperçus en cache — c’est ce qui remplit les cartes de couverture avec des aperçus silencieux au survol au lieu de cases grises. Si des aperçus manquent, lancez sudo -u www-data php occ videogallery:preview (éventuellement pour un seul utilisateur) et vérifiez que Cron fonctionne.

Étape 7 — Sous-titres, pistes audio et chapitres

Dans les menus du lecteur, vous disposez de tous les sous-titres intégrés et externes, de toutes les pistes audio et des chapitres. Les fichiers externes nommés comme Film.en.srt ou Film_en.srt à côté de la vidéo sont aussi trouvés. Le lecteur propose également le plein écran, l’aperçu image par image pendant le glissement, les gestes tactiles pour la luminosité, le volume et la navigation, l’image dans l’image et la reprise sur tous les appareils. Lorsque vous voulez une copie bit pour bit ou regarder sur un téléviseur, Ouvrir dans un autre lecteur confie l’original intact à VLC, Infuse ou un autre lecteur de l’appareil.

Étape 8 — Séries et cours dans l’ordre

Un dossier de fichiers numérotés est lu dans l’ordre, la partie suivante étant proposée à la fin. Sous Types de dossier, l’administrateur écrit les règles qui classent les dossiers en cours, caméra, séries et films. Si votre dossier de cours part dans tous les sens, vérifiez d’abord ces règles.

Astuces et dépannage

  • Quelque chose ne se lit pas : lancez sudo -u www-data php occ videogallery:selftest. L’outil convertit une partie d’un vrai fichier dans les deux sens, se positionne au milieu, vérifie que le résultat se lit et que rien n’est laissé derrière.
  • La carte graphique n’est pas utilisée : vérifiez occ videogallery:status. Le plus souvent, PHP-FPM ne voit pas la carte (PrivateDevices) ou www-data n’est pas dans le groupe render.
  • ffmpeg introuvable : installez-le, ou indiquez son chemin sous La bibliothèque → Chemins, si ffmpeg est à un endroit inhabituel.
  • Vérifier l’état global : occ videogallery:status --probe vous donne un aperçu rapide ; occ videogallery:cleanup (ou --all) efface les fichiers temporaires.
  • Partage : partagez une vidéo ou un dossier avec une personne, un groupe ou un lien, avec ou sans téléchargement, via le partage propre à Nextcloud. Les liens pour lecteurs externes portent un jeton signé et expirant, et rien n’est stocké pour eux.

Conclusion

La plupart des signalements « nextcloud lecteur vidéo ne fonctionne pas » se résument à un navigateur à qui l’on demande de décoder quelque chose qu’il ne peut pas. Galerie vidéo corrige cela fichier par fichier — intact, repaqueté, audio seul ou réencodé —, mesure la connexion pour ne tenter la lecture intacte que si le lien peut la supporter, et construit une chronologie à partir des dates de prise de vue réelles avec des aperçus au survol. Installez-le, lancez Mesurer cette machine, placez le répertoire de travail sur un disque rapide et laissez Cron faire le reste. Le guide complet se trouve dans le guide utilisateur ; le journal des modifications suit les changements, et si quelque chose ne se comporte toujours pas correctement, la base de connaissances et la FAQ sont l’étape suivante.

Cet article a été rédigé avec l’aide de l’IA à partir de la documentation de nos produits ou des sources indiquées et vérifié automatiquement avant publication.

À lire ensuite

Vous utilisez Emby, Jellyfin ou Nextcloud ?

Nos plugins et applications ajoutent la TV en direct, les sous-titres, l’inscription et la sécurité à votre propre serveur, avec un essai gratuit.