Macnica Media Streaming SDK

SMPTE® ST 2110-compliant streaming software

Recently, the number of system devices for broadcasting stations using general-purpose IP networks has been increasing. In the future, the need for not only conventional SDI to IP converters (SDI over IP Gateway, etc.) but also broadcast operation systems (on-premise/cloud) based on All IP is expected to increase so Macnica is offering an early release of the Macnica Media Streaming SDK (M2S SDK), which enables the implementation of software-based SMPTE ST 2110 and AMWA NMOS IS-04/IS-05 compatible systems on general-purpose servers.


  • Compatible with SMPTE® ST 2110 standard and AMWA NMOS IS-04, IS-05
    • Supports Video (4K, 1080p, 1080i/50Hz, 59.94Hz/4:2:2/10bit), Audio (24bit/2-32ch), Ancillary
    • Compatible with ST 2110-22. JPEG-XS encoding and decoding will be supported by hardware processing or software processing using the CPU or GPU.
  • API provided with M2S SDK.
    • Control by API is possible. Basic processing of ST 2110 such as IP packet generation and analysis, hitless protection, etc. is performed inside M2S, allowing customers to focus on video, audio, and ancillary raw data processing and application development.
  • Support for Multiple NICs
    • APIs can be used across NICs
  • Supports PTP control via Hardware Timestamp on NICs
  • GPU Support
    • When used with a GPU, the GPU performs the most demanding processing to reduce the CPU load.
  • Supports Linux OS (Ubuntu)
    • Windows will be supported.
  • ST 2110 plug-in for GStreamer supporting M2S is provided.
    • By connecting GStreamer elements, it is possible to input and display video and audio, and send compressed content via ST 2110.
    • Input to OBS Studio is possible by connecting to v4l2 element.

*NIC: Network Interface Card

*M2S: Macnica Media Streaming

Software Structure

Software Structure of M2S-SDK


Media Data Flow

Media data flow


CPU Affinity

  • M2S Core library can set CPU affinity. CPU affinity allows threads in the M2S Core library to be bound to a particular CPU core.

CPU Affinity


GStreamer Plug-in for M2S

GStreamer Plugin for M2S

  • Sender Element
    • Video : m2svideosink
    • Audio : m2saudiosink
  • Receiver Element
    • Video : m2svideosrc
    • Audio : m2saudiosrc
    • Multi View : m2smvsrc (Rev 2.0)




  • SMPTE® Profile
    • ST 2059-1/2
    • ST 2022-7
    • ST 2110-10
    • ST 2110-20
    • ST 2110-21
    • ST 2110-22
    • ST 2110-30
    • ST 2110-40
  • NMOS Profile
    • IS-04 v1.3
    • IS-05 v1.1
  • Ethernet Interface
    • 100 GbE x 2  ※ Capable of transmitting and receiving up to 8 4K Video streams. However, depending on the configuration of the equipment, there may be limitations.


[Linux] Supported Specification by Rev.2.0 & 2.1

[Linux] Supported Specification by Rev.2.0 &2.1


Application examples

Application example 1Application example 2