Esto es más una sugerencia que una pregunta. Pero acepto lo que sea.
Acabo de añadir un mini PC a mi red solo para ejecutar Plex y MCEBuddy. Además, actualicé MCEBuddy de la versión 2.5 que usaba sin problemas durante mucho tiempo y ahora tengo la 2.64 instalada.
Con la 2.5 todo funcionaba bien, pero ahora MCEBuddy está añadiendo la fecha de grabación al final del nombre de la película y a Plex no le gusta eso. Prefiero solo el nombre de la película y, posiblemente, el año de su estreno, guardado en una carpeta con el nombre de la película.
Malo: The Bourne Ultimatum - 2024-11-23 2211.mp4 Bueno: The Bourne Ultimatum - 2007.mp4
Tengo a Plex grabando películas en DVR Recordings y series en DVR TV Recordings en el mini PC. MCEBuddy vigila esas dos carpetas. Cuando MCEBuddy termina, el destino final son las carpetas de TV o películas en mi unidad NAS.
He buscado en MCEBuddy un ejemplo que pueda usar, pero me está volviendo loco.
Sugerencia: Sería genial que alguien creara una lista de descripciones y ejemplos para renombrar en una página, para que usuarios como yo podamos simplemente copiar y pegarlos. La lista podría incluir películas y series combinadas, así como separarlas en una versión simplificada como la que busco.
Desglosemos:
%ismovie%<> Es una comprobación lógica verdadero/falso. Si es película se usa el primer segmento hasta la coma; si es falso, se usa el segundo segmento. También tengo anidados varios controles de este tipo dentro de todo esto.
Así que, si es película, la ruta será Movies\ seguido del nombre del programa y, si hay fecha de emisión, incluir (fecha de emisión) en el nombre de la carpeta; en caso contrario, no añadir nada al nombre. Después el nombre del programa/película. Resultado final: \Movie\The Bourne Ultimatum (2007)\The Bourne Ultimatum.mp4
Si no es película, se colocará en la carpeta TV. Luego una carpeta con el nombre y, si hay fecha de estreno, ponerla entre (). Se crea una subcarpeta para la Temporada y, si hay temporada, pondrá el número con cero delante y, si no hay temporada, pondrá 00. Así que sería Season 01 si hay temporada y, si no la hay, sería Season 00. Después el archivo se nombra como Nombre del programa - S seguido de la misma lógica de número de temporada que la carpeta, E número de episodio - nombre del episodio. Resultado final: \TV\Breaking Bad (2008)\Season 01\Breaking Bad - S01E01 - Pilot.mp4
No pongo el año en el nombre del archivo, sino en el nombre de la carpeta bajo la que están los archivos. Plex puede usar esto para hacer la coincidencia sin problemas, aunque también podría estar haciendo la coincidencia gracias a los metadatos.
Pero para incluir el año en una película de forma básica puedes usar
%showname% (%airdate%)
¡Gran información! Creo que en realidad estoy empezando a entender.
Cambié el destino de la película completada a la carpeta principal de Plex en mi NAS, ya que tu código debería reconocerla como una película y colocarla automáticamente en la carpeta Movies.
Copié y pegué lo que tenías y ejecuté una prueba con “2 Guns”.
Creo que nos faltan algunas barras invertidas, ya que “2 Guns” no llegó a la carpeta Movies y se guardó en la carpeta principal de Plex sin crear una carpeta “2 Guns”, como puedes ver en la imagen de abajo.
No estoy seguro de cómo funciona la barra invertida con el %, así que esperaba que pudieras revisarlo y ayudarme con el problema.
¡Acabo de convertir una película y funcionó GENIAL! Muchas gracias. Me encanta cómo usas el mismo script tanto para series como para películas.
Ahora mismo, mis películas y series están separadas en 2 tareas porque guardo físicamente mis series de Plex en un ordenador diferente que ejecuta una 2ª versión del servidor Plex debido a problemas de espacio de almacenamiento. He insertado tu script completo en mi tarea de conversión de películas, pero estoy pensando en usar solo la tarea única como haces tú. Para este propósito, ¿sabes si hay alguna manera de añadir una dirección IP o nombre de servidor en este script para la ubicación de las series?
No hay forma de cambiar el destino raíz dentro de la cadena de renombrado. Así que, en tu caso, aún necesitarías dos tareas. Pero podrías usar la misma cadena de renombrado. A menos que puedas mapear la ubicación de un servidor al otro.
Muchas gracias por tomar este problema y trabajar en él conmigo. Usaré tu idea y consideraré resolverlo con mapeo.
¿Conoces algún enlace donde estén disponibles los comandos de MCEBuddy? He programado en una vida pasada y solo tengo curiosidad por aprender más sobre MCEBuddy.
Acabo de pensar en un par de formas en que podrías tener una sola tarea.
1 - Usar PostCustomCommand. (Probablemente un poco más complicado que la segunda opción)
Podrías escribir un script que use parámetros para mover el archivo a la otra ubicación si pertenece allí.
Aquí están las variables disponibles. Ejecutar comandos personalizados
Por ejemplo, podrías tener un script de postcustomcommand llamado algo como moveTVShows.ps1. Podría tener un parámetro como isMovie (isTVShow no es una variable) y pasar el %ismovie% y si es falso, sabes que debes procesarlo si no. Esa sería la primera verificación lógica en el script. El resto sería usar una combinación de %destinationpath% y %convertedfilename% para determinar qué mover y qué potencialmente crear en el destino.
Ejemplo de adición de perfil usando PowerShell Core:
2 - Tener una tarea programada que mueva los archivos desde la ubicación de TV en tu servidor de películas a la ubicación de TV en tu servidor de TV. Algo simple usando robocopy debería funcionar. El ejemplo de abajo probablemente necesite ajustes, hace tiempo que no uso robocopy.
Gracias por publicar esto. Intenté usar la lógica con la versión 2.5 hace un tiempo con conversiones y salió muy mal. Luego intenté decirle a MCEBuddy que no ejecutara Comskip en los programas de PBS, pero eso terminó evitando que se convirtieran las grabaciones. Si solo tuviéramos más ejemplos de cómo usar la lógica en el manual del usuario, sería mucho más accesible para el usuario final ver los ejemplos en acción. Me gusta el hecho de que la personalización sea posible, pero parece que se vuelve algo complejo una vez que intentas configurar más de un puñado de escenarios de conversión o renombrado. Realmente casi necesitas volver a Programación 101 y hacer un diagrama de flujo y verificar todo al final.
Sí, me llevó muchas pruebas y errores refinar esta cadena y, afortunadamente, tengo algo de conocimientos básicos de programación y hago muchos scripts como parte de mi trabajo.
Intenté dividirlo un poco más visualmente para que las verificaciones de lógica sean más evidentes. Excluí la primera \ porque no se formateaba correctamente
%ismovie%
Si es Película entonces "Movies\\%showname%"
%ifairdate%
Si airdate no está vacío/nulo entonces añadir " (%airyear%)"
Si airdate está vacío/nulo entonces no añadir o ""
"\\%showname%"
Si no es Película entonces "TV\\%showname%"
%ifpremierdate%
Si premierdate no está vacío/nulo entonces añadir " (%prmiereyear%)"
Si premierdate está vacío/nulo entonces no añadir o ""
"\\Season "
%ifseason%
Si season no está vacío/nulo entonces añadir "%season%##"
Si season está vacío/nulo entonces añadir "00"
"\\%showname% - S"
%ifseason%
Si season no está vacío/nulo entonces añadir "%season%##"
Si season está vacío/nulo entonces añadir "00"
"E%episode%## - %episodename%
¡Gracias! Este formato es mucho más fácil de entender. Al igual que tú, tengo algo de experiencia en programación pero nunca había hecho scripting. Ahora que lo has explicado, quizá me anime a probar algo por mi cuenta y ver qué más puedo hacer. Como tengo varios equipos funcionando como servidores Plex en mi red (reliquias de años anteriores), puedo aislar uno para grabar/guardar en una carpeta apartada y dejar que MCEBuddy trabaje desde esa unidad sin borrar el archivo original. Así tendré un “sandbox” para experimentar.
Pero, sinceramente, ¡tu script original funciona de maravilla! Me encanta el nombre limpio y la carpeta con el año. Desde que cambié a tu script, Plex encuentra los metadatos correctos sin problema.
Solo para que lo sepas. Kodi y Plex son realmente increíbles para usar con tus máquinas PVR. Sin embargo, he notado que necesitas buscar el número de identificación de tvdb o imdb para que los metadatos coincidan correctamente dentro de varios programas. Me gusta usar tinyMediaManager para obtener información adicional como el reparto, renombrar y verificar la integridad. Creo que mi mayor problema ha sido hacer coincidir el año de estreno, ya que los programas se “reinician” cada 20-25 años con el mismo nombre. He optado por dividir todos los campos con un punto, luego usar paréntesis solo para el año de estreno, y lo más importante, la Temporada y Episodio (T00E00), seguido de una breve descripción del episodio si todo lo demás falla al hacer coincidir. Debería poner el año de estreno en el nombre de la carpeta, pero al final lo tengo en el archivo, así que no lo necesito en la carpeta.
Este es mi patrón de nomenclatura para **series de televisión**: %nombredelprograma%\\%nombredelprograma%.(%añodeestreno%).T%temporada%##E%episodio%##.%nombreepisodio%
Si tienes una mejor solución para obtener los metadatos correctos, por favor házmelo saber. También desearía que Kodi fuera un modelo cliente-servidor para que mi Fire Stick no tuviera que alojar todos los archivos o tal vez leer los metadatos en el momento de uso y luego eliminarlos al cerrar el archivo. Sin embargo, no está diseñado para usarse de esa manera, así que lo dejé y solo uso los metadatos mínimos a menos que esté usando una computadora real con Kodi.
Gracias Frank, voy a probar este script en mi “Sandbox” usando Plex y ver cómo resulta. Uso Kodi de vez en cuando, pero he usado Plex durante muchos años, donde compré una suscripción de por vida. Plex está mejorando MUCHO más que en sus primeros años.
Esto parece bastante útil, pero no suelo grabar películas, principalmente programas de televisión de PBS, lo que me lleva al problema de que tal vez esto podría modificarse para corregirlo.
Si grabo un programa como “Unforgotten”, un programa de televisión británico que PBS insiste en llamar “Unforgotten on Masterpiece”, que al buscarlo en TVDB no existe. ¿Cómo se puede usar este o un script similar para eliminar el “on Masterpiece” y dejar solo el nombre real del programa?
Eso se puede hacer usando un reemplazo simple o la nueva función de expresiones regulares (regex) que agregamos para corregir metadatos.
Si todos los nombres son idénticos y solo desea corregirlos de la misma manera, utilice la función de reemplazo y corrección simple. Tarea de conversión → Configuración de experto → Corrección
Si el título sigue variando ligeramente, consulte esta publicación para obtener detalles sobre cómo hacer coincidir y reemplazar el título usando regex.
Si no está familiarizado con las expresiones regulares, utilice el bot de IA en la barra superior y puede pedirle que cree una expresión regular para que coincida con sus variaciones de título específicas y use la función de reemplazo de expresiones regulares para extraer la coincidencia correcta.