Integración de Plex Media Server

El caso de uso principal de MCEBuddy para mí es con Plex Media Server. Creo que hay una API para permitir la actualización de la biblioteca — ¿hay alguna posibilidad de integrarla en la oferta?

No he encontrado que sea un problema ni necesario mantener mi Plex Media Server actualizado con más frecuencia que una sincronización diaria. Si estás grabando algo para verlo más tarde, ¿no estoy seguro del caso de uso para ver en tiempo casi real en Plex cuando podrías simplemente ver la grabación de la transmisión original, ¿sí?

¿Cuál es el escenario en el que necesitas que las actualizaciones de metadatos de la biblioteca de Plex se sincronicen inmediatamente con MCEBuddy?

Es como resultado de que el flujo de trabajo de omisión de comerciales está roto desde la versión 1.18.5.x.

Desde esa versión, los comerciales ya no se están cortando, incluso si se crea el archivo EDL. La solución temporal es deshabilitar el script de post-procesamiento, hacer que MCEBuddy monitoree ubicaciones en busca de archivos .TS y luego ejecutar la tarea de conversión según corresponda (ya sea cortando comerciales o no, dependiendo de dónde esté la grabación).

El desafío es que los archivos .ts se cambian a .mkv como parte de esto; la única forma de que Plex vuelva a detectar el nuevo archivo es hacer que lo vuelva a escanear. Lo tengo configurado para escanear cada 15 minutos, pero sería mucho más elegante ejecutarlo como el último paso de la conversión de MCEBuddy.

Si solo estás activando un nuevo análisis de tu PMS, ¿has probado a crear un PostCustomCommand con un comando curl y pasar la URL + token + ID de biblioteca de tu PMS como parámetros?

Algo como esto en Windows 10:

PostCustomCommandPath=C:\\Windows\\System32\\curl.exe
PostCustomCommandParameters=http://[PMS_IP_ADDRESS]:32400/library/sections/[your_library_id]/refresh?X-Plex-Token=[YourTokenGoesHere]
PostCustomCommandHangPeriod=30
PostCustomCommandCritical=false
PostCustomCommandUISession=false
PostCustomCommandShowWindow=false
PostCustomCommandExitCodeCheck=false

@Goose, no había pensado en la parte de postprocesamiento en MCEBuddy. ¿Simplemente añado el postcustomcommand al final del perfil?

¡Gracias! Will.

¡Funcionó genial: sorprendentemente fácil de hacer y funciona de maravilla!

@Goose, si quiero añadir un retraso, ¿puedo apuntar a cmd.exe y llamar a un archivo por lotes en su lugar?

No veo una respuesta a tu pregunta… ¿Las líneas postcustomcommand se añaden:

A. En el archivo profiles.conf al final de la sección del perfil que se está utilizando (por ejemplo, para Plex, [TS Unprocessed])? O,

B. En el mcebuddy.conf al final de la sección de la tarea de conversión (por ejemplo, “My TVShow Comm. Removal”)?

Gracias
Dave

No he jugado mucho con él más allá de llamar a curl; no logré que funcionara con un archivo por lotes, pero tampoco me esforcé mucho.

Esto funciona:

[HEVC MKV]
Description=HEVC en MKV (H.265/AC3) conversión. Crea un archivo más pequeño (50 % más pequeño que H.264) con calidad comparable pero muy lento.
order=handbrake,ffmpeg
ffmpeg-general=-threads 0
ffmpeg-video=-ss 3 -vf yadif=0:-1:1,hqdn3d -vcodec libx265 -preset medium -x265-params crf=18 -map 0:v -sn
ffmpeg-audio=-acodec ac3 -ab 160k -map 0:a
ffmpeg-audioac3=-acodec ac3 -ab 256k -map 0:a
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip
handbrake-general=--decomb --loose-anamorphic --verbose=2
handbrake-video=--start-at duration:3 -e x265 --encoder-preset medium -q 18
handbrake-audio=-E ffac3 -R auto -B 160 -D 0 -a 1,2,3,4,5
handbrake-audioac3=-E ffac3 -R auto -B 256 -D 0 -a 1,2,3,4,5
handbrake-ext=.mkv
handbrake-audiodelay=skip
PreConversionCommercialRemover=true
PostCustomCommandPath=C:\Windows\System32\curl.exe
PostCustomCommandParameters=http://192.168.8.9:32400/library/sections/1/refresh?X-Plex-Token=<my plex token>
PostCustomCommandHangPeriod=30
PostCustomCommandCritical=false
PostCustomCommandUISession=false
PostCustomCommandShowWindow=false
PostCustomCommandExitCodeCheck=false

Sí, puedes hacer cualquier combinación que te funcione, aquí tienes un ejemplo de cómo hacer que MCEBuddy invoque CMD, que a su vez invoca otro programa:

CustomCommandPath=C:\Windows\System32\cmd.exe
CustomCommandParameters=/c """<Path to batch file or exe>" <parameters for batch or exe>"

¿Necesitaría las comillas dobles en la segunda línea si no hay parámetros?

Hay dos comillas dobles que son independientes entre sí (esto no es específico de mcebuddy, sino en general cómo funciona CMD)

  1. Si la ruta del archivo batch/exe tiene espacios, entonces esas son las comillas interiores.
  2. El segundo conjunto de comillas encapsula tanto el batch/exe como los parámetros. Si no tienes ningún parámetro que pasar al batch/exe, entonces no necesitas las comillas exteriores.

¿qué hace el modificador /c?