Il est possible d'intégrer le dépôt Multimédia avec des systèmes d'imagerie tiers. Au lieu de spécifier un emplacement sur le serveur comme Valeur de l'entrée de Registre ServerMediaPath, on utilise l'extension exec pour exécuter un programme côté serveur. Par exemple :
System|Path|ServerMediaPath|exec imagehandler
indique qu'un programme appelé imagehandler situé sur le serveur EMu doit être utilisé pour traiter toutes les demandes multimédia. Le programme doit gérer cinq types de services :
 get - récupérer un fichier
get - récupérer un fichier
                                            Arguments :
get filepathValeur de retour si l'opération échoue :
Status: failedValeur de retour si l'opération réussie :
Status: successpathtofile
Le service get est utilisé pour récupérer un fichier dans un magasin d'images tiers. L'argument filepath est le composant répertoire généré pour le NEI de l'enregistrement multimédia, auquel est ajouté filename. filepath est la ressource à récupérer. Pour répondre à cette demande, le programme doit extraire la ressource de sa zone de stockage et la copier dans un emplacement du système de fichiers Unix (normalement /tmp). Le chemin complet du fichier temporaire doit être fourni comme valeur de retour pathtofile. EMu va alors copier le fichier sur la machine client et supprimer le fichier temporaire du serveur.
Il est important de s'assurer qu'un chemin d'accès à l'image originale n'est pas transmis, car EMu essaiera de le supprimer après avoir copié le fichier sur le client.
 save - stocker un fichier
save - stocker un fichier
                                            Arguments :
save filepath tmppathValeur de retour si l'opération échoue :
Status: failedValeur de retour si l'opération réussie :
Status: successLe service save est utilisé pour enregistrer un fichier dans le magasin d'images d'un tiers. L'argument filepath est le nom de ressource généré composé du NEI multimédia et de filename. L'argument tmppath est un chemin vers le fichier à sauvegarder. Le fichier tmppath est stocké sur le serveur EMu (normalement dans /tmp). Une fois que l'image a été copiée dans la zone de stockage tierce, le fichier tmppath doit être supprimé, car EMu ne le supprime pas une fois la sauvegarde terminée.
 list - lister tous les fichiers pour un Numéro d'Enregistrement Interne correspondant à un enregistrement multimédia donné
list - lister tous les fichiers pour un Numéro d'Enregistrement Interne correspondant à un enregistrement multimédia donné
                                            Arguments :
list folderValeur de retour si l'opération échoue :
Status: failedValeur de retour si l'opération réussie :
Status: successfile1file2...Le service list permet de lister tous les fichiers associés à un NEI d'enregistrement multimédia donné. L'argument folder est le nom du chemin généré pour un NEI multimédia donné. Par exemple, NEI 12010 donnerait un folder 12/010. Il est nécessaire de dresser une liste de tous les fichiers associés à ce folder (ou NEI). Les fichiers sont renvoyés un par ligne dans la section des données du message de retour.
 ping - obtenir la taille et modifier l'heure pour un fichier
ping - obtenir la taille et modifier l'heure pour un fichier
                                            Arguments :
ping filepathValeur de retour si l'opération échoue :
Status: failedValeur de retour si l'opération réussie :
Status: successLast-modified: unxitimeContent-Length: filesizeinbytesL'opération ping est utilisée pour obtenir la taille et l'heure de modification d'un fichier. L'argument filepath est le chemin d'accès au fichier dont on souhaite obtenir les informations. La valeur unixtime retournée correspond à la dernière heure de modification du fichier en secondes depuis le premier janvier 1970. La valeur filesizeinbytes est la taille du fichier en bits.
 remove - supprimer un fichier
remove - supprimer un fichier
                                            Arguments :
remove filepathValeur de retour si l'opération échoue :
Status: failedValeur de retour si l'opération réussie :
Status: successL'opération remove est utilisée pour supprimer un fichier dans un système externe de sauvegarde. L'argument filepath est le chemin d'accès au fichier à supprimer.
Lorsque le programme est appelé sur le serveur, l'opération demandée est saisit comme premier argument (c.-à-d. get, save, list, ping ou remove). Le programme renvoie ensuite un statut pour indiquer si l'opération est réussie. Le statut de l'information principale en texte est retourné par le programme. Un exemple de valeurs retournées par un programme :
Status: success (header section)/tmp/filename (data section)Chaque retour d'information consiste en une section principale et une section de données optionnelles.
La plupart des services sont appelés avec un filepath comme argument. Le filepath est la partie du chemin de répertoire qui est calculée à partir du NEI de l'enregistrement multimédia avec le filename ajouté. Ainsi, si nous avons un fichier file.jpg qui est associé à l'enregistrement multimédia NEI 12010, le filepath serait 12/010/file.jpg.

