Macnica Media Streaming SDK (M2S SDK)


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. Macnica offers Macnica Media Streaming SDK (M2S SDK), which enables implementation of software-based SMPTE ST2110 and AMWA NMOS IS-04/IS-05 compatible systems on general-purpose servers.


  • Compatible with SMPTE® ST2110 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 ST2110-22. JPEG-XS encoding and decoding will be supported by hardware processing or software processing using CPU or GPU.
  • API will be provided with M2S SDK.
    • Control by API is possible. Basic processing of ST2110 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.
  • ST2110 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 ST2110.
    • 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 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


For more information: