Exemples de renommage

C’est plus une suggestion qu’une question. Mais je prends tout ce que je peux obtenir.

Je viens d’ajouter un mini PC à mon réseau uniquement pour faire tourner Plex et MCEBuddy. Par la même occasion, j’ai mis à jour MCEBuddy de la version 2.5 que j’utilisais avec succès depuis longtemps vers la version 2.64.

Tout fonctionnait bien en 2.5, mais j’ai maintenant des problèmes : MCEBuddy ajoute la date d’enregistrement à la fin du nom du film, ce que Plex n’aime pas. Je préférerais uniquement le nom du film et éventuellement l’année de sa sortie, enregistré dans un dossier portant le nom du film.

Mauvais : The Bourne Ultimatum - 2024-11-23 2211.mp4
Bon : The Bourne Ultimatum - 2007.mp4

J’ai configuré Plex pour enregistrer les films dans DVR Recordings et les séries dans DVR TV Recordings sur le mini PC. MCEBuddy surveille ces deux dossiers. Une fois MCEBuddy terminé, ma destination finale est les dossiers TV ou films sur mon NAS.

J’ai cherché dans MCEBuddy un exemple que je pourrais utiliser, mais cela me rend fou.

Suggestion : Ce serait vraiment génial que quelqu’un crée une liste de descriptions et d’exemples de renommage sur une page, afin que des utilisateurs comme moi puissent simplement copier-coller. La liste pourrait inclure des films et des séries TV combinés, ainsi que des versions simplifiées les séparant, comme ce que je recherche.

oops, je voulais mettre l’année entre parenthèses
The Bourne Ultimatum (2007).mp4

J’utilise Plex et voici comment ma tâche unique gère à la fois les films et les séries.

\%ismovie%<Movies\%showname%%ifairdate%< (%airyear%),>\%showname%,TV\showname%%ifpremieredate%< (%premiereyear%),>\Season %ifseason%<%season%##,00>\%showname% - S%ifseason%<%season%##,00>E%episode%## - %episodename%>

Explication détaillée :
%ismovie%<> Il s’agit d’un test logique vrai/faux. Si c’est un film, le premier segment jusqu’à la virgule est utilisé ; sinon, utilise le deuxième segment. J’ai également imbriqué ce type de vérification dans tout cela.
Donc, si c’est un film, le chemin sera Movies\ puis le nom de la série et, s’il y a une date de diffusion, inclure (date de diffusion) dans le nom du dossier, sinon n’ajouter rien au nom du dossier. Ensuite, le nom de la série/film.
Résultat final : \Movie\The Bourne Ultimatum (2007)\The Bourne Ultimatum.mp4

Si ce n’est pas un film, il sera placé dans le dossier TV. Puis un dossier pour le nom et, s’il y a une date de première, la mettre entre (). Un sous-dossier pour la saison est créé et, s’il y a une saison, il ajoutera un numéro de saison avec zéro non significatif et, s’il n’y a pas de saison, il mettra 00. Donc, ce serait Season 01 s’il y a une saison et, s’il n’y en a pas, ce serait Season 00. Ensuite, le fichier est nommé Nom de la série - S puis la même logique de numéro de saison que pour le nom du dossier, E numéro d’épisode - nom de l’épisode.
Résultats finaux : \TV\Breaking Bad (2008)\Season 01\Breaking Bad - S01E01 - Pilot.mp4

Je ne mets pas l’année dans le nom du fichier, mais dans le nom du dossier dans lequel se trouvent le(s) fichier(s). Plex est capable d’utiliser cela pour faire la correspondance sans problème. Mais il pourrait aussi s’agir d’une correspondance basée sur les métadonnées.

Mais pour simplement inclure l’année pour un film, vous pouvez utiliser
%showname% (%airdate%)

Superbe information ! Je crois que je commence enfin à comprendre.

J’ai changé la destination du film terminé vers le dossier Plex principal sur mon NAS, puisque votre code devrait le reconnaître comme un film et le placer automatiquement dans le dossier Movies.

J’ai copié-collé ce que vous aviez écrit et lancé un test sur « 2 Guns ».

Je pense qu’il manque des backslashes, car « 2 Guns » n’a pas atterri dans le dossier Movies et s’est retrouvé dans le dossier Plex principal sans sous-dossier « 2 Guns », comme vous pouvez le voir sur l’image ci-dessous.

Main Plex folder

Je ne suis pas sûr de la façon dont la backslash fonctionne avec le %, j’espérais donc que vous pourriez jeter un œil et m’aider à résoudre le problème.

Merci beaucoup,
Tim

Vous avez raison, il semble que le forum ait supprimé les barres obliuses. Essayez ceci :
\%ismovie%<Movies\%showname%%ifairdate%< (%airyear%),>\%showname%,TV\showname%%ifpremieredate%< (%premiereyear%),>\Season %ifseason%<%season%##,00>\%showname% - S%ifseason%<%season%##,00>E%episode%## - %episodename%>

