Plugin Specification and Protocol files
Find a file
2026-06-21 10:52:42 +02:00
.gitignore initial checkin 2025-04-24 20:19:52 +02:00
metadata.proto feat: new optional year for IdentifyRequest 2026-06-21 10:52:42 +02:00
README.md initial checkin 2025-04-24 20:19:52 +02:00

Marty Media Server Plugins

General

We use gRPC as a language-independent way to implement plugins for Marty Media Server.

Getting Started

  1. Choose the kind of Plugin (e.g. Metadata).
  2. Generate the Code based on the .proto file. Each kind of plugin has its own definition file. Use only the file that you need for your kind of plugin.
  3. Implement the service methods (see more details depending on the kind of plugin).
  4. Run your plugin and register it within the Administration section of your Marty Media Server.

Metadata Plugin

A Metadata plugin provides additional information for media items of a server (e.g., a short description of a movie).

The following methods are supported:

Welcome

You get called once for each server instance during the start of the server or directly after registration of the plugin. This message is to exchange initial information (e.g. for which media types you provide metadata: e.g. only movies or also shows and episodes).

Identify

You get called every time a new media item is found. You get also called for each media item if you enable the plugin and there exists already media items in the server.

Return a list of possible metadata entries. If the identification is executed through the Web UI, multiple entries are shown so that the library administrator. The administrator can then choose the correct entry. The identification is also directly executed after a new media item is found by the server. In this case the first entry of the list is used.

Return only fields if you have additional information to provide and keep the rest empty. This avoids conflicts between multiple Metadata Plugins.

Fetch

You get called periodically for existing media items. You can check, if the metadata has changed and provide the latest state of the information.