Comment réparer: Plex affiche 'Inconnu' pour les pistes audio et/ou sous-titres

J’ai constaté que dans de nombreux cas, Plex affiche « Inconnu » pour la piste de sous-titres ou de piste audio. Cela est dû au fait que la valeur de la propriété n’a pas été définie correctement dans le fichier .MKV. J’ai donc écrit un petit script pour corriger cela.

Ouvrez simplement votre fichier profiles.conf de MCEBuddy… (sous Windows, il se trouve ici : C:\\Program Files\\MCEBuddy2x\\config) puis ajoutez les lignes suivantes à la fin du profil que vous utilisez pour convertir vos vidéos, ou ajoutez-les à plusieurs profils si vous en utilisez plusieurs.

CustomCommandPath=C:\\Windows\\System32\\cmd.exe
CustomCommandParameters="/c del /q \"%edlfile%\" \"%srtfile%\" & \"C:\\Program Files\\MKVToolNix\\mkvpropedit.exe\" \"%convertedfile%\" --edit track:s1 --set language=eng"
CustomCommandHangPeriod=100
CustomCommandCritical=true
CustomCommandUISession=false
CustomCommandShowWindow=false

Quelques précisions… J’utilise MCEBuddy pour convertir en fichiers .mkv et je fusionne la piste de sous-titres dans le mkv afin de ne pas avoir besoin d’un fichier .srt externe supplémentaire. Ainsi, les premières lignes suppriment les fichiers edl et srt pour le nettoyage. Ensuite, la propriété de la première piste de sous-titres est définie à Eng (anglais).

Vous devrez d’abord installer MkvEdit pour que cela fonctionne et si vous souhaitez définir la propriété d’une piste audio, ajoutez simplement une ligne supplémentaire semblable à : --edit track:a1 --set language=eng

Vous pouvez consulter le fichier d’aide de mkvpropedit pour la commande spécifique permettant de définir les types de pistes audio.

J’ai trouvé que cela fonctionne parfaitement et je n’ai plus ce « Inconnu » agaçant pour mes pistes de sous-titres — puisque nous avons toujours les sous-titres activés chez nous… et que Plex est configuré pour afficher automatiquement les sous-titres en anglais, cela a été très utile car Plex commence maintenant chaque émission avec les sous-titres automatiquement au lieu de devoir sélectionner la piste « Inconnu ».

J’espère que cela aidera quelqu’un d’autre qui a rencontré le même problème.

Amicalement,

  • {c}guy

P.S. Et un énorme MERCI à Goose pour avoir créé un logiciel aussi génial et pratique. J’ADORE MCEBuddy.

Merci à @robtheone pour ce script permettant d’ajouter un code de langue aux fichiers MP4 pour Plex :

CustomCommandPath=mp4box\mp4box.exe
CustomCommandParameters="%convertedfile%" -lang 1=eng -lang 2=eng
CustomCommandHangPeriod=100
CustomCommandCritical=true
CustomCommandUISession=false
CustomCommandShowWindow=false

Pour info, cette fonctionnalité a été ajoutée dans la version 2.4.9

MCEBuddy inclura automatiquement les balises de langue dans les métadonnées MKV et MP4 et inclura également les balises de langue dans le fichier SRT externe.

Je viens de commencer à utiliser MCEBuddy et je me familiarise encore avec les paramètres, mais jusqu’à présent, tous les fichiers mp4 que j’ai découpés avec le profil « MP4 Unprocessed » ont une piste audio « Inconnue ». J’ai défini la langue sur Anglais dans les Paramètres généraux et les Paramètres avancés. Y a-t-il un autre paramètre que j’aurais manqué ?

J’ai essayé d’ajouter le script @robtheone à la fin de mes profils, mais rien ne semblait se passer.

Je vois mp4box.exe dans le dossier d’installation de MCEBuddy.

Voici l’extrait du journal.

2020-04-21T10:18:38 MCEBuddy.Transcode.CustomCommand → Paramètres de commande personnalisée lus →
CustomCommandPath = c:\windows\system32\cmd.exe
CustomCommandParameters = “/c mp4box.exe “%convertedfile%” -lang 1=eng -lang 2=eng”
CustomCommandHangPeriod = 100
CustomCommandCritical = True
CustomCommandUISession = False
CustomCommandShowWindow = False
CustomCommandExitCodeCheck = False
2020-04-21T10:18:38 MCEBuddy.Transcode.CustomCommand → Sur le point d’exécuter la commande personnalisée avec les paramètres :
CustomCommandPath = c:\windows\system32\cmd.exe
CustomCommandParameters = “/c mp4box.exe “\HOMEMEDIA-PC\wdultra1tb\Videos-MCEBuddyTemp\working0\Last.Week.Tonight.with.John.Oliver.s07e09.WEBDL-720p_1.mp4” -lang 1=eng -lang 2=eng”
CustomCommandHangPeriod = 100
CustomCommandCritical = True
CustomCommandUISession = False
CustomCommandShowWindow = False
CustomCommandExitCodeCheck = False
2020-04-21T10:18:38 MCEBuddy.AppWrapper.Base → Lancement du processus c:\windows\system32\cmd.exe
2020-04-21T10:18:38 MCEBuddy.AppWrapper.Base → Arguments du processus “/c mp4box.exe “\HOMEMEDIA-PC\wdultra1tb\Videos-MCEBuddyTemp\working0\Last.Week.Tonight.with.John.Oliver.s07e09.WEBDL-720p_1.mp4” -lang 1=eng -lang 2=eng”
2020-04-21T10:18:38 MCEBuddy.AppWrapper.Base → Processus de session UI Admin : False
2020-04-21T10:18:38 MCEBuddy.AppWrapper.Base → Définition de la priorité du processus à Normal
2020-04-21T10:18:38 MCEBuddy.AppWrapper.Base → ‘mp4box.exe’ n’est pas reconnu en tant que commande interne ou externe,
2020-04-21T10:18:38 MCEBuddy.AppWrapper.Base → programme exécutable ou fichier de commandes.
→ Le processus s’est terminé avec le code 1

Cela a fonctionné. Merci.