Sign inSign up

arkonatechnologies/blade-master

By arkonatechnologies

Updated about 2 years ago

BLADE//master software, ember+ service for BLADE//runner

Image
API management
0

876

arkonatechnologies/blade-master repository overview

Blade//Master

Welcome to the Blade//Master application! This application translates the AT300/C100 API into an ember+ tree. The Blade//Master can run on a server or on the Blade. To start the Blade//Master on the blade you only simple enable the /system/service/ember flag via the advanced UI. A default setup will be shown in the embertree. If you like to have a special settings you can copy a file on the Blade under /config/ember/config_general.json. The available settings are listed bellow. To run the Blade//Master external on a server/PC. See bellow.

The configuration file contains.

{
    "server_port" : 9000,
    "ui_port" : 5000,
    "fast_routing":false,
    "global_matrix_destination":
    {
        "instances":"created",
        "path": "rx-end",
        "exclude": ["HEAD", "SIGNAL"]
    },
    "global_matrix_essence":
    {
        "instances":"created",
        "path": "tx-end",
        "exclude": ["HEAD"]
    },
    "panels" :[{
        "vendor": "BFE",
        "typ":"29",
        "filename":"panel_configuration.json",
        "ip_port":"172.16.39.122:2006",
        "layout":{
        }
    }],
    "machines" :[
    {
        "blade": "http://xxx.xxx.xxx.xxx",
        "name": "Blade-name",  
        "audio_matrix":[
        {
            "inputs": ["SDI"],
            "max_input_channels":"16",
            "max_output_channels":"17"
        },
        {
            "index": 1,
            "inputs": ["SRC", "RTP"],
            "max_input_channels":"16",
            "max_output_channels":"16"
        }],
        "blade_audio_matrix":[
        {
            "name": "Blade_Default_Matrix",
            "outputs": ["SHUFFLER", "MONO_DELAY"],
            "inputs": ["RTP"],
            "max_input_channels":"16",
            "max_output_channels":"16"
        }],
        "blade_video_matrix": [
        {
            "name": "Blade_Video_Matrix",
            "outputs": ["SDI", "TX", "SPLITTER", "REPLAY","CC", "MERGER", "MIXER"]
            "inputs": ["SDI", "VSG", "RTP", "SPLITTER", "REPLAY","CC", "MERGER", "MIXER"]
        }],
        "excludes":[
            {"sys_name":"audio_source_slices"},
            {"sys_name":"peak_meter"}
        ],
        "subtrees":[
            {"id":"AudioRePlay::Audio", "kw":"all", "ua_name":"RePlay"},
            {"id":"VideoRePlay::Video", "kw":"all", "ua_name":"RePlay"},
            {"id":"AudioMixer::Monos", "kw":"all"},
            {"id":"AudioMixer::Stereos", "kw":"all"},
            {"id":"AudioMixer::Downmixes", "kw":"all"},
            {"id":"VideoMixer::BSLK", "kw":"all"},
            {"id":"AudioEngine::NMinus1", "kw":"all"},
            {"id":"AudioEngine::MonoMix", "kw":"all"},
            {"id":"AudioEngine::StereoMix", "kw":"all"},
            {"id":"AudioEngine::InputTrim", "kw":"all"},
            {"id":"ColorCorrection::CC1D", "kw":"all"},
            {"id":"ColorCorrection::CC3D", "kw":"all"},
            {"id":"Splitter::SP", "kw":"all"},
            {"id":"RTPReceiver::Session", "kw":"all"},
            {"id":"RTPReceiver::VideoReceiver", "kw":"all"},
            {"id":"RTPTransmitter::Session", "kw":"all"},
            {"id":"RTPTransmitter::VideoStreamer", "kw":"all"},
            {"id":"IOModule::Input", "kw":"all"},
            {"id":"IOModule::Output", "kw":"all"},
            {"id":"IOModule::Merger", "kw":"all"},
            {"id":"IOModule::BncMode", "kw":"all"},
            {"id":"IOModule::Configuration", "kw":"all"},
            {"id":"VideoSignalGenerator::VSG", "kw":"all"},
            {"id":"AudioShuffler::Shuffler", "kw":"all"},
            {"id":"AudioGain::Levels", "kw":"all"}
        ]
    }]
}
  • server_port: Distinction between different Blade//Master instances running on the same server.
  • ui_port: optional. Communication port to a possible UI control.
  • fast_routing: This should currently be set to false. It is in an experimental state and is intended to provide faster routing.
  • global_matrix_destination: Criteria for the target side of a matrix instance.
    • instances: Could be created or all
      • created: Shows only the instantiated targets
      • all: Shows all possible targets
    • path: Currently only rx-sdi-linear is possible
      • rx-sdi-linear: The number of destinations depends on the available rx-streams or sdi outputs
      • rx-end: The number of destinations depends on the available rx-streams
    • exclude: exclude all targets that has a match any of the strings in the list.
  • global_matrix_essence: Criteria of the source side of a matrix
    • instances: Could be created or all
      • created: Shows only the instantiated targets
      • all: Shows all possible targets
    • path: Currently only rsdi-tx-linear is possible
      • sdi-tx-linear: The number of sources depends on the available tx-streams or sdi inputs
      • tx-end: The number of sources depends on the available tx-streams
    • exclude: exclude all targets that has a match any of the strings in the list.
  • machines: Blade//Master can control multiple machines with one running instance by adding multiple blocks to the array. E.g [{...}, {....}]
    • blade: URL of the machine e.g. http://192.100.100.100
    • name: Name of the machine displayed in the tree
    • audio_matrix: Creates audio matrices based on the instances of the shuffler
      • name: The name of the matrix displayed in the ember tree
      • index: The tag:"index" is optional: With the tag, it is an explicit setting for a shuffler. Without the tag, the setting is the default and is used for shufflers that do not have an explicit setting.
      • inputs: The input tag is used as a filter to restrict the inputs for the matrix.
        Possible filters are:
        • sdi: sdi inputs
        • madi: madi inputs
        • src: sample rate converter
        • gain: audio gain
        • asg_genlock0_48: audio signal generator genlock(0) 48000Hz
        • asg_genlock1_48: audio signal generator genlock(1) 48000Hz
        • asg_genlock2_48: audio signal generator genlock(2) 48000Hz
        • asg_genlock0_96: audio signal generator genlock(0) 96000Hz
        • asg_genlock1_96: audio signal generator genlock(1) 96000Hz
        • asg_genlock2_96: audio signal generator genlock(2) 96000Hz
        • downmix: audio engine downmix
        • inputtrim: audio engine input trim
        • midside: audio engine mid side
        • mono: audio engine mono mixer
        • stereo: audio engine stereo mixer
        • nminus1: audio engine n-minus1 mixer
        • alsa: alsa
        • replay: video and audio player/delay
      • max_input_channels: Defines the number of channels per input used to map it to the matrix.
      • max_output_channels: Defines the number of channels per output used to map it to the matrix.
    • blade_audio_matrix: Creates audio matrices based on all instances
      • name: The name of the matrix as displayed in the ember tree
      • indices: The tag:"indices" is optional: With the tag, it is an explicit setting to include shufflers. Wi thout the tag, the setting is the default and is used for shufflers that do not have an explicit include.
      • outputs: The output tag is used as a filter to restrict the outputs for the matrix. See above
      • inputs: The input tag is used as a filter to restrict the inputs for the matrix. See above
      • max_input_channels: Defines the number of channels per input used to map it to the matrix.
      • max_output_channels: Defines the number of channels per output used to map it to the matrix.
    • blade_video_matrix: Creates video matrices based on all instances
      • name: The name of the matrix as displayed in the ember tree
      • inputs: The input tag is used as a filter to restrict the inputs for the matrix.
      • "SDI", "VSG", "RTP", "SPLITTER", "REPLAY","CC", "MERGER" Possible filters are:
        • sdi: sdi inputs
        • vsg: Video signal generator
        • rtp: video receiver
        • splitter: splitter
        • replay: video delay and player
        • cc: color correction
        • merger: active merger
        • mixer: active mixer
    • excludes: Does not display keywords with the name e.g. peak_meter in the ember tree
    • subtrees Only the subtree named id:VideoMixer::BSLK is shown in the ember tree all other subtrees are skipped

During the startup phase, the Blade/Master searches the Schema.json file for the Subtree IDs specified in the Config file and makes them available to the Ember Consumer.
After the startup phase, the Blade/Master dynamically adapts the Ember tree. As new instances are added, they are automatically propagated to the tree. If instances are deleted, the node in the Ember tree is set to 'offline'.
The path distribution in the Ember tree is chosen so that dynamic changes in the tree do not move existing node points. This means that references to Ember parameters made in the control system will always remain valid.



The Blade/Master is available as a Docker and can be downloaded using docker pull arkonatechnologies/blade-master:beta-1.0.10. The application can currently still be started with docker run -d -v ./config_your_config.json:/usr/src/app/config_less.json --network=host --name=BladeMaster docker.io/arkonatechnologies/blade-master:beta-1.0.10

Tag summary

Content type

Image

Digest

sha256:0020874fe

Size

118.7 MB

Last updated

about 2 years ago

docker pull arkonatechnologies/blade-master:beta-1.0.10