Thursday 5 April 2007

Compressor: Unable to connect to background process

A veces y de forma inoportuna justo cuando estamos a punto de enviar nuestra secuencia via Compressor para convertirla a otro formato (MPEG-2, H.264, iPod Video...) Compressor decide fallar con el famoso mensaje "Unable to connect to background process".

En la mayoria de los casos si se siguen los pasos del articulo provisto por la web de soporte de Apple suele solucionarse el problema.

Compressor: Unable to connect to background process


Antes de probar a reinstalar completamente Compressor siguiendo los pasos del articulo anterior os recomiendo que sigais los pasos del siguiente tutorial:

Dicho problema proviene de la aplicación Qmaster al exportar una secuencia de Final Cut a Compressor. Compressor te pide en que formato quieres convertir y prueba de llamar a Qmaster para efectuar la conversión. Es en este punto cuando aparece el error "Unable to connect to background process" en ese momento Compressor cancela el trabajo y Final Cut vuelve al modo de edición.

Una solución rápida es enviar la secuencia a un formato intermedio, y lugo usar Compressor por separado para convertir.

Una forma muy sencilla de comprobar esto es lanzando Compressor por separado, cambiar el destino por defecto a Desktop, cambiar las opciones de Cluster a Never copy source to Cluster y ajusta el Default Setting a Web Download (QuickTime 7 compatible) --> H.264 100Kbps, luego haz click en Apply. Sal de Compressor, y arrastra una foto pequeña en formato .jpg a tu escritorio. Ahora estas listo para realizar la prueba.

Para probar si el mensaje de error "Unable to connect to background process" se ha solucionado, lanza Compressor, selecciona Import file... desde el menu File, haz click en el .jpg que tienes en el escritorio, y haz click en Open. Esto te llevara a la ventana Batch de Compressor, desde donde puedes hacer click en Submit. Si no ves el error, entonces hemos aislado el problema. En caso contrario, tendras que probrar este test despues de cada una de las posibles soluciones que se mencionan a continuación.


Comprobar si Qmaster esta activo


Para comprobar que el daemon Qmaster esta activo tras el boot, lanza Terminal y entra el comando top para ver la lista de procesos, la cual deberia incluir un numero de procesos relacionados con Qmaster, incluyendo una o mas entradas para qmasterd.

Un metodo mas sencillo de comprobar si Qmaster esta activo es utilizando el Monitor de actividad (sito en /Aplicaciones/Utilidades), elige todos los procesos desde el menu de selección y entra qmaster en el campo de busqueda. Deberia aparecer al menos una entrada qmasterd.

Si Qmaster no esta activo, hay un par de cosas que puedes probar para iniciarlo.

Si Qmaster no esta activo

  1. Apple recomienda que reinstales todo, pero a veces esto puede empeorar las cosas si no borras todo completamente. Para reinstalar completamente Compressor sigue las instrucciones de este articulo. Esto solo lo recomiendo como ultimo recurso
  2. A menudo una reinstalacion suele excluir Qmaster. Para comprobarlo escribe el siguiente comando en Terminal:

    ls -l /Library/Application Support/Apple Qmaster/

    Si no ves una lista de archivos relacionados con Qmaster, como qmasterconfig o QmasterApplications.plist, entonces Qmaster no se haya instalado, y tendras que echar mano de tus discos de instalacion y reinstalar.
  3. Puede darse el caso de que la reinstalacion no haya añadido Qmaster a la carpeta de elementos de inicio. Para comprobar esto, usa finder para abrir /Library/StartupItems, y asegurate de que la carpeta Qmaster existe y de que contiene el script de inicio.
  4. A veces los permisos del script de inicio de Qmaster se corrompen. Para solucionar esto, ves al Terminal, y escribe lo siguiente:
    1. cd /Library/StartupItem/Qmaster
    2. rm -f .disabled
    3. sudo chmod 755 Qmaster
    4. sudo chown root:wheel Qmaster
    5. sudo chmod 644 StartupParameters.plist
    6. sudo chown root:wheel StartupParameters.plist
    Puedes tambien lanzar /System/Library/CoreServices/SecurityFixer para reparar los permisos. Ahora te queda reiniciar tu Mac para que Qmaster se inicie y comprobar si funciona.
  5. Otro problema puede deberse a que el software necesario para Qmaster no se encuentre instlado, tal como los servicios AECore y el Qmaster.framework. Vuelve a los discos de instalacion y asegurate de que todo se ha instalado correctamente. Alternativamente, puedes usar Pacifist (un instalador de paquetes independiente) para instalar unicamente el paquete Qmaster.
  6. Qmaster requiere tres servicios principales para operar, Disks, Resolver (DNS) y Network. Estos se encuentran listados en /Library/StartupItems/StartupParameters.plist. Puede que tengas software instalado que impida que estos servicios se inicien correctamente.