Aussi, @Goose a corrigé ma réponse originale pour que les barres obliques apparaissent. Merci Goose.

Je viens de convertir un film et ça a SUPER bien fonctionné ! Merci beaucoup. J’adore comment tu utilises le même script pour les séries et les films.
Actuellement, mes films et séries sont séparés en 2 tâches car je sauvegarde physiquement mes séries Plex sur un autre ordinateur qui exécute une 2e version du serveur Plex à cause de problèmes d’espace de stockage. J’ai intégré ton script complet dans ma tâche de conversion de films, mais je pense à n’utiliser qu’une seule tâche comme tu le fais. À cette fin, sais-tu s’il est possible d’ajouter une adresse IP ou un nom de serveur dans ce script pour l’emplacement des séries TV ?

Il n’y a pas moyen de changer la destination racine dans la chaîne de renommage. Il vous faudrait donc toujours deux tâches dans votre cas. Mais vous pourriez utiliser la même chaîne de renommage. À moins que vous puissiez mapper l’emplacement d’un serveur vers l’autre.

Merci d’avoir relevé ce problème et de l’avoir traité avec moi. J’utiliserai ton idée et envisagerai de le résoudre par mappage.
Connais-tu un lien où se trouvent les commandes disponibles pour MCEBuddy ? J’ai programmé dans une vie antérieure et je suis simplement curieux d’en apprendre plus sur MCEBuddy.

Voici la section sur le renommage de fichiers.
Modèle de renommage de fichiers personnalisé

Je viens de penser à une ou deux façons qui pourraient vous permettre d’avoir une seule tâche.

1 - Utiliser PostCustomCommand. (Probablement un peu plus compliqué que la 2e option)
Vous pourriez écrire un script qui utiliserait des paramètres pour déplacer le fichier vers l’autre emplacement s’il y appartient.
Voici les variables disponibles.
Exécution de commandes personnalisées

Par exemple, vous pourriez avoir un script postcustomcommand nommé quelque chose comme moveTVShows.ps1. Il pourrait avoir un paramètre tel que isMovie (isTVShow n’est pas une variable) et passer le %ismovie% et si c’est faux, vous savez qu’il faut le traiter, sinon non. Ce serait la première vérification de logique dans le script. Le reste consisterait à utiliser une combinaison de %destinationpath% et %convertedfilename% pour déterminer quoi déplacer et quoi potentiellement créer à la destination.

Exemple d’ajout de profil utilisant PowerShell Core :

PostCustomCommandPath="C:\\Program Files\\PowerShell\\7\\pwsh.exe"
PostCustomCommandParameters="chemin vers le fichier ps1" -isMovie %ismovie% -DestinationPath "%destinationpath%" -DestinationFileBaseName "%convertedfilename%"
PostCustomCommandHangPeriod=0
PostCustomCommandCritical=false
PostCustomCommandUISession=false
PostCustomCommandShowWindow=false
PostCustomCommandExitCodeCheck=false

2 - Avoir une tâche planifiée qui déplace les fichiers de l’emplacement TV sur votre serveur de films vers l’emplacement TV sur votre serveur TV. Quelque chose de simple utilisant robocopy devrait fonctionner. L’exemple ci-dessous nécessite probablement des ajustements, cela fait longtemps que je n’ai pas utilisé robocopy.

robocopy.exe "\\\\MovieServer\\Plex\\TV" "\\\\TVServer\\Plex\\TV" /S /MOV /V /NP

Merci d’avoir publié ceci. J’avais tenté d’utiliser la logique avec la version 2.5 il y a un moment, avec des conversions, et cela s’est retourné contre moi. J’ai ensuite essayé de dire à MCEBuddy de ne pas lancer Comskip sur les émissions PBS, mais cela a empêché toute conversion des enregistrements. Si seulement nous avions plus d’exemples d’utilisation de la logique dans le manuel utilisateur, cela rendrait la chose bien plus accessible à l’utilisateur final de voir les exemples en action. J’apprécie le fait que la personnalisation soit possible, mais il semble que cela devienne complexe dès que l’on tente de configurer plus qu’une poignée de scénarios de conversion ou de renommage. On a presque besoin de retourner aux bases de la programmation, faire un organigramme et tout vérifier à la fin.

Oui, il m’a fallu beaucoup d’essais-erreurs pour peaufiner cette chaîne et, par chance, j’ai quelques bases en programmation et je fais pas mal de scripts dans mon travail.

J’ai essayé de présenter cela plus visuellement pour que les vérifications de logique soient plus évidentes. J’ai exclu le premier \ car il ne formatait pas correctement.

