# Media Object Server

The Media Object Server (MOS) protocol allows newsroom computer systems (NRCS) to communicate using a standard protocol with video servers, audio servers, still stores, and character generators for broadcast production.
The MOS protocol is based on XML. It enables the exchange of the following types of messages:

## Descriptive Data for Media Objects.

    The MOS "pushes" descriptive information and pointers to the NRCS as objects are created, modified, or deleted in the MOS. This allows the NRCS to be "aware" of the contents of the MOS and enables the NRCS to perform searches on and manipulate the data the MOS has sent.

## Playlist Exchange.

    The NRCS can build and transfer playlist information to the MOS. This allows the NRCS to control the sequence that media objects are played or presented by the MOS.

## Status Exchange.

    The MOS can inform the NRCS of the status of specific clips or the MOS system in general. The NRCS can notify the MOS of the status of specific playlist items or running orders.
MOS was developed to reduce the need for the development of device specific drivers. By allowing developers to embed functionality and handle events, vendors were relieved of the burden of developing device drivers. It was left to the manufacturers to interface newsroom computer systems. This approach affords broadcasters flexibility to purchase equipment from multiple vendors. It also limits the need to have operators in multiple locations throughout the studio as, for example, multiple character generators (CG) can be fired from a single control workstation, without needing an operator at each CG console.
MOS enables journalists to see, use, and control media devices inside Associated Press's ENPS system so that individual pieces of newsroom production technology speak a common XML-based language.

## History of MOS

The first meeting of the MOS protocol development group occurred at the Associated Press ENPS developer's conference in Orlando, Florida in 1998. The fundamental concepts of MOS were released to the public domain at that conference.
As an open protocol, the MOS Development Group encourages the participation of broadcast equipment vendors and their customers. More than 100 companies are said to work with AP on MOS-related projects. Compatible hardware and software includes video editing, storage and management; automation; machine control; prompters; character generators; audio editing, store and management; web publishing, interactive TV, field transmission and graphics.
Current development is happening on two tracks: a socket-based version, and a web service version. The current official versions of the MOS protocol, as of January 2011, are 2.8.4 (sockets) and 3.8.4 (web service).
In 2016 proposals began to introduce IP Video support in the MOS protocol. This proposal allows representations of live IP Video sources such as NDI (Network Device Interface) to be included as MOS objects alongside MOS objects representing files to be played off disk
There is also a Java based implementation called jmos that is currently compatible with MOS specification 2.8.2.
An open source TypeScript (dialect of JavaScript) MOS connector and MOS Gateway is being actively developed by the Norwegian state broadcaster NRK, as part of their open-source Sofie broadcast automation software initiative.
An open source Python library and command line tool called mosromgr was developed by the BBC. The mosromgr library provides functionality for classifying MOS file types, processing and inspecting MOS message files, as well as merging a batch of MOS files into a complete running order.
In 2017 the National Academy of Television Arts and Sciences awarded an Emmy to the MOS Group for "Development and Standardization of Media Object Server (MOS) Protocol."