Si Qmaster aun no inicia, prueba a iniciarlo manualmente. Ves al Terminal y escribe:

cd /Library/StartupItems/Qmaster

Luego escribe:

sudo /Library/StartupItems/Qmaster/Qmaster start

Deberias ver el siguiente mensaje: Starting Qmaster services. Puede llevar casi un minuto para que se active Qmaster, eventualmente aparecera en top o en el monitor de actividad. Si esto funciona, acuerdate de repetir estos pasos cada vez que reinicies.

Si Qmaster no inicia tras la entrada de estos comandos, probablemente falte agun componente esencial. En este punto recomiendo reinstalar Compressor. Para comprobar si falta algun componente esencial podemos echar un vistazo al historico de errores de Qmaster en /Library/Logs/Qmaster/qmasterd.log, Si alguna de las lineas comienza por Error:, entonces definitivamente falta algun componente esencial.

Un paso adicional es quitar todas las conexiones de red. Si no te conectas a una ¨rendering farm¨y este es el unico ordenador que utilizas para editar, entonces Qmaster no necesitara acceso a red.

Hay dos metodos que puedes seguir para hacer esto:

  1. Ves a Preferencias de Sistema, Red, elige Configuracion de puertos de red del menu Mostrar: y desactiva todas las configuraciones de Puertos y luego haz click en aplicar ahora.
  2. En lugar de desactivar tus puertos puedes crear una nueva localizacion de red en Preferencias de Sistema, Red.

Si Qmaster esta activo

En este caso se puede deber a versiones en conflicto de Qmaster y Compressor. Si crees que este es el caso sigue los pasos del articulo propuesto por Apple para reinstalar Qmaster.

Si este no es el caso puede que la configuracion de Qmaster sea incorrecta.

Final Cut Studio incluye un panel de preferencias shell para Qmaster. Para ver tu configuracion actual desde el Terminal escribe:

cd /usr/sbin/

... y luego escribe:

qmasterprefs -list

... para ver tu configuracion actual.

You should see settings for one or more clusters, plus two services, Compressor Processing and Rendering. While qmasterprefs is documented in both the Qmaster and Compressor manuals, the service parameters are not, and neither are most of the cluster parameters. I'm assuming this is because users typically go through the GUI, which most people may not actually have installed.


Lo primero es hacer una copia de los reglajes actuales, en caso de que tengas que restaurarlos. Escribe qmasterprefs -list, y copia el resultado en tu editor de texto.

Ahora hay que asegurarse de que el ordenador esta definido. El nombre de mi ordenador es g5, por lo que tengo un cluster iniciado en g5:

-cluster on servername "g5" quickcluster on unmanagedservices on unmanagedmulticapturethreshold 0 networkinterface allinterfaces

Si ves que el nombre de tu maquina esta equivocado puedes cambiarlo con lo siguiente:

qmasterprefs -cluster on servername "yourmachinename"

El nombre de tu maquina siempre se muestra al inicio del prompt de tu terminal:

[g5:/usr/sbin] martin%

g5 es el nombre de mi ordenador, /usr/sbin es el directorio en el que me encuentro, y martin es mi usuario.

Puede que tengas que iniciar el quickclustering con el siguiente comando:

qmaster -cluster on quickcluster on

Lo siguiente, asegurate de que Qmaster este activo para Compressor y los servicios de Rendering. Para ello, escribe:

qmasterprefs -service "Compressor Processing" on instances 1

... para iniciar Compressor, y luego:

qmasterprefs -service "Rendering" on instances 1

... para iniciar los servicios de Rendering.

El reglaje networkinterface allinterfaces puede que tenga que activarse tambien

Aqui podeis ver la configuracion que funciona en mi caso:

[g5:/usr/sbin] martin% qmasterprefs -list
Current settings:
-cluster on servername "g5" quickcluster on unmanagedservices on unmanagedmulticapturethreshold 0 networkinterface allinterfaces
-service "Compressor Processing" on instances 1 autorestart off unmanaged on
-service "Rendering" on instances 1 autorestart off unmanaged on
[g5:/usr/sbin] richardbf%

Escribiendo qmasterprefs -help puedes acceder a la ayuda.

Para comprobar que tus cambios han sido guardados escribe:

qmaster -list

Ahora reinicia Qmaster escribiendo:

qmasterprefs -restart

... Ahora vuelve a Compressor y ponlo a prueba para ver si el error reaparece.



1 comment:

Adrià Marcet Rovira said...

Hola,
veo que tu post está muy bien definido y trabajado. Ya me lo sé de memoria porque estoy intentando hacer funcinar el compressor y todavía no lo he conseguido. Alguna idea? He seguido los pasos de pies a cabeza y aún asi no funciona.

Socorro!.