%ismovie%
	Si c’est un film alors "Movies\%showname%"
		%ifairdate%
			Si airdate n’est pas vide/null alors ajouter " (%airyear%)"
			Si airdate est vide/null alors ne rien ajouter ou ""
		"\%showname%"
	Si ce n’est pas un film alors "TV\%showname%"
		%ifpremierdate%
			Si premierdate n’est pas vide/null alors ajouter " (%prmiereyear%)"
			Si premierdate est vide/null alors ne rien ajouter ou ""
		"\Season "
		%ifseason%
			Si season n’est pas vide/null alors ajouter "%season%##"
			Si season est vide/null alors ajouter "00"
		"\%showname% - S"
		%ifseason%
			Si season n’est pas vide/null alors ajouter "%season%##"
			Si season est vide/null alors ajouter "00"
		"E%episode%## - %episodename%

Merci ! Ce format est bien plus facile à comprendre. Comme toi, j’ai déjà programmé mais je n’ai jamais fait de scripts. Je vais peut-être même essayer d’en créer moi-même maintenant que tu l’as décomposé, histoire de voir ce que je peux faire d’autre. J’ai plusieurs ordinateurs qui servent de serveurs Plex sur mon réseau (des reliques d’années précédentes), je peux donc en isoler un pour enregistrer/sauvegarder dans un dossier isolé et y faire tourner MCEBuddy en mode bac à sable, sans supprimer le fichier original. Ça me donnerait un « bac de sable » pour expérimenter.

Mais à vrai dire, ton script original fonctionne À MERVEILLE ! J’aime le nommage propre et les dossiers avec l’année. Depuis que j’ai basculé sur ton script, Plex trouve parfaitement les métadonnées.

Juste pour info. Kodi et Plex sont vraiment géniaux à utiliser avec vos machines PVR. Cependant, j’ai remarqué qu’il faut rechercher le numéro d’identifiant tvdb ou imdb pour une correspondance correcte des métadonnées dans divers programmes. J’aime utiliser tinyMediaManager pour récupérer diverses informations complémentaires comme le casting, le renommage et la vérification de l’exhaustivité. Je pense que mon plus gros problème a été de faire correspondre l’année de première diffusion, car les séries sont « rebootées » tous les 20-25 ans avec le même nom. J’ai choisi de séparer tous les champs par un point, puis d’utiliser des parenthèses uniquement pour l’année de première, et surtout la Saison et l’Épisode (S00E00), suivi d’une brève description de l’épisode si tout le reste ne correspond pas. Je devrais mettre l’année de première dans le nom du dossier, mais finalement je l’ai sur le fichier, donc je n’en ai pas besoin pour le dossier.

Voici mon modèle de nommage pour les séries télévisées :
%showname%\\%showname%.(%premiereyear%).S%season%##E%episode%##.%episodename%

Si vous avez une meilleure solution pour récupérer les bonnes métadonnées, faites-le-moi savoir. J’aimerais aussi que Kodi soit un modèle client-serveur pour que mon Fire Stick n’ait pas à héberger tous les fichiers, ou peut-être qu’il lise les métadonnées au moment de l’utilisation puis les supprime à la fermeture du fichier. Cependant, ce n’est pas prévu pour fonctionner ainsi, donc j’ai abandonné et je me contente du minimum de métadonnées sauf si j’utilise un vrai ordinateur avec Kodi.

Merci Frank, je vais tester ce script dans mon « bac à sable » en utilisant Plex et voir le résultat. J’utilise Kodi de temps en temps, mais j’utilise Plex depuis de nombreuses années, où j’ai acheté un abonnement à vie. Plex s’améliore tellement par rapport à ses premières années

Ceci semble assez utile, mais je n’enregistre pas souvent de films - principalement des émissions de télévision de PBS - ce qui amène au problème que cela pourrait peut-être être modifié pour corriger.

Si j’enregistre un programme tel que « Unforgotten », une émission de télévision britannique que PBS insiste pour appeler « Unforgotten on Masterpiece », qui n’existe pas lorsqu’on la recherche sur TVDB. Comment cela ou un script similaire peut-il être utilisé pour supprimer « on Masterpiece » et ne laisser que le nom réel du programme ?

C’est faisable en utilisant un simple remplacement ou la nouvelle fonctionnalité d’expression régulière que nous avons ajoutée pour corriger les métadonnées.

Si tous les noms sont identiques et que vous souhaitez simplement les corriger de la même manière, utilisez la fonction de remplacement et de correction simple. Tâche de conversion → Paramètres experts → Correction

image

Si le titre varie légèrement, consultez cette publication pour savoir comment faire correspondre et remplacer le titre à l’aide d’expressions régulières.

https://discussion.mcebuddy2x.com/t/movie-filename-with-prescript-processes-as-tv-show/4856/2?u=goose

Si vous n’êtes pas familier avec les expressions régulières, utilisez le robot IA dans la barre supérieure et vous pouvez lui demander de créer une expression régulière pour correspondre à vos variations de titre spécifiques et utiliser la fonctionnalité de remplacement par expression régulière pour extraire la correspondance correcte.